목표 : 보조기억장치를 안전하고 빠르게 활용하는 방법인 RAID의 학습
1TB 하드 디스크 4개를 사용하는 경우와 4TB 하드 디스크 1개를 사용하는 경우를 비교하면, RAID 구성을 통해 성능과
안정성 면에서 더 나은 결과를 기대할 수 있다. 이러한 차이가 발생하는 이유를 RAID 구조를 통해 살펴본다.
RAID(Redundant Array of Independent Disk)
RAID는 ‘독립적인 디스크들의 중복 배열’로 해석할 수 있다.
이는 여러 개의 물리적인 보조기억장치(HDD 또는 SSD)를 논리적으로 하나처럼 구성하여,
데이터의 안정성과 성능 향상을 동시에 추구할 수 있는 저장 기술이다.
RAID의 종류
RAID 구성 방식은 **‘RAID 레벨’**이라고 부른다.
가장 기본적인 RAID 레벨은 RAID 0부터 RAID 6까지 있으며,
이들을 조합한 RAID 10, RAID 50과 같은 혼합 방식(Nested RAID) 도 존재한다.
여기서는 기본적인 RAID 0, 1, 4, 5, 6에 대해 먼저 알아보자.
RAID 0 - 스트라이핑 기반 성능 향상 구조
- 데이터를 여러 개의 디스크에 순차적으로 나누어 저장함 (스트라이핑)
- 저장 속도와 읽기 속도가 빠름 (병렬 처리 가능)
- 스트라이핑 단위/각 줄무늬 단위 : 스트라입(stripe)
- 디스크 하나라도 손상되면 전체 데이터 복구 불가 (안정성 낮음)
RAID 1 - 데이터 복제 기반 안정성 강화 구조
- 데이터를 동일한 디스크에 그대로 복제하여 저장 (미러링)
- 한 디스크가 손상되어도 다른 디스크로 복구 가능 (안정성 높음)
- 저장 가능한 용량이 절반으로 줄어듦 (비용 증가 요인)
RAID 4 - 단일 패리티 디스크 기반 복구 구조
- 데이터를 나누어 저장하고, 오류 복구를 위한 패리티를 별도 디스크에 저장
- 한 개의 디스크 장애 시 패리티를 이용해 복구 가능
- 패리티 디스크가 단일이므로, 지속적인 접근 시 병목 현상 발생
RAID 5 - 분산 패리티 기반의 성능·안정성 균형 구조
- 데이터를 나누어 저장하면서, 패리티 정보도 모든 디스크에 분산 저장
- 디스크 1개 장애 시, 남은 디스크의 데이터 + 패리티로 복구 가능
- 패리티가 분산되어 병목 현상이 줄어들고, 읽기/쓰기 성능이 RAID 4보다 향상됨
RAID 6 - 이중 패리티로 안정성 극대화한 구조
- RAID 5처럼 데이터를 나누고, 패리티 정보를 두 개씩 저장 (이중 패리티)
- 동시에 두 개의 디스크가 고장 나도 복구 가능 (안정성 가장 높음)
- 패리티 연산이 많아져 RAID 5보다 쓰기 성능이 다소 낮음
질문 1 : 디스크의 수가 늘어나면, 패리티 정보를 저장하는 디스크의 수도 늘어나야 하지 않는가 ?
처음에 패리티 정보를 저장하는 디스크의 수가 일정하다는 것을 보고 의문을 가졌다.
디스크의 수가 계속해서 증가한다면, 패리티 정보의 양도 증가할테니 패리티 디스크도 늘어나야 하는 것이 아닌가 ?
이는 패리티 정보를 오해해서 생긴 의문이었다. 패리티 정보는 이미 있던 정보들을 복사한다거나, 압축해서 저장하는 값이 아니라
'오류 검출 및 복구를 위해 수학적으로 계산된 값'이다. RAID 시스템은 데이터를 여러 디스크에 걸쳐 작은 단위인 스트라이프로 나누어 저장한다. 그리고 각 스트라이프마다 원본 데이터를 기반으로 패리티 정보를 생성한다.
디스크 수가 증가하더라도 각 스트라이프를 구성하는 데이터 블록의 수와 크기는 일반적으로 일정하며, 이에 따라 각 스트라이프별로 생성되는 패리티 정보의 크기도 일정하다. 따라서 전체 패리티 정보의 총량은 디스크 수에 직접적으로 비례하는 것이 아니라, RAID 레벨의 패리티 적용 방식에 따라 결정된다.
예를 들어, 짝수 패리티를 사용하는 간단한 경우를 생각해 보자. 3개의 데이터 디스크에 각각 '10', '00', '01'이라는 2비트 데이터 블록이 기록되어 있다면, 이 스트라이프의 패리티 비트는 각 비트 위치별로 XOR 연산을 수행하여 계산하게 된다.
- 첫 번째 비트: 1 (디스크 1) XOR 0 (디스크 2) XOR 0 (디스크 3) = 1
- 두 번째 비트: 0 (디스크 1) XOR 0 (디스크 2) XOR 1 (디스크 3) = 1
따라서 이 스트라이프의 패리티 정보는 '11'이 된다.
디스크의 수가 늘어나더라도 이 스트라이프를 위한 패리티 정보의 계산 방식과 크기는 각 비트 위치별 연산이라는 기본 원칙하에
동일하게 적용된다.
일반적으로,
- RAID 4는 하나의 전용 디스크에 전체 패리티 정보를 저장, 필요한 패리티 디스크 용량은 전체 데이터 용량에 비례할 수 있음
- RAID 5는 전체 디스크 중 약 1개의 디스크 용량에 해당하는 공간을 패리티 저장에 사용, 이 패리티 정보는 모든 디스크에 분산되어 저장
- RAID 6는 전체 디스크 중 약 2개의 디스크 용량에 해당하는 공간을 두 개의 독립적인 패리티 저장에 사용, 이 역시 모든 디스크에 분산
https://www.instagram.com/dan_nanni/p/C42yHRTAuob/
RAID 이미지 비교
'개념공부 > 컴퓨터구조와 운영체제' 카테고리의 다른 글
08장 - 1 : 장치 컨트롤러와 장치 드라이버 (0) | 2025.04.26 |
---|---|
07장 - 1 다양한 보조기억장치 (1) | 2025.04.23 |
06장 - 3 : 캐시 메모리 (0) | 2025.04.17 |
06장 - 2 : 메모리의 주소 공간 (0) | 2025.04.14 |
06장 - 1 : RAM (0) | 2025.04.11 |