본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

리눅스 커널의 md(Multiple Devices) 드라이버를 이용해 소프트웨어 RAID 장치를 만들고 관리한다.

  • mdadm 패키지에 포함되어 있다.
  • 경로 : /usr/sbin/mdadm
  • 만들어진 RAID 장치는 /dev/md0, /dev/md1 같은 이름을 가지며, 상태는 /proc/mdstat에서 확인한다.
  • 설정 파일 : /etc/mdadm.conf (Ubuntu/Debian은 /etc/mdadm/mdadm.conf)
# mdadm [모드] [RAID장치] [옵션] [구성장치...]
# mdadm --create /dev/md0 --level=[레벨] --raid-devices=[개수] [장치...]
  • -C, --create : 새 RAID 배열을 만든다.
  • -A, --assemble : 이미 만들어진 배열을 다시 조립해 활성화한다.
  • -D, --detail : 활성화된 RAID 장치의 자세한 정보를 출력한다.
  • -E, --examine : 구성 장치에 기록된 md 슈퍼블록 정보를 출력한다.
  • -S, --stop : RAID 장치를 정지한다.
  • -Q, --query : 장치가 md 장치인지, 배열의 구성원인지 간단히 확인한다.
  • --manage : 동작 중인 배열에 장치를 추가/제거한다. (--add, --remove, --fail을 쓰면 생략할 수 있다)
  • -l, --level= : RAID 레벨을 지정한다. (0, 1, 4, 5, 6, 10, linear 등)
  • -n, --raid-devices= : 배열을 구성하는 활성 장치 개수를 지정한다.
  • -x, --spare-devices= : 예비(spare) 장치 개수를 지정한다.
  • -c, --chunk= : 청크 크기(KB)를 지정한다.
  • -s, --scan : 설정 파일이나 /proc/mdstat에서 배열 정보를 찾아 사용한다. --detail과 함께 쓰면 mdadm.conf 형식으로 출력한다.
  • -a, --add : 배열에 장치를 추가한다.
  • -r, --remove : 배열에서 장치를 제거한다. (실패 또는 예비 상태여야 한다)
  • -f, --fail : 장치를 실패(faulty) 상태로 표시한다.
  • --zero-superblock : 장치에 남은 md 슈퍼블록을 지워 다른 용도로 쓸 수 있게 한다.
  • -v, --verbose : 자세한 정보를 출력한다.

RAID 레벨별 최소 디스크

편집 원본 편집
레벨 방식 최소 디스크 사용 가능 용량
RAID 0 스트라이핑 2 N
RAID 1 미러링 2 N/2
RAID 5 분산 패리티 3 N-1
RAID 6 이중 분산 패리티 4 N-2
RAID 10 미러링 + 스트라이핑 4 N/2
# mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdb1 /dev/sdc1
  • 디스크 2개로 RAID 0(스트라이핑) 장치 /dev/md0을 만든다.
# mdadm -C /dev/md1 -l 1 -n 2 /dev/sdd1 /dev/sde1
  • 디스크 2개로 RAID 1(미러링) 장치를 만든다. 짧은 옵션을 사용한 형태이다.
# mdadm --create /dev/md5 --level=5 --raid-devices=3 --spare-devices=1 /dev/sd[b-e]1
  • 디스크 3개로 RAID 5를 만들고 1개를 예비 디스크로 둔다.
# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sde1[1] sdd1[0]
      1046528 blocks super 1.2 [2/2] [UU]
# mdadm --detail /dev/md1
  • /proc/mdstat에서 전체 RAID 상태를, --detail로 특정 장치의 상세 정보를 확인한다. [UU]는 두 디스크가 모두 정상이라는 뜻이다.
# mdadm --detail --scan >> /etc/mdadm.conf
# mkfs.xfs /dev/md1
# mount /dev/md1 /raid1
  • 배열 정보를 설정 파일에 기록해 재부팅 후에도 같은 이름으로 조립되게 하고, 파일 시스템을 만들어 마운트한다.
# mdadm /dev/md1 --fail /dev/sdd1
# mdadm /dev/md1 --remove /dev/sdd1
# mdadm /dev/md1 --add /dev/sdf1
# mdadm --stop /dev/md1
  • 장애 디스크를 실패로 표시해 제거하고 새 디스크를 추가한다. 마지막 줄은 RAID 장치를 정지한다.
  • RAID 생성 명령의 빈칸 채우기(--create, --level, --raid-devices)가 자주 나온다.
  • RAID 레벨별 최소 디스크 수와 사용 가능 용량을 계산하는 문제가 나온다.
  • 상태 확인 파일 /proc/mdstat, 설정 파일 /etc/mdadm.conf, mdadm --detail --scan의 용도를 묻는다.
  • fdisk로 파티션을 만들 때 시스템 ID를 fd(Linux raid autodetect)로 지정한다.