14.7. 使用命令行从虚拟机中删除 PCI 设备
要从虚拟机(VM)中删除 PCI 设备,请从虚拟机的 XML 配置中删除设备信息。
流程
在连接了 PCI 设备的虚拟机的 XML 配置中,在带有设备设置的
<hostdev>部分中找到<address domain>行。# virsh dumpxml <VM-name> [...] <hostdev mode='subsystem' type='pci' managed='yes'> <source> <address domain='0x0000' bus='0x65' slot='0x00' function='0x0'/> </source> <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/> </hostdev> [...]使用
virsh detach-device命令和--hostdev选项以及设备地址。例如,以下命令永久删除之前步骤中找到的设备。
# virt detach-device <VM-name> --hostdev 0000:65:00.0 --config Domain 'VM-name' defined successfully.注意要从正在运行的虚拟机中删除 PCI 设备,请在上一个命令中添加
--live参数。可选:将 PCI 设备重新连接到主机。例如,以下命令重新连接上一步中从虚拟机中删除的设备:
# virsh nodedev-reattach pci_0000_65_00_0 Device pci_0000_65_00_0 re-attached
验证
再次显示虚拟机的 XML 配置,检查设备的
<hostdev>部分是否不再显示。# virsh dumpxml <VM-name>