핵심 인사이트 (3줄 요약)
- RAID 5는 스트라이핑(RAID 0)의 속도와 미러링(RAID 1)의 안정성을 타협하기 위해 패리티(Parity, 오류 복구용 수학 공식) 데이터를 사용하는 가장 대중적이고 완벽한 밸런스의 스토리지 기술이다.
- 1개의 특정 디스크에만 패리티를 몰아넣는 RAID 4의 병목 현상을 해결하기 위해, 패리티 블록을 모든 디스크에 골고루 분산(Distributed) 저장하여 쓰기 속도의 한계를 극복했다.
- 최소 3개 이상의 디스크가 필요하며, 전체 중 단 1개의 디스크가 고장 나더라도 남은 데이터와 패리티를 역산(XOR)하여 데이터를 100% 복구할 수 있지만, 2개가 동시에 고장 나면 복구가 불가능하다.
Ⅰ. 패리티 (Parity)의 마법
RAID 1처럼 똑같이 복사하는 건 용량이 너무 아깝습니다. 공학자들은 수학(XOR 연산)을 이용해 용량을 아끼는 마법을 부렸습니다.
- XOR 연산의 특징:
A ⊕ B = P(Parity)일 때, 만약A가 날아가도P ⊕ B = A로 원상 복구할 수 있습니다. - 적용: 디스크 3개(D1, D2, P)가 있을 때, D1에 숫자 5를 적고 D2에 숫자 3을 적습니다. 그리고 P(패리티 디스크)에는 둘의 합을 암호화한 숫자 '8'을 적어둡니다.
- 결과: 만약 D1(5)이 불타 없어졌어도, 컴퓨터는 P(8)에서 D2(3)를 빼서 날아간 '5'를 완벽하게 계산해 내어 살려냅니다.
- 용량 이득: 4개의 디스크를 쓸 때 미러링(RAID 1)은 2개 분량의 용량만 쓸 수 있지만, 패리티 방식은 패리티용 디스크 1개만 희생하고 3개 분량의 넉넉한 용량을 쓸 수 있습니다.
📢 섹션 요약 비유: 답안지를 통째로 베껴두는 것(RAID 1)이 아니라, "A상자에 5개, B상자에 3개가 있으니 총합은 8개다"라는 공식 하나만 따로 적어두는 것입니다. A상자를 잃어버려도 총합 8에서 B상자 3을 빼면 A상자에 5개가 있었다는 걸 100% 알아낼 수 있습니다.
Ⅱ. 분산 패리티 (Distributed Parity): RAID 4의 약점 극복
과거의 RAID 4는 패리티 전용 디스크를 딱 1개 정해두고 그곳에만 패리티를 썼습니다.
- 병목 발생 (Write Bottleneck): A 디스크에 쓸 때도 패리티 디스크를 고쳐야 하고, B 디스크에 쓸 때도 패리티 디스크를 고쳐야 합니다. 결국 всех 모든 쓰기 작업이 1개의 패리티 디스크로 몰려서 차가 꽉 막히는 끔찍한 병목이 터졌습니다.
- RAID 5의 혁신: "패리티를 한 놈한테만 몰아주지 말고, 돌아가면서 공평하게 나눠 갖자!"
- 1번 줄 데이터를 쓸 때는 Disk 4에 패리티 저장
- 2번 줄 데이터를 쓸 때는 Disk 3에 패리티 저장
- 3번 줄 데이터를 쓸 때는 Disk 2에 패리티 저장...
- 결과: 패리티를 쓰는 작업이 모든 디스크에 골고루 분산되어 쓰기 병목이 완벽히 해결되었습니다. 이것이 RAID 5가 천재적이라고 불리는 이유입니다.
📢 섹션 요약 비유: 조별 과제에서 '서기' 역할을 한 명한테만 몰아주면 서기 혼자 죽어나는 병목이 생기니까, 1단원은 철수가 서기, 2단원은 영희가 서기, 3단원은 민수가 서기를 돌아가면서 맡는 완벽한 분업 시스템입니다.
Ⅲ. 트레이드오프: 쓰기 페널티 (Write Penalty)
RAID 5는 읽기 속도는 엄청나게 빠르지만, 쓰기 속도는 생각보다 느립니다. 패리티를 갱신해야 하기 때문입니다.
- 데이터를 하나 수정하려고 할 때 내부적으로 무려 4번의 작업이 일어납니다.
- 옛날 데이터 읽기 (Read old data)
- 옛날 패리티 읽기 (Read old parity)
- 새 패리티 계산 (XOR 연산)
- 새 데이터 쓰기 (Write new data)
- 새 패리티 쓰기 (Write new parity)
- 결론: RAID 0이나 RAID 1처럼 그냥 쓰면 끝나는 게 아니라, 계속 읽고 계산하고 써야 하므로 하드웨어 RAID 컨트롤러(계산기)의 성능이 후지면 쓰기 속도가 처참해집니다.
📢 섹션 요약 비유: 장부에 적힌 숫자 하나를 고치려면, 그냥 지우고 고치는 게 아니라 "원래 총합"을 지우고 "새로운 총합"까지 암산해서 다시 적어놔야 하는 귀찮은 서류 작업이 항상 동반되는 것과 같습니다.
Ⅳ. RAID 5의 치명적 한계점
RAID 5는 기업용 서버의 절대 표준이었지만, 최근 하드디스크 용량이 테라바이트(TB) 단위로 커지면서 큰 위기를 맞았습니다.
- 허용 고장 대수: 디스크가 몇 개든 상관없이 딱 1대 고장 날 때까지만 살려낼 수 있습니다.
- 리빌드(Rebuild)의 공포: 1대가 고장 나서 새 디스크를 꽂으면, 나머지 디스크들을 싹 다 뒤져서 패리티를 역산해 빈 디스크를 채우는 '리빌드' 작업을 합니다.
- 재앙: 10TB짜리 디스크를 리빌드하려면 몇 날 며칠 동안 모든 디스크가 미친 듯이 100% 풀가동됩니다. 이때 그 스트레스를 못 이기고 **리빌드 도중에 멀쩡하던 두 번째 디스크가 고장 나버리는 일(Double Fault)**이 꽤 자주 발생합니다. 두 번째 디스크가 죽는 순간 그 서버의 데이터는 영원히 복구 불가능한 쓰레기가 됩니다.
📢 섹션 요약 비유: 줄 하나(패리티)에 의지해 절벽을 올라오다가, 그 줄마저 끊어지는 순간 나락으로 떨어지는 공포입니다. 이 공포를 막기 위해 구명줄을 2개로 늘린 것이 바로 다음에 나올 RAID 6입니다.
📌 관련 개념 맵 (Knowledge Graph)
[Parity Bit (패리티 비트)]: RAID 5의 용량 절약과 데이터 복구를 동시에 가능하게 하는 XOR 수학 연산[RAID Controller]: 쓰기 페널티를 극복하기 위해 패리티 연산을 초고속으로 전담하는 전용 하드웨어 칩[RAID 6]: RAID 5의 '1대 고장 한계'를 극복하기 위해 패리티를 2개로 늘린 차세대 표준[Striping (스트라이핑)]: RAID 5가 속도 향상을 위해 패리티와 함께 기본적으로 깔고 가는 데이터 분산 기법[Rebuild (리빌드)]: 디스크 고장 시 잉여 데이터를 통해 새 디스크에 데이터를 꽉 채워 복구하는 무거운 복원 과정
👶 어린이를 위한 3줄 비유 설명
- RAID 5는 퍼즐 조각을 3명에게 나눠줄 때, 2명에게는 진짜 퍼즐을 주고 1명에게는 '퍼즐을 복원하는 힌트 쪽지(패리티)'를 주는 방식이에요.
- 힌트 쪽지를 한 명이 독차지하면 힘드니까, 3명이 돌아가면서 힌트 쪽지를 보관하는 똑똑한 방법을 써요.
- 3명 중 아무나 한 명이 퍼즐을 잃어버려도, 남은 2명이 가진 퍼즐과 힌트 쪽지를 합치면 잃어버린 퍼즐을 마법처럼 다시 그려낼 수 있답니다!