14.5. 管理虚拟 USB 设备
使用虚拟机(VM)时,您可以访问并控制 USB 设备,如附加到主机系统的如闪存驱动器或 Web 相机。在这种情况下,主机系统会将设备的控制权传递给虚拟机。这也被称为 USB-passthrough。
14.5.1. 将 USB 设备附加到虚拟机
要将 USB 设备附加到虚拟机,您可以在虚拟机 XML 配置文件中包含 USB 设备信息。
先决条件
- 确定您要传递给虚拟机的设备已附加到主机。
流程
找到您要附加到虚拟机的 USB 总线和设备值。
例如:以下命令显示附加到该主机的 USB 设备列表。在这个示例中,使用的设备作为设备 005 总线附加到总线 001 中。
# lsusb [...] Bus 001 Device 003: ID 2567:0a2b Intel Corp. Bus 001 Device 005: ID 0407:6252 Kingston River 2.0 [...]
使用
virt-xml
工具及--add-device
参数。例如,以下命令将 USB 闪存驱动器附加到
example-VM-1
虚拟机。# virt-xml example-VM-1 --add-device --hostdev 001.005 Domain 'example-VM-1' defined successfully.
要将 USB 设备连接到正在运行的虚拟机,请将 --update
参数添加到上一命令中。
验证
- 运行虚拟机并测试该设备是否存在并正常工作。
使用
virsh dumpxml
命令查看设备的 XML 定义是否已添加到虚拟机 XML 配置文件中的 <devices> 部分。# virsh dumpxml example-VM-1 [...] <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x0407'/> <product id='0x6252'/> <address bus='1' device='5'/> </source> <alias name='hostdev0'/> <address type='usb' bus='0' port='3'/> </hostdev> [...]
其它资源
-
您系统上的
virt-xml (1)
手册页 - 将设备附加到虚拟机
14.5.2. 从虚拟机中删除 USB 设备
要从虚拟机中删除 USB 设备,您可以从虚拟机 XML 配置中删除 USB 设备信息。
流程
找到您要从虚拟机中删除的 USB 的 bus 和 device 值。
例如:以下命令显示附加到该主机的 USB 设备列表。在这个示例中,使用的设备作为设备 005 总线附加到总线 001 中。
# lsusb [...] Bus 001 Device 003: ID 2567:0a2b Intel Corp. Bus 001 Device 005: ID 0407:6252 Kingston River 2.0 [...]
使用
virt-xml
工具及--remove-device
参数。例如,以下命令从
example-VM-1
虚拟机中删除附加到主机作为总线 001 上设备 005 的 USB 闪存驱动器。# virt-xml example-VM-1 --remove-device --hostdev 001.005 Domain 'example-VM-1' defined successfully.
要从正在运行的虚拟机中删除 USB 设备,请将 --update
参数添加到上一命令中。
验证
- 运行虚拟机并检查该设备是否已从设备列表中删除。
其它资源
-
您系统上的
virt-xml (1)
手册页 - 将设备附加到虚拟机