我有一个完全正常工作的服务器。
我用 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 步:将 md 设备定义删除到 initramfs 内的 mdadm.conf 中(将在下次内核更新时覆盖)
注意 /etc/mdadm/mdadm.conf 仅由 mdadm 使用。不是通过 mkinitramfs,不是通过内核自动检测,仅此而已。从未测试过,但我认为我们可以删除该文件而不会对系统产生任何影响。
但在 initramfs 内部,/etc/mdadm/mdadm.conf 用于命名 md 设备。因此,当你构建、重建、更改、删除你的raid配置时,你必须保持它是最新的。
这很奇怪,因为内核自动检测工作得很好。