PCI 热插拔似乎不起作用

PCI 热插拔似乎不起作用

在 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 热插拔需要几个驱动程序:

  1. php 脚本
  2. pci_hotplug

客户操作系统需要这两个驱动器(主机不需要)。

现在我可以从 Guest VM 看到 PCI 设备。

相关内容