9.17.12. USB ホストパススルーの設定


クラスター管理者は、クラスター内の USB デバイスを公開することができます。これにより、仮想マシン (VM) 所有者がデバイスを仮想マシンに割り当てることができるようになります。USB デバイスのパススルーを有効にすると、ハードウェアと仮想マシンが物理的に接続されているかのように、OpenShift Container Platform ノードに割り当てられた USB ハードウェアに仮想マシンを接続できるようになります。

USB デバイスを公開するには、まずホストパススルーを有効にし、次に USB デバイスを使用するように仮想マシンを設定します。

9.17.12.1. USB ホストパススルーの有効化

USB デバイスを仮想マシン (VM) に割り当てるには、まずクラスターレベルで USB ホストパススルーを有効にする必要があります。

これを行うには、追加してから仮想マシンに割り当てる各デバイスのリソース名と USB デバイス名を指定します。複数のデバイスを 1 つのリソース名に割り当てることができます。各デバイスは HyperConverged カスタムリソース (CR) では selector と呼ばれます。クラスター上に同一の USB デバイスが複数ある場合は、特定のデバイスに仮想マシンを割り当てることができます。

前提条件

  • cluster-admin ロールを持つユーザーとして OpenShift Container Platform クラスターにアクセスできる。
  • OpenShift CLI (oc) がインストールされている。

手順

  1. HostDevices フィーチャーゲートが有効になっていることを確認します。

    $ oc get featuregate cluster -o yaml

    正常な出力

      featureGates:
    # ...
        enabled:
        - name: HostDevices
  2. 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
  3. 以下のコマンドを実行して、デフォルトのエディターで HyperConverged CR を開きます。

    $ oc edit hyperconverged kubevirt-hyperconverged -n openshift-cnv
  4. 必要な 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 デバイスを定義します。この例では、リソースは 3 つのデバイスにバインドされており、各デバイスは vendorproduct で識別され、selector と呼ばれます。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る