1. RAID 소개
가. RAID : Redundant Array of Independent Disk의 약자, 여러 개의 하드 디스크에
데이터를 나눠서 저장하는 기술, 복수 배열 독립 디스크라고도 불린다.
나. RAID 레벨
1) RAID 0 : 스트라이핑(Stripping) 방식, 여러 개의 하드 디스크에 동시에
저장되는 방식으로 구성 디스크 중 1개에 에러가 발생하면 데이터가 손실됨,
단, 속도는 빠르다
2) RAID 1 : 미러링(Mirroring) 방식, 데이터의 안전성을 최우선으로 하여,
같은 데이터를 중복보관한다. 최소 2개의 디스크 필요, 고비용, 저속도
3) RAID 5 : level 0과 level 1의 장점을 보완한 방식, 최소 3개 이상의 디스크 필요,
전체 디스크 용량의 75%정도만 사용가능하다. 에러 교정을 위한 패리티 정보를
각각의 디스크에 나눠 보관. 에러 발생 시 패리티 정보로 복구가 가능하다
4) RAID 0+1 : 먼저 디스크를 스트리핑(RAID 0) 하고, 다시 미러링(RAID 1) 하는 방식.
최소 4개 이상의 디스크 필요
5) RAID 10(RAID 1+0) : 먼저 디스크를 미러링(RAID 1) 하고 ,
다시 스트리핑(RAID 0)하는 방식, 최소 4개의 디스크 필요
다. RAID 0+1 과 RAID 1+0 비교
1) 공통점 : 가용량이 같다. 속도가 같다.
2) 차이점 : 볼륨이 깨지는 조건, 볼륨을 재구성하는 방법
3) 볼륨이 깨지는 조건
RAID 0+1 : 1번과 5번 디스크가 동시에 나갈 경우
RAID 1+0 : 1번과 2번 디스크가 동시에 나갈 경우
단, 확률적으로 1+0 보다 0+1 의 볼륨이 깨질 확률이 높아 1+0 방식의 안정성이 높음
4) 볼륨을 재구성 하는 방법
RAID 0+1 : 1번 디스크가 깨졌을 경우 2번 레이드의 내용을 1번 레이드에 통째로 복사
4개의 디스크 복사가 필요
RAID 1+0 : 1번 디스크가 깨졌을 경우 2번 디스크의 내용을 1번 디스크로 복사
1개의 디스크 복사가 필요
볼륨의 복구 시간을 고려했을 경우 RAID 1+0 방식이 더 유리
2. RAID 구성(RHEL 4, 소프트웨어 RAID구성)
가. RAID 0 구성
디스크 파티션 생성 -> 레이드 구성 -> 마운트 순으로 진행
1) 디스크 파티션 생성
2개 이상의 디스크 장착 후 파티션 생성(여기서는 2개로 구성)
# fdisk /dev/sdb
command 순서 : n -> p -> 1-> 엔터 -> 엔터 -> t -> fd -> w
디스크의 개수 만큼 위 작업을 반복함
2) 레이드 구성
/dev/md0 등의 md 장치가 구성 되어 있지 않을 경우 아래 명령을 실행
# ls -l /dev/md?
# mknod /dev/md0 b 9 0
# mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdb1 /dev/sdc1
--create /dev/md0 : 레이드 구성을 md0 으로 한다
--level : 레이드 레벨은 0 (스트리핑)으로 한다.
--raid-devices=2 /dev/sdb1 /dev/sdc1 : 2개의 디스크로 구성, 그 뒤는 장치명
# mdadm --detail --scan
방금 구성한 레이드의 구성정보를 확인
3) 마운트
구성한 레이드 md0 을 포멧한 후 마운트 한다.
# mkfs.ext3 /dev/md0
# mount /dev/md0 /raid0
나. RAID 1 구성
디스크 파티션 생성 -> 레이드 구성 -> 마운트 순으로 진행
RAID 0 구성과 과정은 동일하며 레이드 구성 시 옵션의 차이는 다음과 같다
# mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1
# mdadm --detail --scan
/dev/md1 에서 숫자 1은 레이드 레벨과는 아무 상관이 없으며, 아무 숫자나 사용가능
다만, 파악을 쉽게하기 위해 레이드 레벨과 같은 숫자로 지정한 경우이다.
다. RAID 5 구성
디스크 파티션 생성 -> 레이드 구성 -> 마운트 순으로 진행
RAID 0 구성과 과정은 동일하며 레이드 구성 시 옵션의 차이는 다음과 같다
# mdadm --create /dev/md5 --level=5 --raid-devices=2 /dev/sdb1 /dev/sdc1
# mdadm --detail --scan
/dev/md1 에서 숫자 5는 레이드 레벨과는 아무 상관이 없으며, 아무 숫자나 사용가능
다만, 파악을 쉽게하기 위해 레이드 레벨과 같은 숫자로 지정한 경우이다.
라. RAID 복구
고장난 디스크를 새 디스크로 교체 -> 파티션 생성 -> 레이드 구성순으로 진행
파티션 생성 부분은 레이드 구성 시와 동일하며, mdadm 옵션은 아래와 같음
# mdadm /dev/md1 --add /dev/sdb1
미러링 디스크 중 sdb1 디스크를 교체한 뒤 레이드를 재구성 하는 방법이다.
# mdadm --query --detail /dev/md1
위 명령어로 state 가 active sync 인지 확인 한다.
마. RAID 관련 명령어
# mdadm --stop /dev/md0
레이드 장치인 /dev/md0 을 중지
# mdadm --query --detail /dev/md0
/dev/md0 장치의 상세한 내역 출력
출처 - 지기닷넷:: 리눅스에서 RAID 구성(http://www.jigi.net/4177)