为什么 KVM 需要硬件辅助支持才能安装基于 Linux 的操作系统

为什么 KVM 需要硬件辅助支持才能安装基于 Linux 的操作系统

对于 XEN,我们不需要硬件辅助支持来运行 Linux 操作系统。但是为什么对于 KVM,即使运行基于 Linux 的操作系统,我们仍然需要硬件辅助支持呢?

是否可以配置 Kvm 以支持半虚拟化。

编辑

使用完全虚拟化时,客户机可能不知道其已被虚拟化,因此会降低总体性能;而使用半虚拟化时,客户机知道其已被虚拟化,因此可以提高性能,是这样吗?

答案1

KVM 提供完整的硬件虚拟化,但您可以使用半虚拟化磁盘和网络驱动程序 (virtio)。大多数当前的 Linux 发行版都会默认使用它们,前提是您在设置 VM 时已对其进行了配置。

在完全硬件虚拟化中,虚拟 PC 的每个组件都看起来像是物理 PC,而客户操作系统使用的设备驱动程序与在由相同硬件制成的物理 PC 上使用的设备驱动程序相同。这可能会很慢,因为虚拟机管理程序必须模拟通用硬件以方便客户操作系统。

在半虚拟化中,客户机可以使用专门为某些性能关键设备(如磁盘和网络驱动程序)编写的驱动程序,将性能提升至接近裸机水平。半虚拟化驱动程序不是与模拟硬件对话,而是(几乎)直接与本机硬件对话。

磁盘和网络驱动程序通常最先进行半虚拟化,因为它们提供最大的性能优势。其他设备也可以进行半虚拟化,尽管这样做不会提供太多实际的实际优势。

答案2

KVM 支持某些驱动程序的半虚拟化,但不支持整个 Guest。它们明确地将自己定义为完整的 Linux 虚拟化解决方案

相关内容