본문 바로가기
IT/Nas

[Nas] NAS RAID 설정 트러블슈팅: 문제 진단부터 데이터 복구까지 완벽 가이드

by 수누다 2026. 4. 29.

NAS RAID 문제, 언제 터질지 아무도 모릅니다

새벽 2시, 갑자기 NAS에서 삐~ 소리가 납니다. 이메일 알림이 쏟아지고, "RAID degraded" 메시지가 화면을 가득 채웁니다. 13년 동안 인프라를 관리해오면서 이런 상황을 몇 번이나 겪었는지 모릅니다. 처음엔 손이 덜덜 떨리더니, 지금은 "아, 또 왔네" 하면서 커피 한 잔 내리고 시작합니다 ㅎㅎ

NAS RAID 문제 해결은 제때 대응하면 데이터를 살릴 수 있지만, 잘못 건드리면 멀쩡한 디스크까지 날릴 수 있는 위험한 작업입니다. 이 글에서는 제가 직접 겪었던 RAID 설정 오류 상황들과 그 해결 과정을 솔직하게 풀어드리려고 합니다. 혹시 지금 NAS 화면에 빨간 경고등이 켜져 있다면, 일단 침착하게 이 글을 읽어보세요.

▲ NAS RAID 구성과 트러블슈팅 흐름도 — 디스크 오류 감지부터 데이터 복구까지의 전체 과정

RAID가 뭔지 다시 한번 짚고 갑시다

RAID(Redundant Array of Independent Disks, 독립 디스크 중복 배열)는 쉽게 말해 여러 개의 하드디스크를 하나처럼 묶어서 사용하는 기술입니다. 홈랩에서 Synology나 QNAP NAS를 쓰시는 분들은 대부분 이미 RAID를 사용 중이시죠.

NAS에서 자주 쓰는 RAID 레벨을 표로 정리해봤습니다:

RAID 레벨 최소 디스크 특징 허용 고장 디스크 수
RAID 0 2개 스트라이핑, 성능 최우선 0개 (하나라도 고장 시 전멸)
RAID 1 2개 미러링, 완전 복제 1개
RAID 5 3개 패리티 분산, 균형잡힌 선택 1개
RAID 6 4개 이중 패리티, 안전성 강화 2개
RAID 10 4개 미러링 + 스트라이핑 각 미러 그룹에서 1개씩

홈랩에서는 RAID 5나 RAID 1을 많이 쓰시는데, 저도 홈 NAS는 RAID 5로, 중요한 백업 NAS는 RAID 6으로 운영하고 있습니다. RAID 6는 디스크 2개가 동시에 나가도 버티거든요. 비용이 좀 더 들지만 마음이 훨씬 편해요.

이런 증상이 보이면 RAID에 문제가 생긴 겁니다

NAS RAID 오류는 보통 세 가지 형태로 나타납니다. 제가 경험했던 증상들을 솔직하게 정리해봤어요.

1. Degraded 상태 (성능 저하 상태)

가장 흔한 케이스입니다. 디스크 하나가 고장났지만 아직 RAID는 동작 중인 상태예요. RAID 5 기준으로 디스크 1개가 빠진 거죠. 이 상태에선 데이터는 멀쩡히 접근되는데, 지금 당장 추가 디스크 고장이 나면 데이터 전멸이라는 공포 속에 살게 됩니다.

증상: NAS 관리 페이지에서 노란색/주황색 경고등, 이메일 알림, 느려진 전송 속도

2. Failed 상태 (완전 실패 상태)

RAID 어레이 자체가 죽어버린 상태입니다. RAID 5에서 디스크 2개 이상이 나가거나, RAID 1에서 2개 모두 나간 경우예요. 이럴 땐 데이터에 접근 자체가 안 됩니다. 처음 이 상황을 겪었을 때 솔직히 멍하더라고요 ㅎㅎ

3. Rebuild 중 추가 오류 (최악의 시나리오)

새 디스크로 RAID를 복구(리빌드)하는 중에 또 다른 디스크가 나가는 케이스. 제가 경험한 것 중에 가장 심장이 쫄깃했던 상황이었습니다. 리빌드 중에는 I/O가 엄청 늘어나서 이미 약해진 디스크에 스트레스를 더 주거든요.

NAS RAID 트러블슈팅 단계별 가이드

자, 이제 본격적으로 RAID 설정 문제를 어떻게 해결하는지 단계별로 알아보겠습니다. 급한 마음에 막 건드리다가 더 큰 일 납니다. 순서대로 차근차근 따라오세요.

▲ Synology NAS 스토리지 매니저에서 확인하는 RAID 어레이 상태 및 디스크 health 정보 화면

Step 1: 현재 상태 정확히 파악하기

먼저 NAS CLI(명령줄 인터페이스)에 접속해서 현재 RAID 상태를 정확히 봐야 합니다. Linux 기반 NAS라면 대부분 mdadm(MD RAID 관리 도구)을 사용합니다.

# 현재 RAID 어레이 상태 확인
cat /proc/mdstat

# 특정 어레이 상세 정보
mdadm --detail /dev/md0

# 모든 어레이 스캔
mdadm --detail --scan

cat /proc/mdstat 결과를 보면 이런 식으로 나와요:

Personalities : [raid5] [raid6]
md0 : active raid5 sda1[0] sdc1[2] sdd1[3]
      [3/4] [UUU_]    # 언더스코어(_)가 문제 디스크 위치!

# U = 정상, _ = 고장/누락

이 출력에서 [UUU_]처럼 언더스코어가 보이면, 그 위치의 디스크에 문제가 생긴 겁니다. 여기선 sdb가 빠진 거죠.

Step 2: 디스크 S.M.A.R.T. 진단 실행

SMART(Self-Monitoring, Analysis and Reporting Technology, 자가 모니터링 기술)로 각 디스크의 건강 상태를 체크합니다. 이걸 먼저 봐야 어떤 디스크가 진짜 고장인지, 아니면 일시적 오류인지 파악할 수 있어요.

# SMART 빠른 테스트 (2~5분 소요)
smartctl -t short /dev/sdb

# 테스트 결과 확인
smartctl -a /dev/sdb | grep -E "SMART|Reallocated|Pending|Uncorrectable"

# 전체 상세 정보 출력
smartctl -a /dev/sdb

주목해야 할 SMART 항목들:

  • Reallocated Sectors Count: 재할당된 섹터 수. 이게 높으면 디스크가 슬슬 죽어가는 중
  • Pending Sectors: 아직 재할당 대기 중인 불량 섹터
  • Uncorrectable Errors: 수정 불가능한 오류. 0이어야 정상
  • Power On Hours: 누적 가동 시간. 너무 오래됐으면 교체 고려

Step 3: 오류 로그 분석

시스템 로그에서 디스크 오류의 흔적을 찾아봅니다.

# 시스템 로그에서 디스크 관련 오류 검색
dmesg | grep -E "error|failed|I/O" | tail -50

# syslog에서 RAID 관련 이벤트
grep -E "md|raid|disk" /var/log/syslog | tail -100

여기서 찾아야 할 것: I/O error, read error, medium error 같은 메시지들. 이 오류들이 특정 디스크(sdb, sdc 등)에 집중된다면 그 디스크가 범인입니다.

Step 4: 고장 디스크 교체 및 RAID 재구성

원인 파악이 끝났으면 교체 작업을 시작합니다. 핫스왑(Hot-swap, 전원을 켠 채로 디스크 교체)이 지원되는 NAS라면 더 간단합니다.

  1. 문제 디스크를 어레이에서 제거
# 고장 디스크를 어레이에서 제거
mdadm /dev/md0 --fail /dev/sdb1
mdadm /dev/md0 --remove /dev/sdb1
  1. 물리적으로 디스크 교체 (핫스왑 지원 시 전원 유지 가능)
  2. 새 디스크 파티션 구성
# 기존 디스크 파티션 구조 확인
fdisk -l /dev/sda

# 기존 디스크의 파티션 테이블을 새 디스크에 복사
sfdisk -d /dev/sda | sfdisk /dev/sdb

# 파티션 확인
fdisk -l /dev/sdb
  1. 새 디스크를 어레이에 추가 (리빌드 시작)
# 새 디스크를 어레이에 추가
mdadm /dev/md0 --add /dev/sdb1

# 리빌드 진행 상황 모니터링
watch -n5 cat /proc/mdstat

리빌드 진행 중엔 이런 화면이 보입니다:

md0 : active raid5 sdb1[4] sda1[0] sdc1[2] sdd1[3]
      [4/4] [UUUU]
      [==========>.......]  recovery = 47.3% (...)
      finish=142.3min speed=123456K/sec

⚠️ 경고: 리빌드 중에는 절대로 NAS를 재부팅하거나 전원을 끄지 마세요! 가능하면 다른 서비스 사용을 최소화해서 디스크 부하를 줄이는 게 좋습니다.

데이터 복구: RAID가 완전히 실패한 경우

만약 RAID 어레이 자체가 죽어버렸다면? 이건 더 복잡한 상황이지만 포기하지 마세요. 제가 실제로 고객사 서버에서 RAID 5 어레이가 완전히 죽은 상황에서 데이터를 살려낸 경험이 있습니다.

방법 1: mdadm으로 어레이 재조립 시도

# 슈퍼블록 정보 스캔 (각 디스크에서)
mdadm --examine /dev/sda1
mdadm --examine /dev/sdb1
mdadm --examine /dev/sdc1

# 어레이 재조립 시도
mdadm --assemble --scan /dev/md0

# 슈퍼블록 손상 시 강제 조립 (마지막 수단!)
mdadm --assemble --force /dev/md0 /dev/sda1 /dev/sdb1 /dev/sdc1

근데 여기서 중요한 포인트! --force 옵션은 정말 마지막 수단으로 써야 합니다. 잘못 쓰면 더 꼬일 수 있어요.

방법 2: 디스크 이미지 먼저 뜨기 (필수!)

데이터 복구 작업 전에 반드시 디스크 이미지를 먼저 떠두세요. 복구 작업 자체가 실패할 경우를 대비한 보험입니다.

# ddrescue로 디스크 이미지 생성 (오류 내성이 좋음)
# apt-get install gddrescue 로 설치
ddrescue -f -n /dev/sda /mnt/backup/sda.img /mnt/backup/sda.log

# 2회차 (첫 번째 패스에서 실패한 섹터 재시도)
ddrescue -d -f -r3 /dev/sda /mnt/backup/sda.img /mnt/backup/sda.log

# 이미지 마운트 후 파일 접근
mount -o loop,ro /mnt/backup/sda.img /mnt/recovered

dd보다 ddrescue가 훨씬 좋은 이유는, 불량 섹터를 만나도 거기서 멈추지 않고 계속 진행하면서 나중에 다시 시도하거든요. 저도 처음엔 그냥 dd만 썼다가 오류 나서 멈추는 바람에 삽질했었습니다 ㅎㅎ

방법 3: TestDisk / PhotoRec 활용

mdadm으로 안 된다면 오픈소스 복구 도구를 써볼 수 있습니다.

# TestDisk 설치 및 실행 (파티션 테이블 복구)
apt-get install testdisk
testdisk /dev/sda

# PhotoRec (파일 시그니처 기반 복구)
photorec /dev/sda

TestDisk는 파티션 테이블과 파일시스템 복구에 특화되어 있고, PhotoRec은 이미 손상된 파일을 카빙(carving, 파일 시그니처 기반 복구)해서 건져냅니다. 포맷이 됐더라도 꽤 건져낼 수 있어요.

▲ ddrescue를 이용한 디스크 이미지 생성 과정과 복구율 실시간 모니터링 화면

자주 발생하는 NAS RAID 설정 문제와 해결법

문제 1: RAID 리빌드가 너무 느려요

리빌드 속도가 답답할 때 튜닝할 수 있는 방법입니다:

# 현재 리빌드 속도 한계 확인 (KB/s 단위)
cat /proc/sys/dev/raid/speed_limit_max
cat /proc/sys/dev/raid/speed_limit_min

# 일시적으로 속도 제한 높이기
echo 300000 > /proc/sys/dev/raid/speed_limit_max
echo 100000 > /proc/sys/dev/raid/speed_limit_min

💡 팁: 속도를 높이면 시스템 전체 성능에 영향을 줍니다. 업무 시간 이후에 속도 올리고, 낮에는 낮추는 방식으로 운영하면 좋아요.

문제 2: 디스크는 정상인데 어레이가 Degraded

가끔 디스크 자체는 멀쩡한데 어레이에서 빠지는 경우가 있습니다. 케이블 불량이나 컨트롤러 문제일 수 있어요.

# 해당 디스크 슈퍼블록 확인
mdadm --examine /dev/sdb1

# 케이블/슬롯 점검 후 수동으로 다시 추가
mdadm --manage /dev/md0 --add /dev/sdb1

문제 3: 파일시스템 오류 (RAID는 정상인데 마운트 안 됨)

RAID 어레이 자체는 살아있는데 그 위의 파일시스템이 손상된 경우입니다.

# ext4 파일시스템 검사 및 복구
# 반드시 언마운트 상태에서 실행!
fsck.ext4 -y /dev/md0

# XFS 파일시스템
xfs_repair /dev/md0

# Btrfs 파일시스템
btrfs check --repair /dev/md0

⚠️ fsck는 절대로 마운트된 파일시스템에 실행하면 안 됩니다. 더 크게 망가집니다. 꼭 언마운트 후에!

문제 4: 재부팅 후 어레이가 자동으로 올라오지 않음

mdadm 설정 파일에 어레이 정보가 없어서 생기는 문제입니다.

# mdadm 설정 파일 재생성
mdadm --detail --scan >> /etc/mdadm/mdadm.conf

# 내용 확인
cat /etc/mdadm/mdadm.conf

# initramfs 업데이트 (Debian/Ubuntu)
update-initramfs -u

RAID가 있어도 백업은 필수입니다 (제발요)

13년 동안 인프라 일을 하면서 가장 많이 강조한 말이 있습니다: "RAID는 백업이 아닙니다."

RAID는 디스크 고장에 대한 가용성(availability)을 제공하지, 데이터 보호 자체를 보장하는 게 아닙니다. 다음 시나리오는 RAID로 막을 수 없어요:

  • 실수로 파일 삭제 → 전체 어레이에 즉시 반영됨
  • 랜섬웨어 감염 → 마운트된 모든 파일이 암호화됨
  • NAS 본체 고장 (화재, 침수, 전원 서지)
  • RAID 컨트롤러 고장으로 메타데이터 손상

3-2-1 백업 원칙(3개의 복사본, 2가지 다른 미디어, 1개는 오프사이트)은 NAS RAID 운영에서도 기본 중의 기본입니다. 다음 글에서는 홈랩 NAS의 효율적인 백업 전략을 자세히 다룰 예정이니 참고하세요.

▲ NAS RAID 트러블슈팅 핵심 체크리스트와 3-2-1 백업 전략 요약 인포그래픽

정리: NAS RAID 트러블슈팅 핵심 체크리스트

마지막으로 RAID 문제가 생겼을 때 기억해야 할 핵심을 정리합니다.

상황 우선 조치 주의사항
RAID Degraded SMART 체크 → 고장 디스크 확인 후 교체 리빌드 전 백업 상태 반드시 확인
RAID Failed 디스크 이미지 생성 → 복구 도구 활용 원본 디스크 보존, 복사본으로만 작업
리빌드 중 추가 오류 즉시 중단 → 전문 복구 도구 또는 전문가 추가 작업 금지, 디스크 이미지 우선
파일시스템 오류 언마운트 후 fsck 실행 마운트 상태에서 fsck 절대 금지
자동 마운트 실패 mdadm.conf 재생성 후 initramfs 업데이트 설정 파일 백업 습관화

NAS RAID 트러블슈팅은 경험이 쌓일수록 훨씬 침착하게 대응할 수 있게 됩니다. 처음엔 무섭지만, 체계적으로 접근하면 대부분의 상황은 해결됩니다. 중요한 건 패닉하지 말고 순서대로 진행하는 것이에요.

혹시 지금 당장 NAS RAID 문제를 겪고 계신가요? 댓글로 상황을 공유해주시면 같이 해결해봅시다. 이런 거 함께 나누는 게 커뮤니티의 힘이라고 생각하거든요.