공든탑앱 열기

RAID 레벨

리눅스마스터 2급 · 리눅스 설치 · 약 10분

쉽게 말하면

디스크 여러 개를 한 팀으로 묶어 쓰는 방법이에요. 일을 나눠 빨리하거나(0번 방식), 똑같이 두 벌 써 두어 하나가 고장 나도 버티거나(1번), 둘을 섞은 방식(5, 6, 10번)이 있어요. 고장에 강할수록 실제로 쓸 수 있는 용량은 줄어요.

시험용 정의

RAID(Redundant Array of Independent Disks)는 여러 디스크를 묶어 성능을 높이거나 장애에 대비하는 기술이다. 묶는 방식에 따라 레벨(0, 1, 5, 6, 10 등)로 나뉜다. 하드웨어 RAID 카드나 리눅스 소프트웨어 RAID(mdadm)로 구성한다.

비유로 이해하기

RAID 0은 일을 여러 명이 나눠서 빨리 하기(한 명이 아프면 전체 실패), RAID 1은 같은 일을 두 명이 똑같이 하기(한 명이 아파도 됨), RAID 5는 나눠 하면서 누가 빠져도 되게 요약 노트(패리티)를 돌려 가며 쓰기다.

자세히

세 가지 기본 기법

  • 스트라이핑: 데이터를 작은 조각으로 잘라 여러 디스크에 번갈아 나눠 쓴다(1번 조각은 디스크 A, 2번은 B …)
    → 여러 디스크가 동시에 읽고 써서 빠르다. 대신 한 디스크만 망가져도 모든 파일의 조각이 빠져 전체를 잃는다
  • 미러링: 같은 데이터를 두 디스크에 똑같이 쓴다
    → 한쪽이 고장 나도 다른 쪽에 온전히 남는다. 대신 용량의 절반만 쓴다
  • 패리티: 여러 디스크의 데이터를 계산(XOR)해 만든 검산 값을 따로 저장한다. 디스크 하나가 빠지면 남은 데이터와 패리티로 빠진 내용을 거꾸로 계산해 되살린다
    → 디스크 하나 분량만 패리티에 쓰고 나머지는 모두 저장에 쓴다. 대신 쓸 때마다 패리티 계산이 필요하다

레벨 비교

레벨방식최소 디스크가용 용량장애 허용
RAID 0스트라이핑 (나눠 쓰기)2N × 크기 (100%)없음. 하나만 고장 나도 전체 손실
RAID 1미러링 (똑같이 복사)2크기 1개분 (50%)1개 (미러 쌍마다)
RAID 5스트라이핑 + 분산 패리티 1개3(N − 1) × 크기1개
RAID 6스트라이핑 + 분산 패리티 2개4(N − 2) × 크기2개
RAID 1+0 (10)미러링한 쌍들을 스트라이핑4N / 2 × 크기쌍마다 1개
RAID 4스트라이핑 + 전용 패리티 디스크3(N − 1) × 크기1개 (패리티 디스크 병목)

리눅스 소프트웨어 RAID

mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1. 상태는 cat /proc/mdstat, 자세히는 mdadm --detail /dev/md0. RAID용 파티션 타입 코드는 fd. RAID는 백업이 아니다: 실수로 지운 파일은 모든 디스크에서 함께 지워진다.

용량 계산 연습: 10GB 4개 → RAID-0 40GB, RAID-1(2쌍 미러) 20GB, RAID-5 30GB, RAID-6 20GB. 디스크 4개에서 저장 효율이 50%인 것은 RAID-1(10)과 RAID-6이다.

시험에 이렇게 나와요

확인 문제

Q1. 1TB 디스크 4개로 RAID 5를 구성하면 실제로 쓸 수 있는 용량은?

  1. 2TB
  2. 1TB
  3. 3TB
  4. 4TB
정답 보기

3번 3TB

RAID 5는 디스크 1개 분량을 패리티(복구용 정보)에 쓴다. 가용 용량 = (N − 1) × 디스크 크기 = 3 × 1TB = 3TB. 디스크 1개가 고장 나도 패리티로 데이터를 복구할 수 있다.

Q2. 20GB 디스크 4개로 RAID-5를 구성했을 때 사용 가능한 용량은?

  1. 20GB
  2. 80GB
  3. 60GB
  4. 40GB
정답 보기

3번 60GB

(4−1) × 20 = 60GB.

Q3. 디스크 한 개만 고장 나도 전체 데이터를 잃는 RAID 레벨은?

  1. RAID-1
  2. RAID-0
  3. RAID-5
  4. RAID-6
정답 보기

2번 RAID-0

RAID-0은 패리티·미러가 없다.

Q4. 성능은 가장 좋지만 디스크 하나만 고장 나도 모든 데이터를 잃는 레벨은?

  1. RAID 6
  2. RAID 1
  3. RAID 5
  4. RAID 0
정답 보기

4번 RAID 0

RAID 0(스트라이핑)이다. 데이터를 나눠 저장해 빠르지만 중복이 없어 하나만 고장 나도 모두 잃는다.

Q5. RAID 6를 구성하기 위한 최소 디스크 수는?

  1. 2
  2. 3
  3. 4
  4. 5
정답 보기

3번 4

패리티 2개 + 데이터 2개 = 4.

Q6. 500GB 디스크 2개로 RAID 1을 구성하면 가용 용량은?

  1. 250GB
  2. 500GB
  3. 750GB
  4. 1TB
정답 보기

2번 500GB

500GB다. RAID 1은 두 디스크에 똑같이 쓰는 미러링이라 전체 용량의 절반만 쓴다.

Q7. 리눅스에서 소프트웨어 RAID를 관리하는 명령은?

  1. fdisk -r
  2. raidctl
  3. lvcreate
  4. mdadm
정답 보기

4번 mdadm

mdadm이다. 소프트웨어 RAID 장치(/dev/md0 등)를 만들고 관리한다. lvcreate는 LVM의 논리 볼륨을 만든다.

헷갈리기 쉬운 O·X

RAID 5는 디스크 2개가 동시에 고장 나도 데이터를 복구할 수 있다.

정답 보기

X 1개까지. 2개는 RAID 6.

RAID를 구성하면 별도의 백업은 필요 없다.

정답 보기

X RAID는 디스크 고장 대비일 뿐, 삭제·랜섬웨어 등은 막지 못한다.

RAID 1+0은 미러링과 스트라이핑을 함께 사용한다.

정답 보기

O 맞는 설명이다.

함께 보면 좋은 개념