9.15.11.5. 仲介されたデバイスの管理


仲介されたデバイスを仮想マシンに割り当てる前に、デバイスを作成してクラスターに公開する必要があります。仲介されたデバイスを再設定および削除することもできます。

9.15.11.5.1. 仲介デバイスの作成および公開

管理者は、HyperConverged カスタムリソース (CR) を編集することで、仲介デバイスを作成し、クラスターに公開できます。CR を編集する前に、ワーカーノードを調べて、ハードウェアデバイス固有の設定値を確認してください。

前提条件

  • OpenShift CLI (oc) がインストールされている。
  • 入出力メモリー管理ユニット (IOMMU) ドライバーを有効にしました。
  • ハードウェアベンダーがドライバーを提供している場合は、仲介デバイスを作成するノードにドライバーをインストールしている。

手順

  1. ワーカーノードを調べて、仲介デバイスの名前セレクターとリソース名の値を特定します。

    1. oc debug コマンドを使用して、ワーカーノードとのデバッグセッションを開始します。以下に例を示します。

      $ oc debug node/node-11.redhat.com
    2. 次のコマンドを実行して、シェルプロセスのルートディレクトリーをホストノードのファイルシステムに変更します。

      # chroot /host
    3. mdev_bus ディレクトリーに移動してその内容を表示します。各サブディレクトリー名は、物理 GPU の PCI アドレスです。以下に例を示します。

      # cd sys/class/mdev_bus && ls

      出力例:

      0000:4b:00.4
    4. 物理デバイスのディレクトリーに移動し、ハードウェアベンダーによって定義されているサポート対象の仲介デバイスタイプをリスト表示します。以下に例を示します。

      # cd 0000:4b:00.4 && ls mdev_supported_types

      出力例:

      nvidia-742  nvidia-744	nvidia-746  nvidia-748	nvidia-750  nvidia-752
      nvidia-743  nvidia-745	nvidia-747  nvidia-749	nvidia-751  nvidia-753
    5. 使用する仲介デバイスタイプを選択し、name ファイルの内容を表示してその名前セレクターの値を特定します。以下に例を示します。

      # cat nvidia-745/name

      出力例:

      NVIDIA A2-2Q
  2. 以下のコマンドを実行して、デフォルトのエディターで HyperConverged CR を開きます。

    $ oc edit hyperconverged kubevirt-hyperconverged -n openshift-cnv
  3. 設定を更新して仲介デバイスを作成し、公開します。

    1. spec.mediatedDevicesConfiguration スタンザに仲介デバイスを追加して作成します。
    2. spec.permittedHostDevices.mediatedDevices スタンザに mdevNameSelector および resourceName 値を追加して、仲介デバイスをクラスターに公開します。resourceName 値は mdevNameSelector 値に基づいていますが、スペースの代わりにアンダースコアを使用します。

      HyperConverged CR の例:

      apiVersion: hco.kubevirt.io/v1
      kind: HyperConverged
      metadata:
        name: kubevirt-hyperconverged
        namespace: openshift-cnv
      spec:
        mediatedDevicesConfiguration:
          mediatedDeviceTypes:
          - nvidia-745
          nodeMediatedDeviceTypes:
          - mediatedDeviceTypes:
            - nvidia-746
            nodeSelector:
              kubernetes.io/hostname: node-11.redhat.com
        permittedHostDevices:
          mediatedDevices:
          - mdevNameSelector: NVIDIA A2-2Q
            resourceName: nvidia.com/NVIDIA_A2-2Q
          - mdevNameSelector: NVIDIA A2-4Q
            resourceName: nvidia.com/NVIDIA_A2-4Q
      # ...

      各項目の説明:

      mediatedDeviceTypes
      クラスターのグローバル設定を指定します。これは必須です。
      nodeMediatedDeviceTypes
      特定のノードまたはノードのグループに対するグローバル設定のオーバーライドを指定します (任意)。グローバルの mediatedDeviceTypes 設定と併用する必要があります。
      mediatedDeviceTypes
      指定されたノードに対するグローバル mediatedDeviceTypes 設定のオーバーライドを指定します。nodeMediatedDeviceTypes を使用する場合に必須です。
      nodeSelector
      ノードセレクターを指定し、key:value ペアを含める必要があります。nodeMediatedDeviceTypes を使用する場合に必須です。
      mdevNameSelector
      ホスト上でこの値にマッピングされる仲介デバイスを指定します。
      resourceName
      ノード上で割り当てられる、対応するリソース名を指定します。
  4. 変更を保存し、エディターを終了します。

検証

  • 次のコマンドを実行して、仮想 GPU がノードに割り当てられていることを確認します。

    $ oc get node <node_name> -o json \
      | jq '.status.allocatable \
      | with_entries(select(.key | startswith("nvidia.com/"))) \
      | with_entries(select(.value != "0"))'
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る