在 virsh 中,我从主机上拆下 PCI 总线并将其连接到虚拟机。我没有看到这些步骤中的任何错误。但我没有看到虚拟机中列出的 PCI 设备。
virsh # nodedev-dettach pci_0000_01_00_0
Device pci_0000_01_00_0 dettached
virsh # attach-device VM1 pci_add.xml
Device attached successfully
$ cat pci_add.xml
<hostdev mode='subsystem' type='pci' managed='yes'>
<source>
<address domain='0x000' bus='0x01' slot='0x00' function='0x0'/>
</source>
</hostdev>
PCI 不支持热插拔吗?我使用的是 Ubuntu 12.04.3(内核 3.8.0-34)。
我可以通过添加相同的 PCI 设备virsh edit VM1
并启动 VM1。这样我就能看到该设备了。
答案1
问题已解决。PCI 热插拔需要几个驱动程序:
- php 脚本
- pci_hotplug
客户操作系统需要这两个驱动器(主机不需要)。
现在我可以从 Guest VM 看到 PCI 设备。