RAID(Redundant Array of Independent/Inexpensive Disks).
여러 개의 하드 드라이브 또는 SSD를 조합하여 성능 향상, 데이터 보호, 가용성 증가를 실현하는 기술이다.
RAID의 주요 목적은 속도 개선, 장애 대비, 데이터 복구이며, 여러 가지 방식이 존재한다.
RAID를 언급하기에 앞서 중요한 개념들에 대해 설명한다.
스트라이핑(Striping): 데이터를 여러 디스크에 나누어 저장
미러링(Mirroring): 동일한 데이터를 여러 디스크에 복제
패리티(Parity): 추가적인 검증 데이터를 저장
RAID는 레벨별로 나눌 수 있으며 본 포스팅에서는 5가지 레벨에 대해 설명한다.
RAID 0, RAID 1, RAID 5, RAID 6, RAID 10이 존재한다.
RAID 0
- 데이터를 스트라이핑하는 방식이다.
- 속도가 가장 빠르다.
- 하지만, 디스크가 1개라도 고장 나면 데이터를 손실할 위험이 있다.
RAID 1
- 데이터를 미러링하는 방식이다.
- 한 디스크가 고장 나도 다른 디스크에서 복구가 가능하다.
- 하지만, 디스크를 50% 이하만 사용하므로 저장 공간이 낭비되고, 속도 저하가 있다.
RAID 5
- 데이터를 여러 디스크에 스트라이핑하고, 패러티를 추가하여 장애 복구 가능성을 높인다.
- 디스크가 1개 고장 시 데이터 복구 가능하다.
- 하지만 패러티 연산으로 오버헤드가 존재한다. 그리고 최소 3개 이상의 디스크가 필요하다.
RAID 6
- RAID 5와 비슷하지만, 패리티를 두 개 저장하여 최대 2개 디스크의 장애를 복구 가능하게 한다.
- RAID 5보다 더 높은 장애 대응력이 있다.
- 하지만 성능이 저하되고, 최소 4개 이상의 디스크가 필요하다.
RAID 10
- RAID 1(미러링)과 RAID 0(스트라이핑) 결합한 방식이다.
- 속도가 빠르고, 높은 데이터 보호가 가능하다.
- 최소 4개 이상의 디스크가 필요하고, 저장 공간 절반만 사용가능하다.
따라서 요구되는 서비스 상황에 맞게 RAID 레벨을 선택해야 한다.
속도가 중요하면 RAID 0
데이터 보호가 최우선이면 RAID 1
성능과 복구 밸런스를 원하면 RAID 5/ RAID 6
성능과 안정성을 원하면 RAID 10