来宾运行时重定向 KVM 中的 USB 设备

来宾运行时重定向 KVM 中的 USB 设备

我的 KVM 中有两个 USB 重定向器设备,是使用 virt-manager 创建的:

<redirdev bus="usb" type="spicevmc">
  <alias name="redir0"/>
  <address type="usb" bus="0" port="2"/>
</redirdev>
<redirdev bus="usb" type="spicevmc">
  <alias name="redir1"/>
  <address type="usb" bus="0" port="5"/>
</redirdev>

我可以使用这些在运行时重定向 USB 设备,在 virt-manager 中,通过转到虚拟机 > 重定向 USB 设备,然后我可以选择要通过 Spice 通道的主机设备: virt-manager选择USB

如何使用virsh或其他终端工具执行相同操作?我希望能够将其关闭和打开,基本上是将设备从一个虚拟机移动到另一个虚拟机。

答案1

事实证明,你可以做到。

它对我有用的方式是:识别供应商和产品 ID。您可以在“选择要重定向的 USB 设备”中或使用lsusb.对我来说,对于 SteelSeries Arctis 7,供应商是 1038,产品是 12ad。

创建一个包含以下内容的 XML 文件,在我的示例中,我将其另存为usb.xml

   <hostdev mode='subsystem' type='usb' managed='yes'>
      <source>
        <vendor id='0x1038'/>
        <product id='0x12ad'/>
      </source>
    </hostdev>

现在使用 virsh 附加它:

$ virsh attach-device <VMName> --file usb.xml --current

--current使其在虚拟机运行时热插拔设备。不幸的是,它不会在“重定向”窗口中显示为已连接,因为它没有使用 Spice 通道,但它仍然可以工作。

用 分离detach-device

相关内容