NAS 미니랩 1/4 · 디스크가 고장 나도 파일이 살아남는 이유
NAS 미니랩 첫 번째. RAID 패리티의 원리 — 블록을 나눠 쓰고 XOR 패리티를 함께 적으면, 디스크 하나가 죽어도 남은 블록들의 XOR로 파일이 그대로 복구되는 과정을 눌러봅니다.

목차
숫자 세 개를 적은 쪽지를 서랍 세 칸에 나눠 두면서, 네 번째 칸에 "세 수의 합계"를 함께 적어 둔다고 해 봅시다. 서랍 하나를 잃어버려도 걱정이 없습니다. 남은 두 수와 합계로 잃어버린 수를 역산하면 되니까요.
NAS의 RAID 패리티가 정확히 이 방식입니다. 파일을 블록으로 잘라 여러 디스크에 나눠 쓰고, 같은 줄 블록들을 계산한 "합계 메모"(패리티)를 한 블록 더 적어 둡니다.
합계 대신 XOR을 쓰는 이유
컴퓨터의 합계 메모는 XOR(⊕)입니다. XOR에는 특별한 성질이 하나 있습니다 — 같은 값을 두 번 XOR 하면 사라집니다 (a⊕b⊕b = a). 그래서:
- 저장할 때:
b1 ⊕ b2 ⊕ b3 = P(패리티) - 복구할 때:
b1 ⊕ b3 ⊕ P = b2— 남은 값들을 다시 XOR 하면 잃어버린 블록만 정확히 남습니다.
덧셈처럼 자릿수가 넘칠 일도 없고, 어느 블록이 없어져도 같은 계산 하나로 됩니다. 추가 비용은 디스크 한 대 분량의 패리티뿐입니다.
디스크 하나가 죽으면
- 죽은 디스크의 블록은 그 자리에서 XOR로 즉석 복구되어 파일이 온전히 열립니다. 다만 읽을 때마다 계산이 필요해 느려집니다(degraded 모드).
- 새 디스크로 갈아 끼우면 같은 계산으로 블록을 처음부터 다시 채웁니다 (리빌드).
라우팅 랩에서 회선이 끊겨도 패킷이 우회하듯, 저장장치도 "고장은 반드시 난다"를 전제로 설계됩니다. 고장이 나도 멈추지 않는 것이 목표입니다. 이렇게 살아남은 파일이 내 PC까지 오는 길은 2편 파일 공유 랩에서 다룹니다.
두 개가 죽으면 — RAID는 백업이 아닙니다
패리티는 식 하나입니다. 식 하나로는 미지수 하나만 풀 수 있습니다. 리빌드가 끝나기 전에 디스크가 하나 더 죽으면 미지수가 두 개가 되어 복구 불가 — 어레이가 멈춥니다. 그리고 실수로 지운 파일, 랜섬웨어, 화재는 RAID가 전혀 막아주지 못합니다. 그래서 RAID가 있어도 백업은 따로 필요합니다. 어떻게 따로 둘지는 3편 백업 3-2-1 랩에서 다룹니다.
리빌드 중이 가장 위험한 순간입니다
앞에서 "리빌드가 끝나기 전에 하나 더 죽으면 끝"이라고 했는데, 이게 생각보다 현실적인 걱정인 이유가 있습니다.
리빌드는 남은 모든 디스크를 처음부터 끝까지 전부 읽습니다. 잃어버린 블록을 계산하려면 같은 줄의 나머지 블록이 전부 필요하니까요. 즉 디스크 한 대가 죽은 직후, 나머지 디스크들은 평소보다 훨씬 무거운 작업을 몇 시간에서 며칠씩 받게 됩니다.
- 디스크 용량이 클수록 리빌드 시간이 길어집니다. 위험한 시간이 그만큼 늘어납니다.
- 전체를 읽는 도중 복구할 수 없는 읽기 오류를 만나면 해당 블록을 재구성하지 못할 수 있습니다. 실제 영향은 디스크 사양뿐 아니라 컨트롤러의 오류 처리, 파일 시스템, 배열 구성에 따라 달라집니다.
- 남은 디스크의 상태와 백업 유무를 먼저 확인하고, 제조사 절차에 따라 교체와 리빌드를 진행해야 합니다.
가용성을 더 중시한다면 패리티를 두 개 두는 구성(RAID 6 계열)을 검토할 수 있습니다. 미지수 두 개를 풀 수 있는 식이 두 개인 셈이라, 한 디스크를 복구하는 동안 다른 한 대가 고장 나도 배열이 견딜 수 있습니다. 다만 최선의 구성은 디스크 수·용량, 성능 요구, 복구 시간, 별도 백업에 따라 달라집니다.
어떤 구성을 고를까
이름이 많아 보이지만 고르는 기준은 결국 세 가지의 균형입니다 — 쓸 수 있는 용량, 견딜 수 있는 고장 수, 속도.
- RAID 0 — 나눠 쓰기만 하고 패리티가 없습니다. 용량과 속도는 최대지만 한 대만 죽어도 전부 잃습니다. 사실상 백업이 확실한 임시 작업 공간용입니다.
- RAID 1 — 통째로 복사본을 둡니다. 용량은 절반이지만 단순하고 복구가 빠릅니다. 디스크 두 대짜리 소형 NAS에서 흔합니다.
- RAID 5 — 이 데모가 다루는 방식. 패리티 하나, 고장 한 대까지. 용량 효율이 좋아 오래 쓰였습니다.
- RAID 6 — 패리티 둘, 고장 두 대까지. 가용성을 높이는 대신 RAID 5보다 쓸 수 있는 용량이 줄고 쓰기 계산이 늘어납니다.
어느 쪽을 골라도 바뀌지 않는 것이 하나 있습니다. 실수로 지운 파일과 랜섬웨어는 어떤 RAID도 막지 못합니다. 구성 선택은 "디스크 고장"이라는 한 가지 사고에 대한 답일 뿐입니다.
데모에서 해볼 일
- 디스크 1대 고장에서 저장 시작을 누르고, 스트라이프마다 패리티가 계산되는 것을 XOR 계산기에서 확인합니다.
- D2가 죽은 뒤 ⚡ 남은 블록들의 XOR로 잃어버린 값이 그대로 나오는 순간을 봅니다 — 실제 바이트 값이라 2진수로 검산할 수 있습니다.
- 디스크 2대 고장으로 바꿔, 미지수가 2개가 되어 식이 풀리지 않는 것을 확인합니다.
요약 세 가지
- 파일은 블록으로 나뉘어 저장되고, 같은 줄 블록들의 XOR이 패리티로 함께 저장됩니다.
- 디스크 하나가 죽으면 남은 블록들의 XOR로 잃어버린 블록이 그대로 복구됩니다.
- 견딜 수 있는 동시 고장은 딱 한 대 — RAID는 백업을 대신하지 못합니다.
참고
데모는 패리티를 마지막 디스크에 고정한 배치(RAID 4에 가까움)로 단순화했고, 실제 RAID 5는 쓰기 부하를 나누기 위해 패리티 위치를 스트라이프마다 돌려가며 둡니다. RAID라는 이름은 1988년 버클리의 논문에서 나왔습니다.
자료: Patterson, Gibson & Katz — A Case for Redundant Arrays of Inexpensive Disks (1988)
관련 글

NAS 미니랩 2/4 · 네트워크 드라이브에서 파일을 열 때 생기는 일
NAS 미니랩 두 번째. 더블클릭 한 번 뒤에 PC와 NAS가 주고받는 연결·로그인·권한 확인·조각 읽기 대화를 단계별로 눌러봅니다. 로그인이 되어도 권한이 없으면 왜 거부되는지까지.
2026.07.18
NAS 미니랩 3/4 · 백업 3-2-1 — RAID가 못 막는 재해에서 살아남기
NAS 미니랩 세 번째. 실수 삭제·랜섬웨어·화재라는 같은 재해 3종을 'NAS만 믿기'와 '3-2-1 지키기' 두 구성에 똑같이 때려서, 사본 배치에 따라 생존이 갈리는 걸 단계별로 눌러봅니다.
2026.07.18