Linux를 사용하여 md0 RAID 소프트웨어를 복원해야 합니다.
오늘 저는 동일한 유형과 크기의 새 디스크 4개를 구입했습니다.
다음을 사용하여 이전 디스크를 삭제했습니다.
mdadm /dev/md0 --fail /dev/sdd2
mdadm /dev/md0 --remove /dev/sdd2
새로운 변경사항:
mdadm /dev/md0 --add /dev/sdd2
다시 빌드할 때까지 기다리면 작동합니다.
디스크 3번(sdc2)과 동일
sdb2 변경 시 RAID에서 "섹터 읽기 실패 등"과 같은 많은 오류가 발생하기 시작했지만 sdb2에서는 발생하지 않았지만 sdb2가 재구축될 때 sdc2에서는 발생했습니다! 그런 다음 시스템은 ext4 raid를 R/O 모드로 전환했습니다.
그래서 단일 사용자 모드(slackware는 initrd에서 가능)로 재부팅하고 재구축을 시도한 후 물론 sdc2(디스크 오류) 및 sdb2(불완전한 재동기화)를 제거했습니다.
이전 sdb2 디스크를 넣고 부팅을 시도했는데 어레이가 실패했습니다. sdb2를 어레이에 추가하려고 시도했지만 실패하고 중지하고 다시 조립하라는 메시지가 표시되었습니다.
내가 해냈어
mdadm --stop /dev/md0
mdadm /dev/md0 --assemble /dev/sda2 /dev/sdb2 /dev/sdd2
3개의 디스크로 시작한 다음 sdc2를 추가하고 어레이를 완성하고 싶습니다. 그런데 sda2와 sdd가 괜찮은 것을 고려하면 실패하는데 sdb2를 삭제된 것으로 표시합니다.. sdb2를 읽고 어레이를 다시 빌드하려면 어떻게 해야 합니까?
답변1
해결책을 찾았습니다. 이전 sdb2는 결함이 있는 것으로 표시되었으므로 유일한 해결책은 다음과 같습니다.
livecd 또는 initrd에서 부팅한 후 다음을 수행합니다.
mdadm /dev/md0 --stop
mdadm /dev/md0 --assemble --force /dev/sda2 /dev/sdb2 /dev/sdc2 /dev/sdd2
이렇게 하면 "실패한" 드라이브를 제외한 모든 디스크가 추가되지만 md0은 부팅됩니다.
그런 다음 누락된 드라이브를 추가하겠습니다.
mdadm /dev/md0 --add /dev/sdb2
현재 어레이가 재구축되고 있으며 이제 시스템이 작동 가능합니다.
경고: 이 "절차" 후에 lvm이 더 이상 md0을 인식하지 못하고 pvscan에서 오류(ID 변경 등)가 발생했기 때문에 lvm이 손실되었으므로 가장 좋은 해결책은 백업입니다.