mdadm
mdadm
mdadm (Multiple Disk Admin)은 리눅스 커널의 소프트웨어 RAID(Redundant Array of Independent Disks)를 관리하기 위한 강력한 명령줄 도구입니다. 이 도구를 통해 사용자는 여러 개의 물리적 디스크를 하나의 논리적 장치로 묶어 성능을 향상시키거나, 데이터 중복 저장을 통해 디스크 장애 시에도 데이터를 보호할 수 있습니다.
개요
mdadm은 RAID 배열의 생성, 관리, 모니터링 및 복구를 담당합니다. 하드웨어 RAID 컨트롤러 없이도 운영체제 수준에서 RAID를 구현할 수 있게 해주며, 유연한 설정과 다양한 RAID 레벨을 지원하는 것이 특징입니다.
RAID 레벨별 특징
| RAID 레벨 | 명칭 | 최소 디스크 수 | 특징 | 장점 | 단점 |
|---|---|---|---|---|---|
| RAID 0 | 스트라이핑 | 2 | 데이터를 여러 디스크에 분산 저장 | 읽기/쓰기 속도 최대화 | 디스크 1개만 고장 나도 전체 데이터 손실 |
| RAID 1 | 미러링 | 2 | 동일한 데이터를 두 개 이상의 디스크에 복제 | 높은 데이터 안정성 및 가용성 | 저장 용량 효율 저하 (50%) |
| RAID 5 | 분산 패리티 | 3 | 데이터와 패리티 정보를 분산 저장 | 성능과 안정성의 균형 | 디스크 2개 동시 고장 시 데이터 손실 |
| RAID 6 | 이중 패리티 | 4 | 패리티 정보를 두 군데에 분산 저장 | 디스크 2개 고장 시에도 복구 가능 | RAID 5보다 쓰기 성능 저하 |
| RAID 10 | 1+0 | 4 | RAID 1(미러링) 후 RAID 0(스트라이핑) | 매우 높은 성능과 안정성 | 비용 높음 (용량 효율 50%) |
설치 및 설정
주요 리눅스 배포판에서 mdadm을 설치하는 방법은 다음과 같습니다.
Ubuntu / Debian 계열
sudo apt update
sudo apt install mdadm
CentOS / RHEL / Fedora 계열
sudo yum install mdadm
# 또는
sudo dnf install mdadm
주요 명령어 사용법
1. RAID 배열 생성 (--create)
새로운 RAID 장치를 생성합니다. 아래 예시는 /dev/sdb와 /dev/sdc를 사용하여 RAID 1 배열을 생성하는 예시입니다.
sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc
2. 배열 상태 확인 (--detail)
현재 구성된 RAID 배열의 상세 정보(상태, 디스크 구성, 동기화 진행률 등)를 확인합니다.
sudo mdadm --detail /dev/md0
3. 디스크 교체 및 재동기화 (--manage)
장애가 발생한 디스크를 제거하고 새로운 디스크를 추가하여 배열을 복구합니다.
장애 디스크 제거:
sudo mdadm /dev/md0 --manage --remove /dev/sdb
새 디스크 추가:
sudo mdadm /dev/md0 --manage --add /dev/sdb
4. 배열 삭제 및 슈퍼블록 제거 (--zero-superblock)
RAID 배열을 해제하고, 디스크에 남아있는 RAID 메타데이터(슈퍼블록)를 완전히 삭제하여 일반 디스크로 되돌립니다.
배열 중지:
sudo mdadm --stop /dev/md0
슈퍼블록 제거:
sudo mdadm --zero-superblock /dev/sdb /dev/sdc
트러블슈팅 및 주의사항
주의: 데이터 백업 필수 RAID는 데이터 가용성을 높여주지만, 백업의 대체재가 아닙니다. 설정 실수나 컨트롤러 오류, 다중 디스크 장애 시 데이터가 완전히 손실될 수 있으므로 항상 별도의 백업을 유지하십시오.
- 부팅 시 RAID 인식 문제:
mdadm.conf파일에 배열 설정을 저장하고initramfs를 업데이트해야 부팅 시 자동으로 RAID 장치가 마운트됩니다.sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf sudo update-initramfs -u - 동기화 상태 확인: 새로운 디스크 추가 후
/proc/mdstat파일을 통해 재동기화(Resyncing) 진행 상황을 실시간으로 확인할 수 있습니다.cat /proc/mdstat
이 문서는 AI 모델(gemma-4-31b)에 의해 생성된 콘텐츠입니다.
주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.