PCI(e) 直通是一种机制,用于让虚拟机控制 来自主机的 PCI 设备。以及使用虚拟化硬件,例如更低的延迟、更高的性能或更高 功能(例如,卸载)。
但是,如果通过设备传递到虚拟机,则无法在主机或任何其他 VM 中使用该设备。
请注意,虽然 PCI 直通可用于 i440fx 和 q35 计算机,但 PCIe 直通仅在 Q35 计算机上可用。这并不意味着作为 PCI 设备传递的 PCIe 设备只能有PCI 速度。以 PCIe 身份通过设备只是为访客设置一个标志 告诉它该设备是PCIe设备,而不是“非常快的传统PCI 设备“。一些来宾应用程序从中受益。
1 前提条件
1.1 硬件条件
由于直通是在真实硬件上执行的,因此需要满足一些 要求。下面简要概述了这些要求。
硬件需要支持 IOMMU (I/O Memory Management Unit) 中断重新映射,这包括 CPU 和主板。
通常,具有 VT-d 的 Intel 系统和带有 AMD-Vi 的 AMD 系统都支持此功能。 但不能保证一切都会开箱即用,因为 硬件实现不良以及驱动程序缺失或质量低下。
此外,服务器级硬件通常比消费级硬件具有更好的支持 硬件,但即便如此,许多现代系统也可以支持这一点。
1.2 BIOS设置
您必须在 BIOS/UEFI 中启用 IOMMU 支持。通常 相应的设置称为 IOMMU 或 VT-d。
2 查看pcie设备
最简单的方法是使用 GUI 在 VM 的 VM 中添加“主机 PCI”类型的设备 “硬件”选项卡。或者,可以使用命令行。
lspci
复制
比如说要查看pcie网卡信息
lspci