RAID는 여러 디스크를 조합해서 성능이나 안정성을 높이는 기술입니다. 서버 환경에서 거의 필수적으로 사용되고, 각 레벨의 차이를 물어봅니다.


RAID란

RAID(Redundant Array of Independent Disks)는 여러 개의 물리 디스크를 묶어 하나의 논리 디스크로 사용하는 기술 입니다.

RAID 레벨 비교

목적:

  • 성능 향상: 여러 디스크에 동시 읽기/쓰기 (병렬 I/O)
  • 안정성 향상: 디스크 하나가 고장나도 데이터 보존
  • 둘 다 동시에 달성하려면 트레이드오프가 필요

RAID 0 — 스트라이핑

데이터를 여러 디스크에 분산 저장(스트라이핑) 합니다. 중복 저장 없음.

PLAINTEXT
데이터: A B C D E F G H

디스크1: A C E G
디스크2: B D F H
항목
최소 디스크 수2
사용 가능 용량N × 디스크 용량 (100%)
읽기 성능N배 향상
쓰기 성능N배 향상
내결함성없음 — 하나 고장 = 전체 데이터 손실

용도: 임시 데이터, 캐시, 백업이 있는 환경에서 순수 성능이 필요할 때


RAID 1 — 미러링

같은 데이터를 두 디스크에 동일하게 복사(미러링) 합니다.

PLAINTEXT
데이터: A B C D

디스크1: A B C D
디스크2: A B C D  (동일한 복사본)
항목
최소 디스크 수2
사용 가능 용량N/2 × 디스크 용량 (50%)
읽기 성능2배 (두 디스크에서 동시 읽기 가능)
쓰기 성능1배 (양쪽에 다 써야 함)
내결함성1개 디스크 고장 허용

용도: OS 부팅 디스크, 중요한 로그, 소규모 데이터베이스


RAID 5 — 분산 패리티

데이터를 스트라이핑하면서 패리티(오류 복구 정보)를 분산 저장 합니다.

PLAINTEXT
디스크1: A1  B1  Cp  D1
디스크2: A2  Bp  C1  D2
디스크3: Ap  B2  C2  Dp

p = 패리티 블록 (다른 블록들의 XOR)

패리티 복구 원리:

PLAINTEXT
A1 XOR A2 = Ap
→ A1이 손실되면: A1 = A2 XOR Ap 로 복구
항목
최소 디스크 수3
사용 가능 용량(N-1) × 디스크 용량
읽기 성능좋음 (스트라이핑 효과)
쓰기 성능패리티 계산으로 RAID 0보다 느림
내결함성1개 디스크 고장 허용

용도: 웹 서버, 파일 서버 — 용량 효율과 안정성의 균형


RAID 6 — 이중 분산 패리티

RAID 5와 비슷하지만 패리티를 2개 저장합니다. 동시에 2개 디스크가 고장나도 복구 가능합니다.

항목
최소 디스크 수4
사용 가능 용량(N-2) × 디스크 용량
내결함성2개 디스크 고장 허용
쓰기 성능RAID 5보다 느림 (패리티 2개 계산)

용도: 대용량 스토리지, 디스크 수가 많은 환경 (디스크가 많을수록 동시 고장 확률 증가)


RAID 10 (RAID 1+0) — 미러링 + 스트라이핑

RAID 1(미러링)을 먼저 만들고, 그 미러 세트를 RAID 0(스트라이핑)으로 묶습니다.

PLAINTEXT
       RAID 0 (스트라이핑)
      ┌──────────┬──────────┐
   RAID 1     RAID 1
  ┌────┬────┐ ┌────┬────┐
  │D1  │D2  │ │D3  │D4  │
  │A,C │A,C │ │B,D │B,D │
  └────┴────┘ └────┴────┘
  미러         미러
항목
최소 디스크 수4
사용 가능 용량N/2 × 디스크 용량 (50%)
읽기 성능매우 좋음
쓰기 성능좋음 (패리티 계산 없음)
내결함성각 미러 세트에서 1개씩 고장 허용

용도: 데이터베이스 서버 — 성능과 안정성 모두 중요한 환경. 비용이 높지만 가장 많이 선택됨.


RAID 비교 정리

RAID방식최소 디스크용량 효율내결함성성능주 용도
0스트라이핑2100%없음최고임시 데이터
1미러링250%1개읽기 좋음OS, 로그
5분산 패리티3(N-1)/N1개읽기 좋음파일 서버
6이중 패리티4(N-2)/N2개보통대용량 스토리지
10미러+스트라이프450%미러당 1개최고데이터베이스

소프트웨어 RAID vs 하드웨어 RAID

소프트웨어 RAID하드웨어 RAID
구현OS에서 처리 (mdadm)전용 RAID 카드(컨트롤러)
비용무료RAID 카드 비용
CPU 부하있음 (패리티 계산)없음 (전용 칩)
성능중간좋음 (캐시 포함)
BASH
# 리눅스 소프트웨어 RAID 생성 (RAID 1)
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1

# RAID 상태 확인
cat /proc/mdstat

핵심 포인트

  • RAID 5 vs RAID 10: DB는 RAID 10(쓰기 성능 + 안정성), 파일 서버는 RAID 5(용량 효율)
  • RAID는 백업이 아닙니다: RAID는 디스크 고장에 대한 대비이지, 실수로 삭제한 데이터는 복구 불가
  • RAID 5의 Write Hole: 정전 시 데이터와 패리티가 불일치할 수 있는 문제 → 배터리 백업 캐시(BBU)로 대응

정리

RAID 선택은 성능 vs 안정성 vs 비용 의 트레이드오프입니다. 각 레벨의 최소 디스크 수, 용량 효율, 내결함성을 정확히 알고 있어야 하며, "데이터베이스에는 RAID 10, 파일 서버에는 RAID 5"라는 실제 판단 기준을 설명할 수 있으면 좋습니다.

댓글 로딩 중...