피드로 돌아가기
The mdadm backup file: when it's needed, and when it isn't
Dev.toDev.to
Infrastructure

mdadm RAID5 Reshaping의 Crash-safe 메커니즘과 Backup File의 역할 분석

The mdadm backup file: when it's needed, and when it isn't

Imre Péntek2026년 5월 14일11intermediate

Context

RAID5 어레이의 용량 확장을 위해 드라이브를 추가하고 데이터 재배치를 수행하는 Reshaping 과정 분석. 마운트 상태의 File System에서 Online으로 구조를 변경할 때 발생하는 데이터 일관성 유지와 시스템 Crash 대응 능력이 핵심 과제임.

Technical Solution

  • suspend_losuspend_hi 지표를 통한 New/Old Geometry의 구분 및 영역별 I/O 제어로 온라인 가용성 유지
  • Reshape 초기 단계의 Chunk 읽기/쓰기 중첩 구간(Critical Section) 내 데이터 보호를 위한 Backup File 메커니즘 도입
  • 시스템 Crash 발생 시 알려진 상태로 복구하여 Reshaping을 재개하기 위한 상태 저장소로 Backup File 활용
  • 현대적 mdadm 버전에서는 미사용 파티션 영역을 활용한 내부 백업 최적화로 Backup File 의존도를 낮춘 설계 적용
  • RAID0와 달리 RAID5/6의 복잡한 패리티 구조 변경 시 데이터 무결성 보장을 위한 원자적 상태 전이 설계

1. 물리 하드웨어 적용 전 전 드라이브 대상 Full SMART Test 수행

2. Reshape 시작 전 데이터 무결성 검증을 위한 Scrubbing 프로세스 완료

3. 드라이브 축소(Shrinking) 작업 시 반드시 `--backup-file` 옵션 명시

4. Reshape 진행 중 `/proc/mdstat` 및 `/sys/block/mdX/md/suspend_lo`를 통한 진행 상태 모니터링

원문 읽기