Xen下的半虚拟化操作系统

Xen下的半虚拟化操作系统

如果我想在 Xen 上运行客户操作系统,那么它应该是半虚拟化操作系统吗?如何使操作系统半虚拟化?有什么工具吗?

答案1

根据维基百科:

半虚拟化 需要客户操作系统明确移植 para-API— 不支持半虚拟化的传统操作系统发行版无法在半虚拟化 VMM 上运行。但是,即使在无法修改操作系统的情况下,仍有一些组件可用,以实现半虚拟化的许多显著性能优势;例如,XenWindowsGplPv 项目提供了一套支持半虚拟化的设备驱动程序,根据 GPL 许可,旨在安装到在 Xen 虚拟机管理程序上运行的 Microsoft Windows 虚拟客户机中。

简而言之,请咨询您尝试运行的操作系统的开发人员:)

答案2

可以在半虚拟化模式下运行的操作系统的运行开销(性能下降)比必须完全虚拟化运行的操作系统要低。对我来说,这意味着,是的,如果你可以半虚拟化,你就应该这样做。你是否真的可以在半虚拟化模式下运行操作系统取决于虚拟机管理程序和客户操作系统。如果你使用 Xen 作为虚拟机管理程序,那么半虚拟化操作系统的选项就非常广泛:大多数 Linux 发行版、许多 BSD 变体和 Solaris。Windows 不会在 Xen 上运行半虚拟化,但我相信 Hyper-V 支持 Windows 的半虚拟化。VMware 曾经做过一段时间的半虚拟化,但我认为他们放弃了它,转而坚持硬件虚拟化的进步(这可能是错的 - 我已经很久没有使用 VMware 了)。

至于用于启用半虚拟化的工具,它确实千差万别。下面的大部分信息都与 Xen 有关,因为这是我的专业领域。许多 Linux 发行版(virt-manager、vm-install、virtinst)中基于 libvirt 的工具在能够检测和使用半虚拟化内核(在具有它们的客户机操作系统中)方面已经取得了很大进展。如果您无法在其中一个工具中获得该支持,则必须手动设置指向 PV 内核和 initrd 映像的链接。Xen.org 网站上提供了许多有关手动创建这些配置文件的信息,尤其是在 Wiki 下。其中有关于如何配置不同客户机操作系统的示例,包括对 PV 内核的支持。

如果您的操作系统支持半虚拟化,但安装起来却很困难,那么最后一个选择就是先在完全虚拟化模式下安装,然后切换到半虚拟化。这需要在客户机中安装 PV 内核,然后更改配置文件以指向新内核。

对于其他虚拟机管理程序,它根据工具而有所不同。如果 Hyper-V 支持 Windows PV,那么我猜它会自动设置 - 无需用户干预。

相关内容