Hello,
After several years of using proxmox to virtualize our routers we are now looking to increase network performance.
Recently we are evaluating sriov as a virtio successor. It works very well !
For the moment it seems pretty stable and the performance is clearly superior to virtio.
During my tests I was surprised to observe that under proxmox 7.0 hostpci device (virtual function) is not hotplug.
after exexuting command "qm set 9000 -hostpci16 0000:12:00.6" the line in VM config file remain in PENDING state.
After some research i discovered the qemu monitor commands that allow the hot addition and removal of a pci device
A quick test shows that it works :
#force pci hotplug
qm set 9000 -hostpci15 0000:12:00.5
ps aux | grep 9000 # look for -device syntax
qm monitor 9000
info pci
device_add vfio-pci,host=0000:12:00.5,id=hostpci15,bus=pci.2,addr=0x15
device_del hostpci15
# and finally remove [PENDING] state
sed -i -e '/^\s*$/d' -e '/^\s*\[PENDING\]\s*$/d' /etc/pve/nodes/CLIPVE7TEST09/qemu-server/9000.conf
Is there a more conventional and elegant way to access this feature ?
have a nice day !
maxime
After several years of using proxmox to virtualize our routers we are now looking to increase network performance.
Recently we are evaluating sriov as a virtio successor. It works very well !
For the moment it seems pretty stable and the performance is clearly superior to virtio.
During my tests I was surprised to observe that under proxmox 7.0 hostpci device (virtual function) is not hotplug.
after exexuting command "qm set 9000 -hostpci16 0000:12:00.6" the line in VM config file remain in PENDING state.
After some research i discovered the qemu monitor commands that allow the hot addition and removal of a pci device
A quick test shows that it works :
#force pci hotplug
qm set 9000 -hostpci15 0000:12:00.5
ps aux | grep 9000 # look for -device syntax
qm monitor 9000
info pci
device_add vfio-pci,host=0000:12:00.5,id=hostpci15,bus=pci.2,addr=0x15
device_del hostpci15
# and finally remove [PENDING] state
sed -i -e '/^\s*$/d' -e '/^\s*\[PENDING\]\s*$/d' /etc/pve/nodes/CLIPVE7TEST09/qemu-server/9000.conf
Is there a more conventional and elegant way to access this feature ?
have a nice day !
maxime
Last edited: