升级虚拟机时需要安装引导加载程序吗?

升级虚拟机时需要安装引导加载程序吗?

我有一台虚拟化服务器,上面运行着几台虚拟机。所有这些都是使用带有 KVM 的 Ubuntu 服务器版本以及通过 SSH 连接使用 virt-manager 完成的。

这些虚拟机是 Lucid 10.04 64 位虚拟机。当我通过
apt-get upgrade ncurses 屏幕之间的 SSH 连接升级它们时,它会询问我是否应该安装引导加载程序并选择YesNo

我不知道我应该在这里选择什么,所以我取消了升级。由于这是一台生产机器,我无法指定任何这样的事情。所以请告诉我什么是正确的。

答案1

这取决于机器的启动方式。如果你的机器是不是设置为‘直接内核启动’

您可以通过打开 virt-manager、查看虚拟机的属性并选择“启动选项”配置面板来检查这一点。如果设置了“内核路径”设置(位于“直接内核启动”下拉菜单下),则操作系统将由 KVM 加载,您不需要引导加载程序。

如果这空,那么您将需要一个引导加载程序来从虚拟磁盘加载内核。

您还可以使用 virsh 检查此参数:

virsh dumpxml <virtual-machine>

这将转储机器的 KVM 配置数据。查找标签<os>。如果有标签<kernel>,如下所示:

    <操作系统>
     <type arch='x86_64' machine='pc-0.11'>hvm</type>
     <内核>/var/lib/libvirt/images/vmlinuz-2.6.32-29-服务器</内核>
     <initrd>/var/lib/libvirt/images/initrd.img-2.6.32-29-server</initrd>
     <cmdline>root=/dev/vda console=ttyS0 ro debug nosplash</cmdline>
     <boot dev='hd'/>
    </os>

然后内核就会用 KVM 加载,不需要 bootloader。如果没有<kernel>标签,则需要 bootloader。

答案2

KVM 托管其他操作系统的完整安装,因此您必须拥有系统上的“常用内容”,其中包括引导加载程序,当您的 KVM 尝试启动该 VM 时,它将在 KVM 开始运行映像/分区时启动。

对于您来说,我会准确测试一切发生的情况,因为如果您设法破坏某些东西,无论阅读多少内容都无法立即修复您的生产服务器。

备份正在运行的虚拟机文件也是一个好主意。

相关内容