我的主板芯片组支持此功能IO管理单元,我读过(但不是真正理解)它通过让虚拟机利用实际的物理硬件而不是虚拟硬件来提高虚拟机的性能。
这真的能提高虚拟机的性能吗?如果能,我该如何让 Virtualbox 从中受益?
答案1
长话短说,IOMMU 能帮到你的唯一方法就是直接将硬件资源分配给虚拟机。仅仅拥有它并不能让速度更快。
了解哪个主板/CPU 宣传此功能会有所帮助。IOMMU 是一种系统特定的 IO 映射机制,可用于大多数设备。
IOMMU 听起来像是英特尔 VT-d和 AMD IOV。在这种情况下,我认为您无法多路复用设备,这很像在所有这些奇特的虚拟化指令出现之前的 PCI 直通 :)。SRIOV不同之处在于,外设本身必须提供支持。硬件知道它正在被虚拟化,并且可以委托硬件片将其自身传递给 VM。许多 VM 可以同时以非常低的开销与 SR-IOV 设备通信。
唯一比 SR-IOV 更快的是 PCI 直通,尽管在这种情况下只有一个 VM 可以使用该设备,甚至主机操作系统也不能使用它。PCI 直通对于运行密集数据库的 VM 非常有用,该数据库可以从连接到 FiberChannel SAN 中受益。
然而,更接近硬件确实有限制,例如,对于需要实时迁移的部署,它会降低虚拟机的可移植性。这适用于 SR-IOV 和 PCI 直通。
默认虚拟化 Linux 部署通常使用虚拟IO首先,这是相当快的。