9.18.10. 配置 USB 主机透传


作为集群管理员,您可以在集群中公开 USB 设备,这样,虚拟机(VM)所有者就可以使用这些设备。启用 USB 设备的透传允许虚拟机连接到附加到 OpenShift Container Platform 节点的 USB 硬件,就像硬件和虚拟机物理连接一样。

要公开 USB 设备,首先启用主机透传,然后将虚拟机配置为使用 USB 设备。

9.18.10.1. 启用 USB 主机透传

要将 USB 设备附加到虚拟机(VM),您必须首先在集群级别上启用 USB 主机透传。

要做到这一点,请为您要首先添加的每个设备指定一个资源名称和 USB 设备名称,然后分配给虚拟机。您可以为单个资源名称分配多个设备,每个设备都被称为 HyperConverged 自定义资源(CR) 中的 选择器(selector)。如果您在集群中有多个相同的 USB 设备,您可以选择将虚拟机分配给特定设备。

先决条件

  • 您可以使用具有 cluster-admin 角色的用户访问 OpenShift Container Platform 集群。
  • 已安装 OpenShift CLI(oc)。

流程

  1. 识别 USB 设备厂商和产品:

    $ lsusb

    输出示例

    Bus 003 Device 007: ID 1b1c:0a60 example_manufacturer example_product_name
    • 如果您无法使用 lsusb 命令,请检查主机的 /sys/bus/usb/devices/ 目录中的 USB 设备配置:

      for dev in *; do
          if [[ -f "$dev/idVendor" && -f "$dev/idProduct" ]]; then
              echo "Device: $dev"
              echo -n "  Manufacturer : "; cat "$dev/manufacturer"
              echo -n "  Product: "; cat "$dev/product"
              echo -n "  Vendor ID : "; cat "$dev/idVendor"
              echo -n "  Product ID: "; cat "$dev/idProduct"
              echo
          fi
      done

      输出示例

      Device: 3-7
        Manufacturer : example_manufacturer
        Product: example_product_name
        Vendor ID : 1b1c
        Product ID: 0a60
  2. 运行以下命令,在默认编辑器中打开 HyperConverged CR:

    $ oc edit hyperconverged kubevirt-hyperconverged -n openshift-cnv
  3. 将所需的 USB 设备添加到 HyperConvered CR 的 permittedHostDevices 小节中。以下示例添加了一个厂商 ID 045e 和产品 ID 07a5 的设备:

    apiVersion: hco.kubevirt.io/v1beta1
    kind: HyperConverged
    metadata:
      name: kubevirt-hyperconverged
      namespace: openshift-cnv
    spec:
      permittedHostDevices:
        usbHostDevices:
        - resourceName: kubevirt.io/peripherals
          selectors:
          - vendor: "045e"
            product: "07a5"
          - vendor: "062a"
            product: "4102"
          - vendor: "072f"
            product: "b100"
    • spec.permittedHostDevices 定义集群中有权限的主机设备。
    • spec.permittedHostDevices.usbHostDevices 定义可用 USB 设备的列表。
    • spec.permittedHostDevices.usbHostDevices.resourceName 定义您要添加并分配给虚拟机的 USB 设备。在本例中,资源绑定到三个设备,每个设备都由 vendorproduct 标识,也被称为选择器(selector)
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部