정의


Redundant Array of Inexpensive/Independent Disk 의 약자이다.

번역하면 복수 배열 저가/독립 디스크 이다.

저장장치 여러 개를 묶어 고용량, 고성능인 저장 장치 한 개와 같은 효과를 얻기 위해 개발된 기법이다.

저장장치는 소모품이다. 수없이 읽고 쓰기를 반복하면 물리적으로 움직이는 부품이 있는 HDD는 물론, 전자적으로만 작동하는 SSD도 NAND 소자가 닳아 IO 속도가 느려지고, 결국에는 읽고 쓸 수 없는 부분인 불량섹터가 발생한다. 이런 경우에는 불량섹터에 기록되어 있던 정보가 소실되는 것도 문제이지만, 이후에 저장장치에 기록되는 데이터의 무결성을 보장할 수 없기 때문에 보통 장치째로 (기존에 기록되어 있던 데이터와 함께) 폐기 처분하게 된다. 여러개의 디스크를 특정 방법으로 연결해주는 시스템인 RAID는 바로 이렇게 저장장치가 갑자기 고장나는 경우를 대비해서 활용할 수 있는 유용한 기법이다. 방대한 양의 데이터를 읽고 쓰며 1년 365일 내내 가용성이 보장되어야 하는 구글이나 페이스북의 서버들을 상상해보자.

RAID의 주 사용 목적은 크게 무정지 구현(가용성)과 고성능 구현으로 구분된다. 무정지 구현을 극도로 추구하면 RAID 1, 고성능 구현을 극도로 추구하면 RAID 0이 되며(건전지로 비유하면 RAID 1은 병렬, RAID 0는 직렬 연결이다), RAID 5, 6은 둘 사이에서 적당히 타협한 형태. RAID 10이나 RAID 01과 같이 두 가지 방식을 혼용하는 경우도 있다.

<aside> ❔ *가용성 : 전체 시간 중 사용 가능한 시간이 차지하는 부분

</aside>

RAID 1을 단순한 예시로 들자면, 하나의 디스크가 갑자기 고장나도 정상 동작하는 디스크가 남아있으므로 고장난 디스크만 교체해 주면 서버 정지 없이도 원상 복구가 가능하다. 한편, 하나의 디스크가 바이러스나 랜섬웨어에 감염이 되는 경우에는 나머지 디스크에도 모조리 그 감염된 데이터가 기록되게 된다. RAID는 이렇듯이 데이터의 무결성/안전을 보장해주는 기술이 아니기 때문에 초대형 서버의 경우에도 RAID 외에 별도로 미러링 서버나 자기 테이프 등 별도의 데이터 백업 솔루션을 마련해 둔다.

보통은 같은 모델 같은 주차의 제품으로 구성한다. 서로 다른 두 모델을 혼용한다고 RAID가 안되는것은 아니지만, SLI(link)처럼 성능이 낮은 쪽으로 하향 평준화되어 거기에 배수가 곱해진다는것이 차이점이다.

Untitled

Untitled

단일 파티션 및 여러가지 RAID의 벤치마크 (출처 : https://techreport.com/review/chipset-serial-ata-and-raid-performance-compared/)

구현 방법


아래로 갈수록 성능과 안정성이 떨어지나 비용은 상대적으로 저렴하다.