나는 완전히 작동하는 서버를 가지고 있습니다.
SystemRescueCD로 부팅했는데 아무것도 쓰지 않았습니다. 파티션을 마운트하지도 않았습니다. 그런 다음 서버를 다시 시작하십시오.
일부 파티션을 마운트할 수 없기 때문에 서버가 더 이상 올바르게 시작되지 않습니다.
나는 이것이 RAID 파티션의 이름이 이전과 같이 지정되지 않았기 때문이라는 것을 알았습니다.
/dev/md1은 /dev/md126이 되고
, /dev/md2는 /dev/127이 됩니다.
MD 장치의 이름을 바꾸는 방법을 알고 있습니다.
mdadm --stop /dev/126
mdadm --assemble --verbose --update=super-minor /dev/md1 /dev/sda6 /dev/sdb6
mount /dev/md1 /mnt/
echo 'dummy' > /mnt/dummy # to be sure the kernel updates the superblock. See manpage
그 후 재부팅할 때까지 md1 장치는 괜찮았습니다.
다시 시작한 후 /dev/md126으로 돌아갑니다.
질문 1: SystemRescueCD가 이를 변경한다는 사실 뒤에 숨겨진 마법은 무엇입니까?
질문 2: 필요에 따라 이러한 md 장치의 이름을 바꾸려면 어떻게 해야 합니까?
답변1
/etc/mdadm.conf에 올바르게 나열되어 있는지 확인하고 initramfs를 업데이트하십시오. mdadm.conf의 알 수 없는 배열에는 높은 숫자가 자동으로 할당됩니다.
답변2
이것이 어떻게 가능한지는 모르겠지만 비슷한 문제가 있었습니다.
1단계: md 장치 이름 바꾸기
2단계: initramfs 업데이트
또는 2단계: initramfs 내의 mdadm.conf에 대한 md 장치 정의를 제거합니다(다음 커널 업데이트에서 덮어쓰게 됩니다).
/etc/mdadm/mdadm.conf는 mdadm에서만 사용됩니다. mkinitramfs나 커널 자동 감지를 통해서가 아니라 그게 전부입니다. 테스트한 적은 없지만 시스템에 아무런 영향을 주지 않고 파일을 삭제할 수 있을 것 같습니다.
그러나 initramfs 내에서는 /etc/mdadm/mdadm.conf가 md 장치 이름을 지정하는 데 사용됩니다. 따라서 RAID 구성을 구축, 재구축, 변경, 삭제할 때 최신 상태로 유지해야 합니다.
커널 자동 감지가 제대로 작동하기 때문에 이것은 이상합니다.