Fedora

libvirtd:沒有更多可用的 PCI 插槽

  • September 26, 2021

哎喲。今天我想設置一個新的虛擬機來管理我的 8 個硬碟設備。

目前我使用 Fedora 31 作為主機,Debian 9 作為客戶系統。我想通過塊設備傳遞給虛擬機,但不幸的是它不起作用,而且如果不是 RedHat 訂閱者,很難找到合適的資訊。

那我做了什麼?我嘗試使用以下命令連接硬碟。

virsh attach-disk Storage_ZFS_\(Debian\) /dev/sdb vdc

不幸的是,我收到以下錯誤。

error: Failed to attach disk
error: internal error: No more available PCI slots

那麼我嘗試了什麼?我做了一些研究,發現了一些在 SUSE 上有效的東西,<controller type='pci' model='pcie-to-pci-bridge'/>在 VM 部分的某個地方添加了一些內容,但不幸的是它並沒有很好地工作。只收到以下錯誤。

[root@millenium-fbe48 chairman]# virsh edit Storage_ZFS_\(Debian\) 
error: internal error: Cannot automatically add a new PCI bus for a device with connect flags 800
Failed. Try again? [y,n,i,f,?]: 
error: XML error: The PCI controller with index='0' must be model='pcie-root' for this machine type, but model='pcie-to-pci-bridge' was found instead
Failed. Try again? [y,n,i,f,?]: 
error: XML error: The PCI controller with index='0' must be model='pcie-root' for this machine type, but model='pcie-to-pci-bridge' was found instead
Failed. Try again? [y,n,i,f,?]: 
error: XML error: The PCI controller with index='0' must be model='pcie-root' for this machine type, but model='pcie-to-pci-bridge' was found instead
Failed. Try again? [y,n,i,f,?]: 
error: XML error: The PCI controller with index='0' must be model='pcie-root' for this machine type, but model='pcie-to-pci-bridge' was found instead
Failed. Try again? [y,n,i,f,?]: 
error: XML error: The PCI controller with index='0' must be model='pcie-root' for this machine type, but model='pcie-to-pci-bridge' was found instead
Failed. Try again? [y,n,i,f,?]: 

有人知道如何處理它,以及如何將硬碟添加到我的來賓虛擬機中嗎?

我能夠使用以下方法添加多個 PCI 直通設備。

如果您--config 只使用(刪除 --live)執行 attach-interface 命令,libvirt 將能夠自動添加它知道需要的 pcie-root-port。然後您只需要關閉並重新啟動來賓即可將設備添加到正在執行的來賓實例中(從來賓簡單重啟是不夠的,您需要將其完全關閉,以便啟動新的 qemu 程序)

所以基本上。

  1. virsh attach-device VM_NAME PCI_entry.xml --config
  2. virsh destroy VM_NAME
  3. virsh start VM_NAME

來源:回复:$$ libvirt-users $$無法將 pci 網路添加到現有 vm

引用自:https://unix.stackexchange.com/questions/570166