首页 理论教育 PCI/PCI-E设备查看解析

PCI/PCI-E设备查看解析

时间:2023-10-19 理论教育 版权反馈
【摘要】:使用libvirt透传PCI/PCI-E设备时需要知道要透传设备的总线地址,以便在域定义中指定要透传的设备。使用virsh虚拟机管理工具的attach-device参数将这个设备添加到名称为Win 7的虚拟机上:基于以上操作便可将宿主机网卡透传至虚拟机中,同时需要注意的是,不是所有的主机、虚拟机系统和PCI/PCI-E设备都支持热插拔,在不支持的系统中进行热插拔的话可能会造成虚拟机死机,甚至可能造成主机死机。

PCI/PCI-E设备查看解析

在QEMU中,PCI/PCI-E设备目前仅支持透传(某些商业软件可对PCI/PCI-E设备进行重定向),且需要在主机BIOS设置中CPU打开Intel VT-d选项(AMD CPU与之对应的是AMD Vi),可透传的设备包括显卡、声卡、HBA卡、网卡、USB控制器等,其中某些设备需要额外设置(比如IOMMU)才可进行透传。

使用libvirt透传PCI/PCI-E设备时需要知道要透传设备的总线地址,以便在域定义中指定要透传的设备。在QEMU实现中有为设备直接分配准备的设备模型,包括pci-assgn、vfio-pci、vfio-vga等。下面以透传主机网卡为例:

在宿主机上执行lspci命令查看所有PCI设备的详细信息。

其中BDF号为02:05.0的设备就是需要直接分配的网卡,型号为Intel 82542EM。然后基于这个网卡设备新建一个设备定义文件,在虚拟机运行时添加此设备,也可将其写入至虚拟机的域定义文件作为永久设备:(www.xing528.com)

pci-e1000.xml这个设备定义文件描述了一个热插拔设备,设备类型为PCI设备,设备的总线号是0x02,物理设备号是0x05,逻辑设备号是0x0。

使用virsh虚拟机管理工具的attach-device参数将这个设备添加到名称为Win 7的虚拟机上:

基于以上操作便可将宿主机网卡透传至虚拟机中,同时需要注意的是,不是所有的主机、虚拟机系统和PCI/PCI-E设备都支持热插拔,在不支持的系统中进行热插拔的话可能会造成虚拟机死机,甚至可能造成主机死机。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈