USB(Universal Serial Bus)直通功能使您能够访问和管理虚拟机中的 USB 设备。
某些在虚拟机(VM)中运行的应用程序具有加密要求,需要与专用的 USB 设备交互。在这种情况下,必须将 USB 设备从宿主机直通到虚拟机。
要将 USB 设备分配给虚拟机,必须通过 ResourceName 显示 USB 设备。这可以通过编辑 kubevirt 命名空间下的 HyperConverged CR 中的 spec.permittedHostDevices.usbHostDevices
部分来配置。
以下是具有 ResourceName kubevirt.io/storage 的 USB 设备的示例配置,其中供应商为 0bda
,产品为 8812
:
USB 设备的供应商和产品标识符可以通过 lsusb
命令获得。
例如:
此命令列出了所有连接的 USB 设备,其中 ID 显示了供应商:产品对。
现在,在虚拟机配置中,您可以将 spec.domain.devices.hostDevices.deviceName
添加以引用在前面步骤中提供的 ResourceName
并分配一个本地名称。
例如:
编辑配置之前,请确保虚拟机已停止。
完成配置后,在虚拟机内执行 lsusb
命令。如果输出列出了宿主节点的 USB 设备,则直通成功。
例如:
您可能希望将多个 USB 设备直通到虚拟机中,例如键盘、鼠标或智能卡设备。我们支持在同一 resourceName 下分配多个 USB 设备。以下是配置方法:
注意:所有 USB 设备必须在宿主机上物理连接并被检测到,以确保成功分配给虚拟机。