1. RAID란?
RAID(Redundant Array of Independent[또는 inexpensive] Disks)는 여러 대의 하드디스크가 있을 때
동일한 데이터를 다른 위치에 중복해서 저장하는 방법이다. 데이터를 여러 대의 디스크에 저장하여
입출력 작업이 균형을 이루게 되어 전체적인 성능을 향상시킨다. 운영체제에서 하나의 RAID는 논리적
으로 하나의 디스크로 인식하여 처리된다. 현재 RAID는 데이터를 기록하는 방식과 에러를 체크하는
패리티(Parity)를 사용 등 구성방법에 따라 다양한 형태로 존재한다.
2. RAID의 이용
초기의 RAID는 저용량 하드디스크를 하나의 디스크로 확장하여 사용하는 것이 주류였으나 현재는 백
업을 가능하게 하고 안정적인 데이터의 보존과 유지기능도 한다. 또한 구성방법도 소프트웨어적 구현
과 하드웨어적 구현 등 다양한 방법으로 가능하다. 소프트웨어 RAID는 비용적인 측면에서 유리하나
보다 나은 성능을 위해서는 하드웨어 RAID가 좋다. 하드웨어 수준의 RAID에서 주목할 만한 기능은
전원이 켜있는 상태에서 하드드라이브를 교체할 수 있는 핫스왑(Hot Swap) 베이(Bay)가 있다.
3. RAID에서 사용하는 기술
(1) 스트라이핑(Striping): 스트라이핑기술은 연속된 데이터를 여러 개의 디스크에 라운드로빈방식
으로 기록하는 기술이다 .이 기술은 프로세서가 하나의 디스크에서 읽어
들이는 것보다 더 빠르게 데이터를 읽거나 쓸 수 있다면 매우 유용하다.
즉, 서로 겹쳐서 읽거나 쓸 수 있도록 설계된 네 개의 드라이브가 있을
경우, 보통 하나의 섹터를 읽을 수 있는 시간에 네 개의 섹터를 동시에
읽을 수 있다.
(2) 미러링(mirroring): 디스크에 에러가 발생할 경우를 대비하여 데이터의 손실을 막기위해, 데이
터를 하나 이상의 장치에 중복 저장하는 기술이다. 이 기법은 하드웨어 또는
소프트웨어 두가지 방법, 모두 구현될 수 있다.
4. RAID의 종류
(1) RAID-0
1) 설명: 스트라이핑기술을 사용하여 빠른 입출력 속도를 제공한다. 데이터를 패리티없이 디스크
에 분산하여 기록한다. 처리속도는 빠르나 데이터복구 능력이 없다.
2) 그림
(2) RAID-1
1) 설명: 미러링기술을 사용하여 두 개의 디스크에 데이터를 동일하게 기록한다. 스트라이프는
사용하지 않으며, 각 드라이브를 동시에 읽을 수 있어 읽기 성능은 향상되나 쓰기 성능은
단일 디스크 드라이브와 같다. 데이터 복구 능력이 탁월하다.
2) 그림
(3) RAID-2
1) 설명: 디스크들간의 스트라이프를 사용하며, 몇몇 디스크들은 에러를 감지하고 수정하는 ECC
정보를 가지고 있다.
2) 그림
(4) RAID-3
1) 설명: 스트라이프를 사용하며 패리티정보를 저장하기 위해 별도로 하나의 드라이브를 사용한
다. 입출력작업이 동시에 모든 드라이브에 대해 이루어지므로 입출력을 겹치게 할 수
없다. 대형 레코드가 많은 곳에 적합하다.
2) 그림
(5) RAID-4
1) 설명: 블록형태의 스트라이프를 사용하며, 이는 어떤 단일 드라이브로부터 레코드를 읽을 수
있다. 데이터를 읽을 때 중첩 입출력의 장점을 취할 수 있다. 쓰기시에는 패리티를 연산
해야 하고, 패리티 디스크에 저장해야 하기 때문에 입출력의 중첩이 불가능하고 시스템에
서 병목현상이 일어날 수 있다.
2) 그림
(6) RAID-5
1) 설명: 별도의 패리티 디스크 없이 회전식 패리티 어레이 분산하여 기록하지만 데이터를 중복
저장하지는 않는 방법으로 일반적으로 많이 사용된다. 디스크에 쓰기 제한 주소를 지정
하므로 모든 읽기/쓰기가 중첩될 수 있다. 작고 랜덤한 입출력이 많은 경우 더 나은 성능
을 제공한다. 드라이브의 개수는 최소 3개로 구성하면 보통 5개 이상의 드라이브를 사용
한다.
2) 그림
(7) RAID-6
1) 설명: 전체적인 구성은 RAID-5와 비슷하지만 드라이브들 간에 분포되어 있는 2차 패리티구성을
포함함으로써 매우 높은 고장대비 능력을 제공한다.
2) 그림
(8) RAID-7
1) 설명: 하드웨어 컨트롤러에 내장되어 있는 운영체제를 사용하여 속도가 빠른 버스를 통한 캐시,
독자적인 컴퓨터의 여러가지 특성을 포함하고 있다. 현재 하나의 업체만 이 시스템을
제공한다.
2) 그림
(9) RAID 0+1
1) 설명: RAID-0의 스트라이핑기술과 미러링기술을 동시에 구현한 방법이다.
2) 그림
(10) RAID-10
1) 설명: RAID-1의 미러링에 스트라이프 어레이를 별도로 제공한다.
2) 그림
(11) RAID-53
1) 설명: RAID-3 방식에 별도의 스트라이프 어레이를 제공한다.
2) 그림
5. 리눅스에서 RAID 구현하기
(1) 리눅스에서 지원하는 Software RAID 레벨
1) RAID-Linear: 간단히 여러개의 파티션을 하나로 묶는 역할을 한다. 성능의 개선이나 안정성은
제공되지 않는다.
2) RAID-0: RAID-Linear와 비슷하나 스트라이핑기술을 이용하여 처리속도가 빨라지는 속도향상이
있다. 그러나, 디스크의 오류에 대한 안정성은 제공되지 않는다.
3) RAID-1: 미러링기술을 이용하여 두 개 또는 그 이상의 디스크를 정확하게 복사본을 만들어
유지시킨다. 오류가 발생하면 복사해둔 이미지로 데이터를 복구하게 된다.
4) RAID-3: 패리티정보를 모아 별도의 디스크에 저장한다. 이 패리티정보를 이용하여 오류가 발생
한 디스크의 데이터를 복구한다. 안정성은 있으나 디스크의 성능이 다소 감소한다.
5) RAID-5: RAID-3과 비슷하게 패리티정보를 이용하나 디스크에 저장하지는 않는다. 안정성도 제
공하고 RAID-3에 비해 디스크의 성능저하가 일어나지 않는다.
(2) 리눅스에서 RAID 관련 예제 파일
1) 설명: 레드햇 9.0기준(RHEL 3.0포함)으로 /usr/share/doc/raidtools-1.00.3 디렉토리에 보면
각 레벨별로 예제파일이 존재한다.
2) 확인
[root@redhat9 raidtools-1.00.3]# ls
COPYING multipath.conf.sample raid1.conf.sample raid5.conf.sample
README raid0.conf.sample raid4.conf.sample raidtab.sample
=> 이 중에서 raidtab.sample 파일을 /etc/raidtab으로 복사한다.
3) 참고: RAID관련 파일 찾기
ㄱ. 설명: raid라는 이름은 외우기 쉽지만 /usr/share/doc/raidtools-1.00.3 과 같이 절대경로를
외우기는 쉽지 않다. 이러한 경우에는 외우지말고, rpm 질의를 통해 찾아내도록 한다.
ㄴ. 방법
a. raid라는 이름으로 패키지 정보 검색
[root@linux224 root]# rpm -qi raid
raid 패키지가 설치되어 있지 않습니다
=> 실제 설치가 되어 있지 않다고 생각하면 안된다. 꼭 raid라는 이름으로 패키지명이 되어
있지 않을 수도 있으면 문자열 검색을 한다.
b. raid라는 문자열로 패키지 검색
[root@linux224 root]# rpm -qa |grep raid
raidtools-1.00.3-7
=> 시스템에 설치된 raid관련 패키지이름이 raidtools임을 알 수 있다.
c. raidtools 라는 패키지명으로 정보 검색
[root@linux224 root]# rpm -qi raidtools
Name : raidtools Relocations: (not relocateable)
Version : 1.00.3 Vendor: Red Hat, Inc.
Release : 7 Build Date: 2003년 08월 26일 (화) 오후 06시 29분 35초
Install Date: 2004년 07월 12일 (월) 오후 07시 21분 21초 Build Host: bugs.devel.redhat.com
Group : 시스템 환경/기반 Source RPM: raidtools-1.00.3-7.src.rpm
Size : 430705 License: GPL
Signature : DSA/SHA1, 2003년 09월 25일 (목) 오전 02시 38분 54초, Key ID 219180cddb42a60e
Packager : Red Hat, Inc.
Summary : 소프트웨어 RAID 장치들을 작성하고 유지하는 도구.
Description :
The raidtools package includes the tools you need to set up and
maintain a software RAID device (using two or more disk drives in
combination for fault tolerance and improved performance) on a Linux
system. It only works with Linux 2.2 kernels and later, or with a 2.0
kernel specifically patched with newer RAID support.
=> 정보확인
d. raidtools가 설치한 파일 검색
[root@linux224 root]# rpm -ql raidtools
/sbin/arytst
/sbin/detect_multipath
/sbin/lsraid
/sbin/mkraid
...
(중략)
/usr/share/doc/raidtools-1.00.3
/usr/share/doc/raidtools-1.00.3/COPYING
/usr/share/doc/raidtools-1.00.3/README
/usr/share/doc/raidtools-1.00.3/multipath.conf.sample
/usr/share/doc/raidtools-1.00.3/raid0.conf.sample
/usr/share/doc/raidtools-1.00.3/raid1.conf.sample
/usr/share/doc/raidtools-1.00.3/raid4.conf.sample
/usr/share/doc/raidtools-1.00.3/raid5.conf.sample
/usr/share/doc/raidtools-1.00.3/raidtab.sample // 이 파일이다.
/usr/share/man
/usr/share/man/man5
(이하생략)
(3) 사용예1: RAID-0 구성하기
1) 조건: 여러 파티션을 하나로 디렉토리로 구성하거나 속도를 증가시키는 stripe 기술을
사용하는 S/W RAID-0을 구성한다. 두개의 파티션을 같은 크기로 분할하고, 이 두개의
파티션으로 첫번째 RAID 디바이스인 /dev/md0으로 설정하고, /data 디렉토리로 마운트
되도록 한다.
2) 방법
ㄱ. fdisk를 이용하여 두 개의 파티션을 생성하고 RAID 속성을 부여한다.
a. fdisk를 사용하여 2개의 partiton 생성(n)
예) /dev/hda8, /dev/hda9로 가정
b. 생성된 파티션의 속성 변경(t => fd)
예) [root@www root]# fdisk -l
Disk /dev/hda: 20.4 GB, 20411080704 bytes
255 heads, 63 sectors/track, 2481 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 64 514048+ 83 Linux
/dev/hda2 65 1339 10241437+ 83 Linux
/dev/hda3 1340 1721 3068415 83 Linux
/dev/hda4 1722 2481 6104700 f Win95 Ext'd (LBA)
/dev/hda5 1722 2103 3068383+ 83 Linux
/dev/hda6 2104 2230 1020096 83 Linux
/dev/hda7 2231 2263 265041 82 Linux swap
/dev/hda8 2264 2372 875511 fd Linux raid autodetect
/dev/hda9 2373 2481 875511 fd Linux raid autodetect
=> 참고로 fdisk를 이용하여 /dev/hda8, /dev/hda9를 생성하고 각각 약 800MB를 할당
하였다.
c. 재부팅: fdisk를 설정한 내용을 반영시키려면 재부팅하도록 한다.
ㄴ. /etc/raidtab 파일 생성하기
a. /usr/share/doc/raidtools-1.00.3 디렉토리에 있는 샘플파일을 복사한다.
cp /usr/share/doc/raidtools-1.00.3/raidtab.sample /etc/raidtab
b. /etc/raidtab 파일 편집하기
[root@www root]# vi /etc/raidtab
raiddev /dev/md0 // raid 디바이스명 지정
raid-level 0 // raid 레벨 지정
nr-raid-disks 2 // raid 갯수 지정
persistent-superblock 1 // 기본 세팅지정
chunk-size 4
device /dev/hda8 // 디바이스명
raid-disk 0 // raid 디스크 넘버로 0부터 설정
device /dev/hda9
raid-disk 1
ㄷ. raid device를 생성
[root@www root]# mkraid /dev/md0
handling MD device /dev/md0
analyzing super-block
disk 0: /dev/hda8, 875511kB, raid superblock at 875392kB
disk 1: /dev/hda9, 875511kB, raid superblock at 875392kB
ㄹ. raid를 작동시킨다.
[root@www root]# raidstart /dev/md0
=> 최근에는 mkraid시 raidstart가 자동적으로 이루어져 이 작업을 하지 않아도 된다.
ㅁ. 파일시스템을 생성한다.
[root@www root]# mkfs -t ext3 /dev/md0
=> mkfs.ext3, mke2fs 등의 명령을 사용해도 된다. 여기서는 전통적인 명령어 mkfs를 사용
하였다.
ㅂ. 사용하고자할 디렉토리 생성
[root@www root]# mkdir /data
ㅅ. 마운트
[root@www root]# mount -t ext3 /dev/md0 /data
ㅇ. 확인
a. mount 확인
[root@www root]# mount
/dev/hda6 on / type ext3 (rw)
none on /proc type proc (rw)
usbdevfs on /proc/bus/usb type usbdevfs (rw)
/dev/hda1 on /boot type ext3 (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/hda5 on /home type ext3 (rw)
none on /dev/shm type tmpfs (rw)
/dev/hda2 on /usr type ext3 (rw)
/dev/hda3 on /var type ext3 (rw)
/dev/md0 on /data type ext3 (rw) // 이 부분
b. raid 상태확인
[root@www root]# lsraid -p
[dev 9, 0] /dev/md0 F4E8064A.0479FB89.38521B8A.D8094A34 online
[dev 3, 8] /dev/hda8 F4E8064A.0479FB89.38521B8A.D8094A34 good
[dev 3, 9] /dev/hda9 F4E8064A.0479FB89.38521B8A.D8094A34 good
=> online이라는 의미는 현재활성화되어 있다는 얘기이고, good는 이상없다는 뜻이다.
c. 용량의 확인
[root@www root]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda6 981M 116M 816M 13% /
/dev/hda1 487M 14M 448M 3% /boot
/dev/hda5 2.9G 33M 2.8G 2% /home
none 62M 0 62M 0% /dev/shm
/dev/hda2 9.7G 4.5G 4.8G 49% /usr
/dev/hda3 2.9G 304M 2.5G 11% /var
/dev/md0 1.7G 33M 1.6G 3% /data
=> RAID-0으로 구현하였으므로 두 개의 파티션이 합쳐진 용량인 약 1.7G로 나타난다.
ㅈ. 참고: 부팅후에도 계속적으로 사용하려면 /etc/fstab에 등록시킨다.
예) /dev/md0 /data ext3 defaults 0 0
ㅊ. Raid 해제하기
a. 파일시스템을 언마운트한다.
umount /data
b. raid를 중지시킨다.
raidstop /dev/md0
c. fdisk로 파티션을 삭제하거나 재설정한다.
(4) 사용예2: RAID-1 구성하기
1) 조건: 두 개 파티션을 생성하고, 각각의 디스크에 모두 저장하는 밀러링(mirroring)기술을
사용하는 S/W RAID-1을 구성한다. 두개의 파티션을 같은 크기로 분할하고, 이 두개의
파티션으로 두번째 RAID 디바이스인 /dev/md1으로 설정하고, /data2 디렉토리로 마운트
되도록 한다. 참고로 기존의 /etc/raidtab에 구성한 설정은 그대로 두고 설정하도록 한다.
2) 방법
ㄱ. fdisk를 이용하여 두 개의 파티션을 생성하고 RAID 속성을 부여한다.
a. fdisk를 사용하여 2개의 partiton 생성(n)
예) /dev/hda10, /dev/hda11로 각각의 용량은 약 1G씩 설정하였다고 가정한다.
b. 생성된 파티션의 속성 변경(t => fd)
c. 재부팅: fdisk를 설정한 내용을 반영시키려면 재부팅하도록 한다.
ㄴ. /etc/raidtab 파일 편집하기
[root@www root]# vi /etc/raidtab
raiddev /dev/md1 // raid 디바이스명 지정
raid-level 1 // raid 레벨 지정
nr-raid-disks 2 // raid 갯수 지정
persistent-superblock 1 // 기본 세팅지정
chunk-size 4
device /dev/hda10 // 디바이스명
raid-disk 0 // raid 디스크 넘버로 0부터 설정
device /dev/hda11
raid-disk 1
ㄷ. raid device를 생성
[root@www root]# mkraid /dev/md1
ㄹ. 파일시스템을 생성한다.
[root@www root]# mke2fs -j /dev/md1
=> mkfs나 mkfs.ext3 대신에 mke2fs 명령을 사용하였다.
ㅁ. 사용하고자할 디렉토리 생성
[root@www root]# mkdir /data2
ㅂ. 마운트
[root@www root]# mount -t ext3 /dev/md1 /data1
ㅅ. 확인
a. mount 확인
[root@www root]# mount
/dev/hda6 on / type ext3 (rw)
none on /proc type proc (rw)
usbdevfs on /proc/bus/usb type usbdevfs (rw)
/dev/hda1 on /boot type ext3 (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/hda5 on /home type ext3 (rw)
none on /dev/shm type tmpfs (rw)
/dev/hda2 on /usr type ext3 (rw)
/dev/hda3 on /var type ext3 (rw)
/dev/md0 on /data type ext3 (rw)
/dev/md1 on /data type ext3 (rw) // 이 부분
b. raid 상태확인
[root@www root]# lsraid -p
c. 용량의 확인
[root@www root]# df -h
=> RAID-1으로 구현하였을 경우 두 개의 파티션이 각각 1GB씩 할당하였다고 하더라도
총 용량은 1GB로 보인다.
ㅇ. 부팅후에도 계속적으로 사용하려면 /etc/fstab에 등록시킨다.
예) /dev/md1 /data2 ext3 defaults 0 0
ㅈ. Raid 해제하기
a. 파일시스템을 언마운트한다.
umount /data2
b. raid를 중지시킨다.
raidstop -a
=> 모든 raid장치의 작동을 중지시킨다.
c. fdisk로 파티션을 삭제하거나 재설정한다.
ㅊ. 참고: RAID-1 정상적으로 작동하는지 테스트해보기
a. 임의의 파일을 /data2에 복사한다.
[root@www root]# cp /etc/passwd /data2
b. 마운트를 해제한다.
[root@www root]# umount /data2
c. RAID장치를 멈춘다.
[root@www root]# raidstop -a
d. RAID-1을 구성했던 두 개의 파티션을 각각 다른 디렉토리(예를 들면 /backup1, /backup2)
로 마운트하기 위하여 디렉토리를 생성한다.
[root@www root]# cd /
[root@www /]# mkdir backup1 backup2
e. /dev/hda10, /dev/hda11을 각각 /backup1, /backup2로 마운트한다.
[root@www /]# mount -t ext3 /dev/hda10 /backup1
[root@www /]# mount -t ext3 /dev/hda11 /backup2
f. /backup1과 /backup2의 내용을 확인한다.
[root@www /]# ls /backup1
lost+found passwd
[root@www /]# ls /backup2
lost+found passwd
(5) 관련명령어
1) mkraid
ㄱ. 설명: RAID 장치를 초기화하여 만들어주는 명령어이다.
ㄴ. 사용법
mkraid [option] 디바이스명
ㄷ. option
-R : 해당 장치를 강제로 초기화시킨다. 데이타가 있더라도 다 지우고 초기화시킨다. 보통
mkraid 작업 실패시 이 옵션을 사용하면 된다.
ㄹ. 사용예
a. mkraid /dev/md0
=> /dev/md0 이라는 RAID Device를 생성한다.
b. mkraid -R /dev/md0
=> /dev/md0 을 강제로 초기화시켜 생성한다.
2) raidstart & raidstop
ㄱ. 설명: RAID 장치를 작동시키는 명령어이다.
ㄴ. 사용법
raidstart [option] [디바이스명]
raidstop [option] [디바이스명]
ㄷ. option
-a: 환경설정파일에 설정한 모든 디바이스를 활성/비활성화 시킨다.
ㄹ. 사용예
a. raidstart /dev/md0
=> 첫번째 RAID 장치인 /dev/md0을 작동시킨다.
b. raidstop /dev/md0
=> 첫번째 RAID 장치인 /dev/md0을 중지시킨다.
c. [root@www root]# raidstop -a
/dev/md0: successfully stopped.
=> 환경설정파일에 설정된 모든 RAID장치의 작동을 중지시킨다. 물론 이 경우 해당 장치가
사용중이어서는 안된다. 미리 umount시켜야 한다.
d. [root@www root]# raidstart -a
=> 환경설정파일에 설정한 모든 RAID장치를 작동시킨다.
3) lsraid
ㄱ. 설명: RAID 장치의 리스트를 보여주는 명령어이다.
ㄴ. 사용법
lsraid option [디바이스명]
ㄷ. option : 대문자옵션을 기본적으로 사용해야 하면 만약 생략하면 array기반이다.
-A : Array 기반으로 리스트를 확인할 때 쓴다. 기본값으로 설정되어 있다.
-D : Disk 기반으로 리스트를 확인할 때 쓴다.
-R : /etc/raidtab 기반으로 리스트를 확인할 때 쓴다.
-p : RAID 장치를 찾아 출력해준다.
ㄹ. 사용예
a. [root@www root]# lsraid -A -p
[dev 9, 0] /dev/md0 F4E8064A.0479FB89.38521B8A.D8094A34 online
[dev 3, 8] /dev/hda8 F4E8064A.0479FB89.38521B8A.D8094A34 good
[dev 3, 9] /dev/hda9 F4E8064A.0479FB89.38521B8A.D8094A34 good
=> Array 기반으로 리스트를 보여준다. 디바이스명을 /dev/md0 라고 입력해도 되고 입력
하지 않으면 기본 장치를 찾아 보여준다.
b. [root@www root]# lsraid -D -p
=> Disk 기반으로 리스트를 보여준다.
c. [root@www root]# lsraid -R -p
=> /etc/raidtab의 내용을 출력해준다.
4) raidhotadd
ㄱ. 설명: Software RAID Array에서 하나의 디스크가 실패했을 경우 이것을 다른 디스크로 대체
시켜 주는 주는 명령이다.
ㄴ. 사용법
raidhotadd RAID장치 디스크장치
ㄷ. 사용예
raidhotadd /dev/md0 /dev/hda10
=> /dev/hda10 디스크를 /dev/md0 RAID Array로 만든다.
ㄹ. 참고 : 이 명령은 raidstart 명령에 심볼릭링크이며, 이 명령을 사용하기 전에 해당 파일시
스템을 언마운트하고 RAID 동작을 정지시킨 후에 해야 한다.
예) umount /data
raidstop /dev/md0
raidhotadd /dev/md0 /dev/hda10
raidstart /dev/md0
mount -t ext3 /dev/md0 /data
(6) /etc/raidtab 주요항목분석
1) raiddev /dev/mdx : RAID array 장치를 정의한다.
2) raid-level N : RAID level을 정의한다.
3) nr-raid-disks N : RAID 갯수를 정의한다.
4) persistent-superblock 1 : 이 값은 커널에서 RAID가 쉽게 찾아질 수 있도록 하는 설정이다.
값은 0 또는 1이 설정될 수 있으며, 1을 보통 자동으로 시작하도록
하는 설정이다.
5) chunk-size N : 레이드에 기록되는 사이즈를 정한다. 보통 kilobytes 단위이며, 커널설정
에 따라 차이는 있지만 최대 4M이다. 일반적으로 4k ~ 128k 로 설정한다.
6. RAID관련 오류 수정하기
(1) RAID 장치관련 로그분석
1) 설명: RAID 장치관련 로그는 /proc/mdstat에 기록된다. 여러가지 상태를 확인할 수 있다.
2) 사용예
[root@www root]# cat /proc/mdstat
Personalities :
read_ahead not set
Event: 0
unused devices:
=> 현재는 RAID를 사용하고 있지 않다.
(2) mkraid 사용시 오류1
1) 설명: 'mkraid /dev/md0' 이라고 명령을 내리면 간혹 오류가 나는 경우가 있다. 이 경우에 -R
옵션을 사용하면 오류를 무시하고 RAID 장치를 생성한다.
2) 사용예
mkraid -R /dev/md0
(3) mkraid 사용시 오류2
1) 설명: 'mkraid /dev/md0' 이라고 명령시 레이드로 구성하는 디바이스가 예전의 정보를 가지고
있는 경우 오류메시지를 발생하는 경우가 있다. 이 경우 해당 디바이스를 초기화한 뒤에
다시 생성하면 오류메시지를 없앨 수 있다.
2) 사용예
dd if=/dev/zero of=/dev/hda8
=> Raid로 구성하는 파티션이 /dev/hda8, /dev/hda9인 경우 위와 같이 초기화시킨 뒤에
mkraid 명령을 다시 내리도록 한다.
(4) /dev/md0 삭제시
1) 설명: RAID 장치의 작동을 중단시키려면 raidstop이라는 명령을 사용하면 된다. 그러나, 간혹
/dev/md0을 삭제하는 경우가 있다. 이 경우에는 이 디바이스 파일을 mknod 명령을 이용
하여 생성해야 한다.
2) mknod 명령의 사용법
mknod 디바이스명 타입 major_number minor_number
3) 방법
ㄱ. 같은 계열의 디바이스파일을 보고 major 넘버를 파악한다.
[root@www root]# ls -l /dev/md1
brw-rw---- 1 root disk 9, 1 9월 15 2003 /dev/md1
=> 블록장치이므로 타입은 b, major 넘버는 9, /dev/md1의 minor 넘버가 1이므로 /dev/md0
의 minor 넘버는 0이 된다.
ㄴ. 생성
[root@www root]# mknod /dev/md0 b 9 0
=> /dev/md0 이라는 디바이스파일을 생성하였다. 이 파일을 그대로 사용해도 되지만,
추가로 그룹소유권, 허가권도 동일하게 설정하여 사용하는 것이 좋다.
예) chmod 600 /dev/md0
chgrp disk /dev/md0
추가 정보
How to setup and manage your disk software mirroring
http://fedoranews.org/mediawiki/index. ··· irroring
