0. 문제 상황 만들기

정상 상태 확인

  • sdb, sdc, sdd가 md0으로 묶여있는 채로 /data에 마운트 되어 있음
  • 우리는 여기서 하나를 임의로 제거할 것

방법 1. mdadm 명령어로 일부러 fail 만들기

  • 디스크 하나를 강제로 장애가 났다고 판정하는 명령어가 있음
mdadm <RAID_구성_경> --fail <장애_판정할_디스크_위>
  • 예시
mdadm /dev/md0 --fail /dev/sdb

  • 그리고 mdadm 상태를 보면 아래처럼 하나 문제 생겼다고 되어있음

  • 일단 그러면 RAID 구성에서 오류난 디스크를 뺌
mdadm /dev/md0 --remove /dev/sdb

  • 그리고 다시 디테일 확인해보면 아래처럼 되어있음

  • 그러면 그 문제생긴 디스크를 빼고 다음을 진행함

방법 2. RAID에 들어간 디스크를 일부러 빼기

  • 가상 머신 설정에 들어가서 디스크를 하나 일부러 빼봄
  • 그리고 재부팅함

1. 문제 상황 확인하기

  • 위에서 어떤 방법을 선택했든 간에 지금 디스크가 하나 빠진 상태일거임
  • lsblk으로 마운팅 된 디스크와 파티션 확인

  • 위에서 하나를 뺐기 때문에 sdb와 sdc밖에 없음
  • mdadm 패키지로도 확인해 보기
mdadm --detail <RAID_구성_경>
  • 예시
mdadm --detail /dev/md0

  • 하나가 state가 removed로 되어있음

2. 새 가상 디스크를 추가하기

  • 가상 머신 설정에 들어가서, 새 가상 디스크를 추가해준 후 재부팅
  • lsblk 으로 새 디스크 인식 확인

  • 새로운 sdd가 들어온걸 확인할 수 있음
  • 혹시 모르니 메타데이터 확인
mdadm --examine <새로_들어온_디스크_경>
  • 예시
mdadm --examine /dev/sdd

  • 방금 넣은 디스크라 RAID 메타데이터는 없음 (일반적인 경우)
    • 만약에 있다고 뜨면 아래 명령어로 메타데이터 날리기
mdadm --zero-superblock <새로_들어온_디스크_경>
  • 예시
mdadm --zero-superblock /dev/sdd

3. 기존 RAID 구성에 새로운 디스크를 추가하기

  • 방금 추가한 sdd를 md0 RAID 구성에 추가하려면 아래의 작업을 함
mdadm <RAID_구성_경> --add <새로_들어온_디스>
mdadm /dev/md0 --add /dev/sdd
  • 그럼 문제 없는 이상 mdadm: added /dev/sdd 이렇게 뜸
  • 그리고 상황 확인해보면
cat /proc/mdstat

  • 리빌드 중인 것을 알 수 있음
  • 또한 md0의 RAID 구성 정보를 보면…
mdadm --detail <RAID_구성_경>
  • 예시
mdadm --detail /dev/md0
  • 아래와 같이 새로운 /dev/sdd가 살아있는 것을 볼 수 있음

  • 그럼 복구 성공!

다음에 할 것

  • RAID 구성 자체를 삭제해보기