RAID의 유래 및 정의
RAID (Redundant Array of Independent Disks 혹은 Redundant Array of Inexpensive Disks)는 1980년대 중반에 UC 버클리의 David A. Patterson, Garth A. Gibson, 그리고 Randy Katz 에 의해 처음 소개되었습니다.
이 개념은 여러 개의 하드 디스크 드라이브를 결합하여 하나의 더 크고 더 빠른 단일 드라이브처럼 사용하는 것을 목표로 합니다. 처음에는 'Inexpensive'라는 용어가 사용되었으나, 시간이 지나면서 더 고품질, 고가의 시스템에도 적용되면서 'Independent'라는 용어로 변경되었습니다.

RAID의 주요 목적
- 대용량 단일 볼륨 사용: 여러 디스크를 하나처럼 사용함으로써 큰 용량의 저장 공간을 제공합니다.
- 성능 향상: 디스크 I/O (입출력) 작업을 병렬화함으로써 더 빠른 데이터 액세스와 처리 속도를 달성합니다.
- 데이터 안정성 향상: 데이터를 복제하거나 패리티 정보를 사용하여, 드라이브 중 하나가 실패해도 데이터 손실을 방지합니다.
RAID의 주요 구성 방식
RAID 0 (Striping)

- 작동 원리: 데이터를 여러 디스크에 걸쳐 나눠 저장합니다.
- 예를 들어, 4MB 의 파일이 있으면, 이 파일을 여러 조각으로 나누어 각기 다른 드라이브에 저장합니다.
- 여러 명의 사람들이 각자 조금씩 서로 다른 정보를 기억하고 있다가 필요할 때 각자의 정보를 모아서 하나의 완전한 정보를 만드는 것과 비슷합니다.
- 장점: 데이터 읽기/쓰기 속도가 매우 빠릅니다.
- 단점: 한 드라이브라도 고장 나면 전체 데이터를 잃을 수 있습니다.
- 최소 드라이브 수: 2 • 공간 효율성: 1 (즉, 모든 드라이브 공간을 사용할 수 있음)
- 고장 허용: 없음 (한 드라이브라도 고장 나면 데이터를 잃음)
- 읽기/쓰기 성능: n 배 향상 (n 은 드라이브 수)
RAID 1 (Mirroring)

- 작동 원리: 같은 데이터를 두 개 이상의 드라이브에 정확히 복제하여 저장합니다.
- 중요한 문서를 복사해서 두 곳에 보관하는 것과 같습니다. 한 곳에서 문서를 잃어버려도 다른 곳에 정확히 같은 문서가 있습니다.
- 장점: 한 드라이브가 고장 나도 다른 드라이브에 데이터가 안전하게 보관됩니다.
- 단점: 실제로 사용할 수 있는 저장 공간은 전체의 절반에 불과합니다.
- 최소 드라이브 수: 2
- 공간 효율성: 1/2 (절반의 드라이브 공간만 사용 가능)
- 고장 허용: 한 드라이브 고장
- 읽기 성능: n 배 향상 가능 (하지만 실제 향상은 하드웨어 구성에 따라 다름)
- 쓰기 성능: 하나의 디스크 성능과 같음
RAID 2

- 작동 원리: 데이터를 비트 단위로 나누고, 오류 수정을 위해 하밍 코드를 사용합니다. 하지만 이는 오래된 방식이며, 현대의 디스크 드라이브는 자체적으로 오류 수정 기능을 가지고 있기 때문에, RAID 2 는 실제로 사용되지 않습니다.
- 모스 부호로 메시지를 전송하면서, 각 부호가 올바르게 전송되었는지 확인하기 위해 특별한 검증 코드를 함께 보내는 것과 유사합니다. 이렇게 함으로써 메시지의 정확성을 확보할 수 있습니다.
- 장점: 매우 정밀한 오류 검출 및 수정이 가능합니다.
- 단점: 현재의 기술에서는 불필요하게 복잡하고 비효율적입니다.
- 적용 분야: 현재는 사용되지 않습니다.
- 최소 드라이브 수: 3
- 공간 효율성: 1 - log₂(n) / n (n 은 비트 수)
- 고장 허용: 한 드라이브 고장 (하지만 실제로는 잘 사용되지 않는 방식)
- 읽기/쓰기 성능: 디스크 및 상황에 따라 다름
RAID 3

- 작동 원리: 데이터를 바이트 단위로 나누어 저장하고, 한 개의 디스크를 사용하여 패리티(오류 검출 및 수정 정보)를 저장합니다.
- 여러 사람이 각자의 종이에 데이터를 적고, 한 사람이 만약의 사고에 대비해 모든 사람이 적은 내용의 요약본을 따로 기록하는 것과 같습니다.
- 장점: 순차적인 데이터 읽기/쓰기에 효율적입니다.
- 단점: 랜덤 액세스가 필요한 작업에는 적합하지 않고, 패리티를 위한 디스크가 병목 현상을 일으킬 수 있습니다.
- 적용 분야: 현재는 거의 사용되지 않습니다.
- 최소 드라이브 수: 3
- 공간 효율성: 1 - 1/n
- 고장 허용: 한 드라이브 고장
- 읽기 성능: n-1 배 향상 (패리티 드라이브 제외)
- 쓰기 성능: (n-1) / n (패리티 계산이 필요하므로 전체 성능의 일부를 소모)
RAID 4

작동 원리: RAID 3 와 유사하지만, 데이터를 블록 단위로 나누어 저장하며, 패리티 정보는 별도의 디스크에 저장합니다.
사무실에서 각 직원이 다른 보고서의 섹션을 작성하고, 한 사람이 모든 보고서에 대한 백업을 담당하는 것과 비슷합니다.
장점: 랜덤 데이터 읽기에 효율적입니다.
단점: 모든 쓰기 작업에서 패리티 디스크가 필요하므로, 쓰기 작업에서 병목 현상이 발생할 수 있습니다.
적용 분야: 큰 파일 시스템을 사용하는 저장소에 적용되었지만, 현재는 RAID 5 나 RAID 6 에 의해 대체되었습니다.
최소 드라이브 수: 3 • 공간 효율성: 1 - 1/n
고장 허용: 한 드라이브 고장
읽기 성능: n-1 배 향상 (패리티 드라이브 제외)
쓰기 성능: (n-1) / n (패리티 드라이브에 대한 쓰기 병목 현상이 발생할 수 있음)
RAID 5 (Striping with Parity)

작동 원리: 데이터를 여러 디스크에 나누어 저장하고, 각 디스크에 데이터 복구를 위한 추가 정보(패리티)도 함께 저장합니다. 예를 들어, 여러 장의 퍼즐을 여러 사람이 나누어 맞추되, 각자가 조금씩 다른 사람의 퍼즐 조각도 갖고 있어서 누군가의 조각이 없어져도 퍼즐을 완성할 수 있는 방식입니다.
데이터 안전성과 효율적인 저장 공간 활용이 중요한 서버나 데이터 센터에 적합합니다.
장점: 한 사람이 퍼즐 조각을 잃어버려도, 다른 사람이 그 조각의 정보를 가지고 있어 전체 퍼즐을 완성할 수 있습니다.
단점: 각 사람이 자신의 퍼즐 조각뿐만 아니라 다른 사람의 조각 정보도 알고 있어야 하기 때문에, 조금 더 많은 노력이 필요합니다.
최소 드라이브 수: 3
공간 효율성: 1 - 1/n
고장 허용: 한 드라이브 고장
읽기 성능: n-1 배 향상 (패리티 계산이 필요 없는 단일 섹터 읽기의 경우)
쓰기 성능: (n-1) / n (패리티 계산이 필요한 경우)
RAID 6 (Striping with Double Parity)

작동 원리: RAID 5 와 유사하지만, 데이터 복구 정보를 두 배로 저장합니다. 퍼즐 비유를 다시 사용한다면, 각 사람이 두 명의 다른 사람의 퍼즐 조각 정보를 가지고 있어, 두 사람이 동시에 조각을 잃어버려도 퍼즐을 완성할 수 있습니다.
매우 높은 수준의 데이터 보호가 필요한 크리티컬한 비즈니스 환경에 적합합니다.
장점: 두 명의 사람이 동시에 퍼즐 조각을 잃어버려도 퍼즐을 완성할 수 있습니다.
단점: 더 많은 정보를 저장해야 하기 때문에, 각 사람이 기억해야 할 정보가 많아집니다.
최소 드라이브 수: 4
공간 효율성: 1 - 2/n
고장 허용: 두 드라이브 고장
읽기 성능: n-2 배 향상 (패리티 계산이 필요 없는 단일 섹터 읽기의 경우)
쓰기 성능: (n-2) / n (패리티 계산이 필요한 경우)

RAID 10 (1+0)

작동 원리: 데이터를 미러링한 다음, 미러링된 데이터 세트를 스트라이핑합니다. 예를 들어, 두 사람이 같은 책을 가지고 있고, 각자 책의 다른 부분을 읽어 정보를 빠르게 얻을 수 있는 상황입니다.
높은 성능과 데이터 안전성이 모두 중요한 비즈니스 환경에 적합합니다.
장점: 한 사람이 정보를 잃어버려도 다른 사람이 그 정보를 가지고 있으며, 두 사람이 동시에 정보를 공유하여 빠른 속도로 정보를 얻을 수 있습니다.
단점: 이를 위해서는 책 두 권이 필요하므로 비용이 많이 듭니다.
RAID 01 (0+1)

작동 원리: RAID 0(스트라이핑)과 RAID 1(미러링)의 조합으로, 먼저 데이터를 여러 디스크에 나누어 저장한 후(스트라이핑), 이렇게 나누어진 데이터 세트를 다른 디스크 세트에 복제합니다(미러링).
높은 성능과 데이터 안전성이 요구되는 환경에 적합하지만, RAID 10 이 더 선호됩니다.
두 개의 댄스 그룹이 동일한 루틴을 연습하는 것과 비슷합니다. 만약 한 그룹의 멤버가 부상을 당해도, 다른 그룹이 동일한 루틴을 선보일 수 있습니다.
장점: RAID 0 의 성능과 RAID 1 의 데이터 보호 기능을 제공합니다.
단점: RAID 10 에 비해 효율성이 떨어질 수 있으며, 많은 수의 디스크가 필요하기 때문에 비용이 더 많이 듭니다
'CS' 카테고리의 다른 글
인증과 권한 (0) | 2024.03.18 |
---|---|
REST API 및 CRUD (3) | 2024.03.15 |
DB에 대한 이해 및 DATA 모델링 (0) | 2024.03.13 |
Git/Github란? (0) | 2024.03.12 |
Full Stack, Restful, MicroService, DevOps, MLOps (0) | 2024.01.25 |