当 md 仍处于活动状态时,可以更改 md 名称吗?据我所知是不可能的
mdadm -A --update=name --name=ibmlinux-root /dev/md126
ls /dev/md/126_0
/dev/md/126_0
ls /dev/md/ibmlinux-root
error: no such file or directory
只能停止它,更新名称,然后重新组装它
mdadm --stop /dev/md126
mdadm -A --update=name --name=ibmlinux-root /dev/md126
现在的问题... /dev/md126 是一个根设备,安装在 / 上,所以不可能卸载它。
最好的办法是使用 live-cd 重新启动并重命名它,然后重新启动(有效,我已经这样做了很多次)。
但我想要一个更快速、更简单的解决方案,Debian 在这个目录上使用脚本
/usr/share/initramfs-tools/scripts/local-premount
我的想法是创建一个脚本,重命名 md,然后在重新启动后删除脚本。
我已经创建了脚本
vim /usr/share/initramfs-tools/scripts/local-premount/md
#!/bin/sh -e
PREREQ=""
prereqs()
{
echo "$PREREQ"
}
case $1 in
# get pre-requisites
prereqs)
prereqs
exit 0
;;
esac
mdadm --stop /dev/md126
mdadm -A --update=name --name=ibmlinux-root /dev/md126
我使其可执行,更新 initramfs 和 grub
chmod +x /usr/share/initramfs-tools/scripts/local-premount/md
update-initramfs -cv -k all
update-grub2
我重新启动,瞧...新名称为..127!:(
ls /dev/md/127_0
/dev/md/127_0
ls /dev/md/ibmlinux-root
error: no such file or directory
我想念什么?我还尝试将脚本放入 /etc/initramfs-tools/scripts/init-premount/ 中,但没有任何变化。
我忘记了,我的根阵列是用 0.90 元数据创建的,我用元数据 1.2 重新创建了它(现代 grub 可以毫无问题地启动它),并且要更新名称,我只需编辑 /etc/mdadm/mdadm.conf (元数据 0.90 不允许在 md raid 上命名)
更新 initramfs 和 grub 并重新启动。
重启后..
使用 initramfs 的脚本也可以将 md127 的名称更改为 md0 或我们想要的任何名称
在 /etc/initramfs-tools/scripts/init-premount 中创建脚本
vim /etc/initramfs-tools/scripts/init-premount/md
更新权限
更新 initramfs 和 grub
并在重新启动后..
我只在日志中收到此错误/警告消息
但一切正常(pvs、lvcreate、mdadm..)