为什么我的 kvm 客户机上有 Qemu 虚拟 CPU

为什么我的 kvm 客户机上有 Qemu 虚拟 CPU

有人可以澄清这一点吗?

我是 kvm 新手,创建了两个客户实例,一个是 Linux,一个是 Windows。

在两个 Guest 上,CPU 都显示为 QEMU 虚拟 CPU,为什么会这样?

如果 kvm 利用硬件虚拟化而 Qemu 利用模拟器,那么 kvm 在虚拟化中的作用是什么,因为在这种情况下它只显示模拟的 cpu,我相信这是 Qemu 的工作而不是 kvm。

在 xen 上,我熟悉的客户 CPU 就像实际的硬件一样显示,即使它使用 qemu 驱动程序。

答案1

默认情况下,QEMU/KVM 仅向客户机公开一部分 CPU 功能,这样 VM 就可以从一个 CPU 迁移到另一个 CPU(例如从 Intel Xeon 到 AMD Opteron)而不会产生任何不良影响。

如果你愿意,你可以覆盖此行为,方法是在 qemu 命令行上传递参数或者在 GUI/XML 前端中设置适当的 CPU 选项。您可以选择要显示的特定 CPU 功能,或传递所有 CPU 功能。

如果你选择覆盖任何的参数,那么您只能将虚拟机迁移到具有这些功能的另一个 CPU。如果您选择传递全部主机 CPU 功能传递给客户机,那么它也会暴露 CPU 的名称,并且您将无法将虚拟机迁移到不同类型的 CPU。

QEMU 和 KVM 之间的区别区别在于 QEMU 是完全处理器模拟,而 KVM 则使用处理器的原生虚拟化功能(Intel VT-x 或 AMD SVM)提供完全硬件虚拟化(HVM),以提供接近原生 CPU 的性能。因此,前者比后者慢得多。

答案2

名字意味着什么?我们称之为玫瑰

无论叫什么名字,都一样芬芳;

虚拟化 CPU 也是如此。

答案3

qemu 是一个用户空间程序,利用 /dev/kvm 接口模拟主机硬件。KVM 本身不具备任何模拟能力。

相关内容