RAID 6
데이터를 스트라이핑(Striping) 방식으로 저장하면서, 두 개의 패리티(Parity) 정보를 사용하여
최대 2개의 디스크가 동시에 손상되어도 데이터를 복구할 수 있는 고안정성 RAID 레벨
RAID 5와 비슷하지만, 패리티 블록을 두 개로 늘려 더 높은 안정성을 제공하며, 최소 4개의 디스크가 필요합니다.
스트라이핑(Striping)
데이터를 여러 디스크에 작은 단위로 나누어 병렬로 저장하는 기술
- RAID 레벨에서 주로 사용되며, 디스크의 읽기 및 쓰기 성능을 향상시키기 위해 고안된 방식
- 데이터를 “블록” 단위로 나누어 각 디스크에 분산 저장함으로써 여러 디스크에서 동시에 데이터를 읽거나 쓸 수 있
RAID 6 특징
- 스트라이핑과 이중 패리티
- 데이터를 여러 디스크에 스트라이핑 방식으로 분산 저장.
- 각 디스크에 두 개의 패리티를 저장하여, 디스크 두 개가 동시에 고장 나더라도 데이터를 복구 가능.
- 높은 데이터 안정성
- RAID 5보다 더 높은 안정성을 제공하며, 데이터 손실 가능성이 낮음.
- 디스크 용량 효율
- 전체 디스크 중 2개는 패리티 저장에 사용되므로, 총 용량 = (N – 2) x 단일 디스크 크기(N = 디스크 개수).
- 예: 4TB 디스크 6개 → RAID 6 용량 = 16TB (8TB는 패리티에 사용).
- 성능
- 읽기 성능: 스트라이핑 덕분에 RAID 5 수준으로 빠름.
- 쓰기 성능: 두 개의 패리티 계산으로 인해 RAID 5보다 느림.
RAID 6 장점
- 높은 안정성
- 동시에 두 개의 디스크가 고장 나더라도 데이터 복구 가능.
- RAID 5보다 안정성이 크게 향상됨.
- 공간 효율성
- 2개의 패리티를 사용하지만, 여전히 전체 디스크 용량의 대부분을 데이터 저장에 사용 가능.
- 성능과 안정성의 균형
- 읽기 작업은 스트라이핑 덕분에 빠르고, 데이터 안정성도 보장.
- 확장성
- 디스크를 추가하여 용량을 쉽게 확장 가능.
RAID 6 단점
- 복잡한 패리티 계산
- 두 개의 패리티를 계산해야 하므로 쓰기 작업에서 RAID 5보다 성능이 더 낮음.
- 쓰기 성능이 중요한 환경에서는 RAID 10(1+0)이 더 적합할 수 있음.
- 디스크 용량 감소
- RAID 5보다 두 개의 디스크 용량을 패리티에 사용하므로 저장 공간 효율이 약간 낮음.
- 복구 시간 증가
- 대용량 디스크가 많아질수록 복구 시간이 오래 걸리며, 복구 중 성능 저하가 발생할 수 있음.
RAID 6 실습
ls -a /dev/sd* fsidk -l
# sdb1, sdc1, sdd1, sde1 총 4개를 RAID 6 mdadm --create /dev/md6 --level=6 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
mdadm --detail /dev/md6
# ext4 파일 시스템을 생성 및 포맷하는 과정 mkfs.ext4 /dev/md6
# 마운트할 폴더 생성 mkdir /raid6 # raid6에 마운트 mount /dev/md6 /raid6 # 마운트 확인 ls -a /raid6 df
# 부팅 시 자동 마운트 등록 gedit /etc/fstab /dev/md6 /raid6 ext4 defaults 0 0 # daemon reload systemctl daemon-reload
# 시스템 재부팅 시에도 RAID 배열을 인식하도록 하는 과정 mdadm --detail --scan /dev/md6 >> /etc/mdadm/mdadm.conf update-initramfs -u #배열 등록 확인 cat /etc/mdadm/mdadm.conf
RAID 10 (1+0)
RAID 1+0, 흔히 RAID 10이라고 불리는 이 구성은 RAID 1(미러링)과 RAID 0(스트라이핑)의 결합
- 데이터를 안전하게 보호하면서 동시에 읽기/쓰기 성능을 향상시키는 RAID 레벨
- 최소 4개의 디스크가 필요하며, 디스크가 짝수 개여야 구성 가능
RAID 10 구조
RAID 10은 먼저 데이터를 미러링(RAID 1)으로 복제한 후, 스트라이핑(RAID 0)을 적용
구성 예시: 4개의 디스크로 RAID 10 구성
- 미러링(RAID 1)
- 동일한 데이터를 두 개의 디스크에 복사하여 저장
- 예:
- 디스크 1과 디스크 2는 동일한 데이터를 저장
- 디스크 3과 디스크 4도 동일한 데이터를 저장
- 스트라이핑(RAID 0)
- 미러링된 디스크 쌍을 스트라이핑하여 읽기/쓰기 성능을 향상
- 데이터 블록이 디스크 1+2와 디스크 3+4에 번갈아가며 저장됨
RAID 그룹 | 디스크 1 | 디스크 2 | 디스크 3 | 디스크 4 |
---|---|---|---|---|
미러링 | A | A | B | B |
스트라이핑 | A+B | A+B | A+B | A+B |
RAID 10 특징
- 성능
- 스트라이핑 덕분에 읽기와 쓰기 작업 속도가 RAID 1보다 빠릅니다.
- 데이터 안전성
- 미러링으로 인해 디스크 하나가 고장 나도 데이터를 복구할 수 있습니다.
- 각 미러 그룹에서 한 디스크씩(최대 2개)이 고장 나더라도 복구 가능.
- 디스크 용량 효율
- 총 용량 = 디스크 총 개수의 절반 × 단일 디스크 용량.
- 예: 4TB 디스크 4개 → RAID 10 용량 = 8TB.
RAID 10 장점
- 높은 데이터 안정성
- RAID 1의 미러링 덕분에 디스크 하나가 고장 나도 데이터 복구 가능
- RAID 0보다 훨씬 안전함
- 우수한 성능
- 스트라이핑으로 읽기와 쓰기 성능이 RAID 1보다 훨씬 빠름
- 특히 데이터 액세스 속도가 중요한 작업에 유리
- 복구 시간 단축
- 디스크 하나가 고장 나도 나머지 디스크에서 복구가 빠르게 진행됨
RAID 10 단점
- 낮은 디스크 효율성
- 전체 디스크 용량의 절반만 데이터 저장에 사용 가능
- RAID 5, RAID 6보다 공간 효율성이 낮음
- 비용이 높음
- 데이터를 미러링하므로 같은 용량을 저장하려면 두 배의 디스크가 필요
- 복잡성
- 설정 및 관리를 위해 RAID 컨트롤러 또는 소프트웨어 RAID가 필요
RAID 10 실습
mdadm으로 raid 10을 바로 적용할 수 있음
mdadm --create /dev/md10 --level=10 --raid-devices=4 /dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/sdi1 mkfs.ext4 /dev/md10 mkdir /raid10 mount /dev/md10 /raid10
df mdadm --detail /dev/md10
# 부팅 시 자동 마운트 등록 gedit /etc/fstab /dev/md10 /raid10 ext4 defaults 0 0 # daemon reload systemctl daemon-reload
# 시스템 재부팅 시에도 RAID 배열을 인식하도록 하는 과정 mdadm --detail --scan /dev/md10 >> /etc/mdadm/mdadm.conf update-initramfs -u #배열 등록 확인 cat /etc/mdadm/mdadm.conf