我想将基于 KVM 的 Ubuntu 客户机安装到基于 LVM 的逻辑卷,而无需先在空间上创建分区表。安装程序中似乎没有办法以 root 身份挂载我选择的逻辑卷。我可以用 Gentoo 做到这一点(当然)。有没有办法绕过 Ubuntu 的这个假设?
答案1
使用分区是最佳做法,即使只有一个分区并且它横跨整个磁盘。有些工具会使用该细节作为其询问启发式方法的一部分。我还看到 udev 有时在使用无分区驱动器时会表现得很奇怪。使用分区实际上没有任何缺点,不会影响速度,也没有任何负面影响。它根本不影响 LVM,因为它正在读取磁盘并搜索元数据。
所以你可以逆流而上……或者你可以创建一个分区。如果你决心要做到这一点,那么我建议你熟悉安装程序源。
答案2
或者您可以使用 Alternate(可能)或 Server(肯定)来获得 LVM 支持并正确处理逻辑卷。(您也可以在使用分区工具之前手动安装 lvm2 来获取此功能,但随后它会构建一个没有 lvm 的 initrd,或者在 11.04 当前版本中会这样做。)(*我很久没有这样做了)
逆流而上:您可以在分区之前格式化虚拟磁盘,这样它就可以安装,但 GRUB 将失败。这是无法修复的,因为没有用于 LV 的 MBR 空间,但实际上不需要安装 GRUB,因为 KVM 提供了它。安装脚本假定未安装 GRUB 并跳过 update-grub(这会创建 grub.cfg 甚至 device.map)。手动完成 update-grub:
(来自 LiveCD iso)
ubuntu$ sudo su -
ubuntu# mount /dev/vda /mnt ; mount --bind /proc /mnt/proc \
; mount --bind /dev /mnt/dev ; mount --bind /sys /mnt/sys ; chroot /mnt
# update-grub
# exit
ubuntu# init 6
您可能能够从 xterm 或其他 VTY 更新 grub,而不必大费周章地执行 liveCD 操作。我已经重新运行了四次安装,所以我没有尝试这样做。