Raid
contents
RAID란 무엇인가요? 💾
RAID(레이드) 는 여러 개의 물리적 하드 디스크(HDD)나 SSD를 하나의 논리적 장치처럼 묶어서 사용하는 기술입니다.
마치 팀 작업과 비슷하다고 생각하시면 됩니다. 한 사람(하드 드라이브 1개)이 모든 일을 하는 대신, 5명의 팀을 꾸려 일을 처리하는 방식입니다. 이 팀을 어떻게 조직하느냐에 따라 두 가지 이점을 얻을 수 있습니다.
- 속도: 모든 사람이 프로젝트의 서로 다른 부분을 동시에 처리합니다.
- 안전: 한 사람이 작성하는 내용을 다른 사람이 똑같이 베껴 씁니다. 그래서 한 사람이 아파서 결근해도 데이터는 사라지지 않습니다.
2. 3가지 핵심 개념 🧱
RAID를 이해하려면 다음 세 가지 구성 요소를 알아야 합니다.
- 스트라이핑 (Striping - 속도):
- 파일을 여러 조각(예: 블록 A, 블록 B, 블록 C)으로 쪼갭니다.
- 블록 A는 드라이브 1에, 블록 B는 드라이브 2에, 블록 C는 드라이브 3에 동시에 씁니다.
- 결과: 읽기/쓰기 속도가 엄청나게 빨라집니다.
- 미러링 (Mirroring - 중복성):
- 똑같은 데이터를 드라이브 1과 드라이브 2에 동시에 씁니다.
- 결과: 드라이브 1이 고장 나도, 드라이브 2가 즉시 작업을 이어받습니다. 데이터 손실이 없습니다.
- 패리티 (Parity - 오류 검사):
- 수학적 계산(XOR)을 통해 사라진 데이터를 복구하는 기술입니다.
- 만약 드라이브 1에 "5", 드라이브 2에 "3"이 저장되어 있다면, 패리티 드라이브는 "8"(5+3)을 저장합니다.
- 드라이브 1이 죽으면, 시스템은 "8 - 3 = 5"를 계산하여 사라진 데이터를 복구합니다.
3. 주요 RAID 레벨 📊
"레벨"은 드라이브들이 어떻게 조직되어 있는지를 나타냅니다.
RAID 0 (스트라이핑) - "속도 몰빵, 안전성 제로" 🏎️
- 작동 방식: 데이터를 2개 이상의 디스크에 균등하게 쪼개서 저장합니다.
- 장점: 매우 빠릅니다. 저장 공간을 100% 사용할 수 있습니다.
- 단점: 결함 허용(Fault Tolerance)이 전혀 없습니다. 디스크 중 하나 만 고장 나도 모든 데이터가 영구적으로 손실됩니다.
- 용도: 임시 캐시, 비디오 편집용 스크래치 디스크 (안전보다 속도가 중요한 곳).
RAID 1 (미러링) - "안전 제일" 🛡️
- 작동 방식: 데이터를 2개의 디스크에 똑같이 복제합니다.
- 장점: 매우 높은 안정성. 읽기 속도가 빠릅니다 (양쪽에서 읽을 수 있음).
- 단점: 비쌉니다. 2TB를 사도 실제로는 1TB만 쓸 수 있습니다 (효율 50%).
- 용도: OS 드라이브, 부팅 드라이브, 중요한 데이터베이스.
RAID 5 (패리티가 있는 스트라이핑) - "균형 잡힌 선택" ⚖️
- 작동 방식: 데이터와 패리티 정보를 3개 이상의 디스크에 분산 저장합니다.
- 장점: 준수한 속도. 좋은 안전성 (드라이브 1개 고장까지 버팀). 효율적인 공간 활용 (N-1 용량).
- 단점: 쓰기 속도가 느립니다 (패리티를 계산해야 하므로). 고장 난 드라이브를 교체하고 복구(Rebuild)하는 데 시간이 오래 걸립니다.
- 용도: 파일 서버, 일반적인 데이터 웨어하우스.
RAID 6 (더블 패리티) - "더 안전하게" 🛡️🛡️
- 작동 방식: RAID 5와 같지만, 패리티 블록을 두 개 씁니다.
- 장점: 드라이브 2개가 동시에 고장 나도 데이터가 살아남습니다.
- 단점: RAID 5보다 쓰기 속도가 더 느립니다.
- 용도: 복구하는 데 며칠이 걸리는 대용량 스토리지 (복구 중에 또 다른 드라이브가 죽을까 봐 걱정될 때).
RAID 10 (1+0) - "두 세계의 장점만 결합" 👑
- 작동 방식: "미러링된 드라이브들의 스트라이프"입니다. 미러링(RAID 1)된 쌍을 먼저 만들고, 그 쌍들을 스트라이핑(RAID 0)으로 묶습니다.
- 장점: RAID 0처럼 엄청 빠르고, RAID 1처럼 매우 안전합니다.
- 단점: 매우 비쌉니다 (용량 손실 50%). 최소 4개의 드라이브가 필요합니다.
- 용도: 고성능 프로덕션 데이터베이스 (SQL, Redis, MongoDB).
4. 하드웨어 RAID vs 소프트웨어 RAID ⚙️
- 하드웨어 RAID: 서버 내부에 전용 물리 카드(컨트롤러)가 장착되어 연산을 처리합니다.
- 장점: 컴퓨터의 CPU를 사용하지 않습니다. 정전 시 데이터를 보호할 배터리 백업이 있습니다.
- 단점: 비쌉니다. 컨트롤러 카드가 고장 나면, 데이터를 읽기 위해 똑같은 카드가 필요할 수 있습니다.
- 소프트웨어 RAID: 운영체제(Windows/Linux)가 RAID 연산을 처리합니다.
- 장점: 저렴합니다(무료). 유연합니다. 하드웨어에 종속되지 않습니다.
- 단점: CPU 자원을 소량 사용합니다.
요약표
| 레벨 | 최소 드라이브 | 용량 효율 | 결함 허용 (고장 허용) | 읽기 속도 | 쓰기 속도 |
|---|---|---|---|---|---|
| RAID 0 | 2개 | 100% | 없음 (0개) | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| RAID 1 | 2개 | 50% | 1개 | ⭐⭐⭐ | ⭐⭐ |
| RAID 5 | 3개 | 67-94% | 1개 | ⭐⭐⭐⭐ | ⭐⭐ |
| RAID 6 | 4개 | 50-88% | 2개 | ⭐⭐⭐⭐ | ⭐ |
| RAID 10 | 4개 | 50% | 쌍당 1개 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
references