我全新安装了 CentOS 7,它将充当 KVM 主机。
我不喜欢为卷组指定的默认名称,我想更改它。
我在某处读到,重命名包含 / 逻辑卷的卷组可能会导致系统在重新启动后无法启动。顺便问一下这是为什么呢?
我看过一些指南,但我想在这里查看。确保系统在更改卷组名称后重新启动后仍能正常运行的步骤有哪些?
谢谢。
答案1
使用 LVM 时,RHEL/CentOS 7 initramfs 生成器似乎会自动生成root=
指定包含根文件系统的设备的选项。生成的条目将采用以下形式root=/dev/mapper/VGname-LVname
。
还有一两个其他引导选项将指定要在 initramfs 阶段激活的 LV:根文件系统的 LV 和主交换的 LV(如果 LV 上有交换)。这些选项的形式为rd.lvm.lv=VGname/LVname
.
grub2-mkconfig
如果在操作系统运行时重命名包含根文件系统的 VG,则在使用更新 GRUB 配置时会遇到问题:
/usr/sbin/grub2-probe: error: failed to get canonical path of `/dev/mapper/oldVGname-rootLVname'
尽管 VG 已重命名,但旧路径名仍然出现在 中/proc/mounts
,并且grub2-mkconfig
将无法检测新的根文件系统设备名称。
因此,在 RHEL/CentOS 7 上重命名根 VG 时,您需要执行四项任务:
修改内核引导选项以使用 中的新名称(
rd.lvm.lv=
如果root=
存在)/etc/default/grub
,但是别跑grub2-mkconfig
直接在实际的 GRUB 配置文件中修改相同的内核引导选项(
/boot/grub2/grub.cfg
在具有 BIOS/MBR 样式引导的系统中;/boot/efi/EFI/redhat/grub.cfg
以 UEFI 本机样式引导)。将有多个内核条目需要编辑:小心地更改它们。更新
/etc/fstab
按名称引用 VG 的任何条目以使用新名称。用于
vgrename
重命名 VG。
这些任务的顺序并不重要,但所有这些任务都需要在重新启动系统之前完成(或恢复)。进行这些更改后,您可能应该很快重新启动:/proc/mounts
等中对旧根 VG 名称的剩余引用可能会混淆某些系统工具。
答案2
如果引导命令行(linux ...)使用 UUID 而不是 /dev/sysvg/root_lv 就足够了。