핵심 인사이트 (3줄 요약)

  1. 본질: RAID (Redundant Array of Independent Disks) 5는 데이터 블록을 여러 디스크에 나눠 쓰되, 복구용 패리티 (Parity)도 함께 분산 저장하여 성능·용량·가용성의 균형을 노리는 아키텍처다.
  2. 가치: 같은 개수의 디스크를 쓰더라도 RAID 1보다 가용 용량이 크고, RAID 0보다 안전하며, RAID 4보다 쓰기 병목이 적어 범용 파일 서버와 NAS (Network Attached Storage)에 널리 쓰였다.
  3. 판단 포인트: RAID 5의 핵심 한계는 디스크 1개까지만 장애를 허용한다는 점과, 작은 쓰기마다 패리티를 다시 계산해야 하는 쓰기 페널티가 있다는 점이다.

Ⅰ. 개요 및 필요성

RAID 5는 여러 개의 디스크에 데이터를 스트라이핑 (Striping)하면서도, 각 스트라이프마다 패리티 정보를 분산 저장해 디스크 1개 장애를 견디는 저장장치 구성 방식이다. 순수 성능만 추구하는 RAID 0은 디스크 하나만 고장 나도 전체 데이터가 무너지고, 순수 복제 방식인 RAID 1은 안정적이지만 용량 효율이 절반 수준으로 떨어진다. RAID 5는 이 두 극단 사이에서 "적당히 빠르고, 적당히 안전하며, 용량 손실도 감당 가능한" 현실적 절충안으로 등장했다.

특히 서버와 스토리지는 읽기 요청이 많고, 저장 용량 단가가 중요한 경우가 많다. 이때 모든 블록을 두 벌씩 복제하지 않고도 장애 복구 능력을 얻을 수 있다면 비용 효율이 크게 좋아진다. RAID 5는 바로 이 지점에서 패리티를 활용해, 디스크 1개 분량의 오버헤드만으로 전체 어레이의 신뢰성을 끌어올렸다.

이 섹션의 그림은 RAID 5가 왜 "복제" 대신 "복구 공식"을 선택했는지 보여준다.

┌──────────────────────────────────────────────────────────────────────┐
│            RAID 5가 해결하려는 문제: 속도와 안정성의 절충            │
├──────────────────────────────────────────────────────────────────────┤
│ RAID 0  : [D1][D2][D3]  빠름, 하지만 디스크 1개 고장 = 전체 손실     │
│ RAID 1  : [A ][A ]      복구 쉬움, 하지만 용량 효율 50%              │
│ RAID 5  : [A ][B ][P ]  데이터 분산 + 패리티 보관으로 1개 장애 허용  │
│                         (P = 복제본이 아니라 복구 계산용 정보)        │
└──────────────────────────────────────────────────────────────────────┘

핵심은 패리티가 "데이터를 하나 더 복사한 것"이 아니라, 사라진 블록을 역산하기 위한 최소한의 추가 정보라는 점이다. 그래서 RAID 5는 비용을 통제하면서도 읽기 확장성과 장애 대응력을 동시에 확보하려는 설계에서 오랫동안 표준적인 선택지였다.

📢 섹션 요약 비유: RAID 5는 공책을 한 권 더 통째로 베끼는 대신, "어느 칸이 비어도 다시 맞춰 넣을 수 있는 계산 규칙"을 함께 적어 두는 방식이다. 숙제 복사본을 통째로 만드는 RAID 1보다 싸고, 아무 대비 없이 원본만 나눠 들고 다니는 RAID 0보다 안전하다.


Ⅱ. 아키텍처 및 핵심 원리

RAID 5의 내부 원리는 스트라이프 단위의 데이터 분산과 XOR (Exclusive OR) 기반 패리티 계산으로 요약된다. 예를 들어 4개의 디스크가 있으면 한 스트라이프에서 3개 디스크는 데이터 블록을, 나머지 1개 디스크는 패리티 블록을 저장한다. 다음 스트라이프에서는 패리티 위치를 다른 디스크로 돌려, 특정 디스크 하나가 패리티 전담 병목이 되지 않게 만든다.

아래 그림은 분산 패리티가 어떻게 회전하는지 보여준다.

┌──────────────────────────────────────────────────────────────────────┐
│                 RAID 5의 분산 패리티 (Distributed Parity)             │
├──────────┬──────────────┬──────────────┬──────────────┬──────────────┤
│ Stripe   │ Disk 1       │ Disk 2       │ Disk 3       │ Disk 4       │
├──────────┼──────────────┼──────────────┼──────────────┼──────────────┤
│ 1        │ Data A1      │ Data A2      │ Data A3      │ Parity A     │
│ 2        │ Data B1      │ Data B2      │ Parity B     │ Data B3      │
│ 3        │ Data C1      │ Parity C     │ Data C2      │ Data C3      │
│ 4        │ Parity D     │ Data D1      │ Data D2      │ Data D3      │
└──────────┴──────────────┴──────────────┴──────────────┴──────────────┘

이 구조 덕분에 RAID 4처럼 패리티 디스크 하나에 모든 쓰기가 몰리지 않는다. 또한 가용 용량은 디스크 수 N - 1개 분량으로 계산된다. 예를 들어 2TB 디스크 4개라면 전체 원시 용량은 8TB지만, RAID 5 가용 용량은 6TB다. 나머지 2TB 상당 공간이 각 스트라이프의 패리티로 분산되어 들어간다.

복구 원리도 단순하다. 같은 스트라이프에서 Parity = A ⊕ B ⊕ C라면, 특정 블록이 사라졌을 때 A = Parity ⊕ B ⊕ C처럼 역산할 수 있다. 그래서 디스크 1개가 고장 나면 남은 데이터 블록과 패리티 블록을 읽어 잃어버린 내용을 재구성한다.

다만 작은 쓰기에서는 성능 비용이 생긴다. 블록 하나를 수정할 때 컨트롤러는 보통 기존 데이터 읽기 → 기존 패리티 읽기 → 새 패리티 계산 → 새 데이터 쓰기 → 새 패리티 쓰기 순서로 움직인다. 계산 과정 자체는 메모리 내부 연산이지만, 실제 백엔드 I/O는 흔히 4회로 요약되며 이를 RAID 5의 대표적인 쓰기 페널티 4로 설명한다.

항목RAID 5에서의 의미설계상 영향
스트라이핑데이터를 여러 디스크에 병렬 배치읽기 성능과 처리량 향상
패리티 분산패리티 위치를 디스크 전반에 회전 저장RAID 4의 패리티 병목 완화
장애 허용 범위디스크 1개 고장까지 복구 가능가용성 향상, 그러나 2개 동시 고장은 치명적
쓰기 페널티패리티 갱신을 위한 추가 읽기/쓰기 필요작은 랜덤 쓰기 성능 저하

📢 섹션 요약 비유: 네 명이 조별 과제를 하는데, 한 명만 매번 기록 담당이면 그 학생에게 일이 몰린다. RAID 5는 회차마다 기록 담당을 돌아가게 해 병목을 줄이지만, 내용을 고칠 때마다 예전 기록까지 다시 확인해야 해서 수정 작업은 여전히 번거롭다.


Ⅲ. 비교 및 연결

RAID 5를 제대로 이해하려면 RAID 4, RAID 6, RAID 10과의 경계를 함께 봐야 한다. RAID 4는 블록 단위 스트라이핑과 단일 패리티라는 점은 비슷하지만, 패리티가 한 디스크에 고정되어 쓰기 병목이 심하다. RAID 5는 이 패리티를 분산해 병목을 완화했다는 점이 핵심 진보다.

반면 RAID 6은 RAID 5의 후속 보강판이다. 패리티를 하나 더 두어 디스크 2개 동시 장애까지 견디지만, 계산 복잡도와 쓰기 비용이 더 커진다. RAID 10은 패리티를 쓰지 않고 미러링 (Mirroring)과 스트라이핑을 결합해 높은 쓰기 성능과 빠른 리빌드 (Rebuild)를 얻지만, 용량 효율이 50% 수준으로 제한된다.

구분RAID 4RAID 5RAID 6RAID 10
패리티 방식전용 패리티 디스크 1개분산 패리티 1개분산 이중 패리티패리티 없음
허용 장애1개1개2개미러 쌍 기준 일부 다중 장애 가능
작은 쓰기 성능병목 큼보통더 느림우수
용량 효율좋음좋음RAID 5보다 낮음낮음
대표 용도현재는 드묾범용 파일 서버, 중간급 NAS대용량 고신뢰 스토리지DB, VM, 고성능 워크로드

시스템 관점에서 RAID 5는 단순 저장 기술이 아니라, 가용성·성능·비용을 어디에서 타협할지를 보여주는 고전적 사례다. 데이터베이스에서는 작은 랜덤 쓰기가 많아 RAID 10이 선호될 수 있고, 백업 저장소나 읽기 중심 파일 서버에서는 RAID 5가 여전히 실용적일 수 있다. 즉 RAID 레벨 선택은 기술 취향이 아니라 I/O 패턴과 장애 모델을 반영한 아키텍처 판단이다.

📢 섹션 요약 비유: RAID 4는 반장 한 명에게 출석부를 계속 맡기는 방식이고, RAID 5는 출석부 담당을 돌아가게 하는 방식이다. RAID 6은 출석부를 두 벌의 다른 규칙으로 적어 두는 방식이며, RAID 10은 애초에 학생 명단을 두 세트로 복사해 두는 방식이다.


Ⅳ. 실무 적용 및 기술사 판단

실무에서 RAID 5는 "쓸 만한 균형형 구성"이지만, 아무 환경에나 안전한 만능 해법은 아니다. 읽기 비중이 높고 예산이 제한적이며, 디스크 수가 아주 많지 않은 파일 서버·문서 저장소·중소형 NAS에서는 여전히 매력적이다. 반대로 트랜잭션 데이터베이스, 가상머신 스토리지, 로그 수집처럼 작은 랜덤 쓰기가 많은 환경에서는 패리티 갱신 오버헤드가 성능 병목으로 드러나기 쉽다.

또 하나의 판단 포인트는 리빌드 시간이다. 대용량 HDD (Hard Disk Drive) 환경에서는 디스크 하나가 고장 난 뒤 새 디스크로 재구성하는 데 수 시간에서 수십 시간이 걸릴 수 있다. 이 기간 동안 어레이는 성능이 떨어지고, 남은 디스크에 부하가 집중되며, 두 번째 장애가 발생하면 RAID 5는 전체 데이터를 잃는다. 그래서 최근 대용량 스토리지에서는 RAID 5보다 RAID 6 또는 Erasure Coding을 더 선호하는 사례가 많다.

실무 체크리스트

  1. 워크로드가 읽기 중심인가? 읽기 위주면 RAID 5의 장점이 살아난다.
  2. 디스크 용량이 매우 큰가? 10TB 이상 대용량 HDD가 많다면 리빌드 리스크를 더 보수적으로 봐야 한다.
  3. 작은 랜덤 쓰기가 많은가? 많다면 RAID 10이 더 적합할 수 있다.
  4. 핫 스페어 (Hot Spare)가 준비되어 있는가? 장애 직후 자동 리빌드를 시작할 수 있으면 위험 구간을 줄일 수 있다.

피해야 할 안티패턴

  • 대용량 SATA (Serial ATA) 디스크 여러 개를 묶어 미션 크리티컬 DB를 RAID 5로 구성하는 경우
  • 백업 없이 RAID 5만 믿고 "장애 대비가 끝났다"고 판단하는 경우
  • 서로 용량과 성능이 다른 디스크를 섞어 병목과 리빌드 지연을 키우는 경우

핵심은 RAID 5가 백업의 대체재가 아니라 가용성 향상 수단이라는 점이다. 디스크 1개 고장을 버틴다고 해서, 삭제 사고·랜섬웨어·파일 손상까지 해결해 주는 것은 아니다.

📢 섹션 요약 비유: RAID 5는 비 오는 날 쓰기 좋은 튼튼한 우산이지만, 태풍까지 막아 주는 지하 대피소는 아니다. 가벼운 비에는 효율적이지만, 폭풍이 자주 오는 지역이라면 더 강한 대비책이 필요하다.


Ⅴ. 기대효과 및 결론

RAID 5의 가장 큰 효과는 디스크 1개 분량의 오버헤드로 읽기 확장성과 기본 장애 허용력을 함께 확보한다는 데 있다. 같은 예산에서 RAID 1보다 더 큰 가용 용량을 확보할 수 있고, RAID 0보다 훨씬 안전한 운영이 가능하다. 그래서 오랫동안 범용 서버 스토리지의 표준 답안처럼 활용되었다.

하지만 현대 환경에서는 한계도 분명하다. 디스크 용량이 커질수록 리빌드 시간이 길어지고, 그 사이 두 번째 장애가 날 확률과 URE (Unrecoverable Read Error, 복구 불가능 읽기 오류) 위험이 커진다. 따라서 RAID 5는 여전히 중요한 기본 개념이지만, 오늘날에는 "언제 적합하고 언제 위험한가"까지 함께 기억해야 제대로 이해한 것이다.

결론적으로 RAID 5는 단순한 저장 기술이 아니라, 저장 시스템 설계에서 성능·용량·신뢰성을 한 번에 최적화할 수는 없으며 반드시 균형점을 선택해야 한다는 사실을 보여주는 대표적인 아키텍처다.

📢 섹션 요약 비유: RAID 5는 가족용 승용차와 같다. 연비도 괜찮고 짐도 어느 정도 실리며 일상 주행에는 충분히 좋지만, 서킷 경기용 스포츠카도 아니고 산악 구조용 장갑차도 아니다. 상황에 맞게 쓰면 훌륭하지만, 한계를 모르면 위험해진다.


📌 관련 개념 맵

개념연결 포인트
스트라이핑 (Striping)여러 디스크에 블록을 병렬 배치해 읽기 처리량을 높이는 기반 구조
패리티 (Parity)추가 복제 없이 손실 블록을 역산하게 해 주는 복구 정보
XOR (Exclusive OR)RAID 5 패리티 계산과 단일 블록 복구의 핵심 연산
리빌드 (Rebuild)장애 디스크 교체 후 남은 데이터와 패리티로 내용을 재구성하는 과정
RAID 6RAID 5의 단일 장애 한계를 보강한 이중 패리티 구조
RAID 10패리티 대신 미러링으로 쓰기 성능과 빠른 복구를 노리는 대안

📈 관련 키워드 및 발전 흐름도

RAID 0 / RAID 1의 극단적 선택
        │
        ▼
RAID 4의 단일 패리티 + 전용 패리티 디스크
        │
        ▼
RAID 5의 분산 패리티 (성능 병목 완화)
        │
        ├──────────────▶ 작은 쓰기 페널티 · 리빌드 리스크
        │
        ▼
RAID 6 / RAID-Z2 / Erasure Coding

이 흐름은 "속도 우선 → 용량 희생 복제 → 패리티 절충 → 대용량 시대의 추가 보호"로 저장장치 설계가 진화한 방향을 보여준다.

👶 어린이를 위한 3줄 비유 설명

  1. RAID 5는 장난감을 여러 상자에 나눠 담으면서, 하나를 잃어버려도 다시 맞출 수 있는 힌트 쪽지도 함께 넣어 두는 방법이에요.
  2. 힌트 쪽지를 한 상자에만 넣지 않고 돌아가며 넣어서, 한 상자만 너무 바빠지지 않게 만들어요.
  3. 그래서 상자 하나가 없어져도 다시 찾을 수 있지만, 한꺼번에 두 상자가 사라지면 너무 어려워져요.