RAID 용량 계산기 쉽게 이해하기 — 개념과 원리
RAID는 여러 디스크를 하나의 저장 공간으로 묶어 속도, 중복성, 또는 둘 다를 얻는 방법입니다. RAID 레벨마다 용량과 디스크 고장 대비 보호를 서로 바꿉니다. 이 계산기는 RAID 0, 1, 5, 6, 10의 사용 가능 용량(TB, TiB), 견딜 수 있는 디스크 고장 수, 저장 효율을 보여 줍니다.
계산 방법
RAID 0(스트라이핑): 용량 = n × 디스크 크기, 고장 허용 0
RAID 1(전체 미러): 용량 = 디스크 하나, 고장 허용 n − 1
RAID 5(분산 패리티 1개): 용량 = (n − 1) × 디스크 크기, 고장 허용 1
RAID 6(이중 패리티): 용량 = (n − 2) × 디스크 크기, 고장 허용 2
RAID 10(미러 쌍을 스트라이핑): 용량 = ⌊n ÷ 2⌋ × 디스크 크기, 미러 쌍마다 1개 허용
효율 = 사용 용량 ÷ 원시 용량, TiB = TB × 10¹² ÷ 2⁴⁰
- 모든 디스크의 크기가 같다고 가정합니다.
원리
스트라이핑은 데이터를 여러 디스크에 나눠 속도를 높이지만 중복이 없어 디스크 하나만 고장 나도 모두 잃습니다. 미러링은 같은 사본을 써 두므로 고장 나도 사본이 남지만 공간의 절반 이상을 씁니다. 패리티 RAID는 XOR로 계산한 추가 정보를(RAID 6은 독립된 두 번째 부호도) 저장해, 잃은 디스크의 내용을 나머지로 다시 만들 수 있습니다. 디스크 하나 분량의 패리티는 고장 하나를, 두 개 분량은 고장 둘을 막아 줍니다. 패리티 하나를 공유하는 디스크가 많을수록 효율이 높습니다.
예제 풀이
기본값인 8TB 디스크 6개, RAID 5로 계산합니다.
- 원시 용량 = 6 × 8 = 48TB입니다.
- 사용 용량 = (6 − 1) × 8 = 40TB입니다.
- 이진 단위로 40 × 10¹² ÷ 2⁴⁰ = 36.37978807TiB입니다.
- 견딜 수 있는 디스크 고장 = 1개입니다.
- 효율 = 40 ÷ 48 = 83.33%입니다.
| 디스크 수 | 사용 가능 용량 (TB) |
|---|---|
| 1.5 | 4 |
| 3 | 16 |
| 4.5 | 28 |
| 6 | 40 |
| 7.5 | 52 |
| 9 | 64 |
| 12 | 88 |
결과 해석
TiB 값은 많은 운영체제가 보여 주는 크기(흔히 'TB'로 표시)라 광고 용량보다 작아 보입니다. RAID 5는 공간 효율이 좋지만, 대용량 디스크에서는 재구축이 오래 걸리는 동안 두 번째 고장에 노출됩니다. 그래서 큰 배열에는 RAID 6이나 RAID 10을 선호하는 관리자가 많습니다. RAID 10은 성능과 빠른 재구축이 장점이지만 원시 공간의 절반을 씁니다.
흔한 실수
- RAID를 백업으로 여기는 경우(삭제, 손상, 랜섬웨어, 화재는 막지 못합니다)
- 크기가 다른 디스크를 섞는 경우(보통 가장 작은 디스크 크기로 맞춰집니다)
- 파일 시스템 오버헤드와 예약 공간을 무시하는 경우
- RAID 10이 아무 디스크 둘의 고장도 견딘다고 생각하는 경우(같은 쌍이 모두 고장 나면 실패)
자주 묻는 질문
RAID 5는 공간을 얼마나 잃나요?
패리티에 쓰이는 디스크 하나 분량입니다.
40TB인데 왜 36.4TB로 보이나요?
1TiB = 2⁴⁰바이트인 이진 단위로 세기 때문입니다.
가장 안전한 RAID는?
여기서는 아무 디스크 둘의 고장을 견디는 RAID 6이며, 미러가 많은 RAID 1은 더 견디지만 공간 낭비가 큽니다.
출처: D. A. Patterson, G. Gibson and R. H. Katz, "A Case for Redundant Arrays of Inexpensive Disks (RAID)", Proceedings of ACM SIGMOD, 1988 · SNIA, Common RAID Disk Data Format (DDF) Specification (RAID level definitions)