(Redundant Array of Inexpensive Disks)
- 여러 디스크를 한 디스크처럼 사용하도록 함으로써 비용을 절감하면서도 신뢰성을 높이고, 또한 성
능을 향상시키기 위한 저장 장치를 의미
종류
- 하드웨어 RAID : 안정적, 제조업체로부터 기술 지원이 가능 가격이 비쌈
- 소프트웨어 RAID : 운영체제에서 지원하는 방식으로 RAID구성하는 방법
하드웨어 방식에 비해 신뢰성, 속도 등이 떨어짐 반면, 저렴한 비용으로 좀더 안전한 데이터
의 저장이 가능
RAID레벨
0~5, 6개로 분류
주로 RAID0, 1,5와 RAID5의 변형인 5+1, 6 그리고 RAID0과 1의 혼합인 RAID0+1, RAID10을
많이 사용
raid 타입으로 fd코드를 줘서 생성한다.
/dev/sdc도 마찬가지로 파티션생성
=====================================================================
1. 먼저 기존의 /dev/md* 파일이 있는지 확인한다.
2. mknod로 md0를 생성(b : block device, 9 : md장치의 주번호, 0 : 0번째 장치를 의미)
3.raid0을 mdadm으로 생성
4. mdadm –D --scan으로 확인
5. md0을 ext3로 포맷
6. /proc/mdstat 을 확인
=====================================================================
/etc/mdadm.conf 파일이 없으므로, 생성해줘야한다. redirection으로
그 다음 재부팅한다.
=====================================================================
재부팅시 올라오는 md0가 올라오는 것을 확인
=====================================================================
부팅이 된 후 md0을 다시 확인한 후 mount해준다.
=====================================================================
부팅시 자동으로 md0을 마운트되게 하려면 /etc/fstab을 수정한다.
=====================================================================
- RAID1은 mirror방식으로 데이터를 저장할 때 두 디스크에 똑같이 저장되는 것이다.
만약 12Byte를 저장하면 그 두배인 24Byte가 소요된다. 즉 두배의 용량이 소모된다.
두 디스크 중 하나가 고장나도 데이터는 손상되지 않는다 (Fault-tolerance: 고장감내)
파티션생성 역시 fd코드로 생성
다른 /dev/sdc 장치도 마찬가지로 생성한다.
=====================================================================
두번째 RAID 장치이므로 "mknod /dev/md1 b 9 1 로 해준다.
나머진 앞의 설명과 겹침으로 생략
=====================================================================
/etc/mdadm.conf에 md1의 값을 저장 시켜준다.
파일을 보면 좀 전에 저장했던 md0의 값과 md1의 값을 확인할 수 있다.
mdadm.conf파일이 없음 재부팅시 md 장치가 안 올라온다.
재부팅한다
=====================================================================
부팅 시 md1이 올라왔는지 확인한다.
=====================================================================
mdadm –D(detail) --scan으로 확인
=====================================================================
마운트 시킨 후 확인한다.
=====================================================================
부팅 때마다 /dev/md1 장치를 자동 마운트시키려면 /etc/fstab을 수정
=====================================================================
- 최소 구성이 3(데이타)+1(패리티) : 실제 사용가능한 디스크 3개 전체용량의 75%사용가능
/dev/sdf /dev/sdg /dev/sdh 3개의 디스크로 구성한다.
=====================================================================
mknod /dev/md5 b 9 5로 생성
나머진 위의 다른 Raid방식과 같으니 생략
=====================================================================
/etc/mdadm.conf에 /dev/md5장치 정보 추가 저장
=====================================================================
재부팅 시 md5장치 확인
부팅 후 /dev/md5마운트
=====================================================================
마운트 확인
부팅 시마다 자동 마운트하려면 /etc/fstab 수정
=====================================================================
- 2개의 패리티 사용(2개의 디스크고장 시 복구 가능)
RAID5보다 공간효율 낮음.
- 구축시에 앞서 앞서 했던 RAID디스크를 제거하거나 Vmware의 스냅샷을 이용해 되돌린다.
파티션 잡는다. 다른 디스크(/dev/sdb ~ h)도 같은 방법으로 한다.
=====================================================================
mknod /dev/md6 b 9 6으로 해줌.
=====================================================================
/etc/mdadm.conf 파일에 /dev/md6의 정보를 저장 후 재부팅한다.
=====================================================================
정상적으로 /dev/md6 7개의 드라이브와 올라온 것을 확인할 수 있다.
=====================================================================
다 정상이다.
마운트해준 후 확인한다.
=====================================================================
부팅 시 자동 마운트되게 하려면 역시 /etc/fstab파일 수정
=====================================================================
RAID6 2개의 디스크 고장 시 데이터가 망가지지 않는 지 확인 해보자
마운트된 디렉토리에 파일하나를 생성한다.
=====================================================================
"Edit virtual machine settings"을 이용해 현재 disk3(SCSI 0:2)과 disk5(SCSI 0:4)를 제거한 상태다.
=====================================================================
디스크 2개가 고장(제거)났지만,
데이터가 그대로 있는 것을 확인할 수 있다.
=====================================================================
공통점
- 용량이 같다.
- 속도가 같다
차이점
- 기술적으로 RAID10이 복잡 반면 RAID0+1은 단순
- RAID10 안정성 높음 / RAID0+1 상대적으로 낮음.
두 방식은 RAID0 과 1의 조합으로 이루어진다는 것에는 차이가 없다.
즉 속도와 안정성을 합쳐둔 것
RAID0+1
- RAID0을 먼저 구성한 다음 RAID1으로 미러링을 하는 구조
출처: http://www.raids.co.uk/raid_images/
RAID10
RAID1로 구성한 것을 RAID0으로 묶는 구조
< 안정성의 차이 >
RAID0+1에서 RAID1[RAID0[1,2,3,4,5], RAID0[6,7,8,9,10]] 중 1번 디스크가 고장난다면
RAID0은 하나라도 문제가 생기면 전체가 중지되기 때문에 꺠진다.
반면에 RAID10은 RAID0[RAID1[1,2], RAID1[3,4], RAID1[5,6], RAID1[7,8], RAID1[9,10]]
에서 1번 디스크가 고장나면 RAID1[1,2]가 RAID1(mirroring)이기 때문에 동시에 문제가
생기지 않는한 중지되지 않는다.
따라서, RAID10이 확률적으로 훨씬 안정적임.
< 복구의 차이 >
RAID0+1의 경우 A1 디스크가 고장난 경우 A1 디스크를 교체 후에 REBUILD를 하게 되면 오른쪽RAID0에서 왼쪽 RAID0으로 통째로 복사하게 된다.
RAID10의 경우 A1 디스크가 깨진 경우 교체 후 REBUILD를 하면 오른쪽A1 디스크에서 A1 디스크로 복사하게된다. 시간이 엄청 단축된다.
참고 : 뇌를 자극하는 Redhat Fedora, 한빛미디어