9.18.9. 仮想 GPU の設定
NVIDIA GPU Operator を使用して仮想 GPU (vGPU) を作成し、OpenShift Virtualization の仮想マシン (VM) に割り当てます。
9.18.9.1. OpenShift Virtualization での仮想 GPU の使用について リンクのコピーリンクがクリップボードにコピーされました!
サポートされている GPU カードを使用して、仮想マシン用の仮想 GPU を作成できます。NVIDIA GPU Operator を使用すると、クラスターノード上のこれらの仮想 GPU のライフサイクル管理と作成を行うことができます。OpenShift Virtualization がこれらのデバイスを検出して仮想マシンで使用できるようにするには、これらのデバイスを HyperConverged カスタムリソース (CR) に追加する必要があります。
機能とサポートの詳細は、ハードウェアベンダーのドキュメントを参照してください。
- 仲介デバイス
- 1 つまたは複数の仮想デバイスに分割された物理デバイス。仮想 GPU は、仲介デバイス (mdev) の一種です。物理 GPU のパフォーマンスが、仮想デバイス間で分割されます。仲介デバイスを 1 つまたは複数の仮想マシン (VM) に割り当てることができますが、ゲストの数は GPU と互換性がある必要があります。一部の GPU は複数のゲストをサポートしていません。
9.18.9.1.1. IOMMU ドライバーを有効にするためのカーネル引数の追加 リンクのコピーリンクがクリップボードにコピーされました!
仲介デバイスを設定する前に、入出力メモリー管理ユニット (IOMMU) ドライバーを有効にする必要があります。カーネルで IOMMU ドライバーを有効にするには、MachineConfig オブジェクトを作成し、カーネル引数を追加します。
前提条件
- クラスター管理者の権限がある。
- CPU ハードウェアは Intel または AMD です。
- BIOS で Directed I/O 拡張機能または AMD IOMMU 用の Intel Virtualization Technology を有効にしました。
-
OpenShift CLI (
oc) がインストールされている。
手順
カーネル引数を識別する
MachineConfigオブジェクトを作成します。以下の例は、Intel CPU のカーネル引数を示しています。apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfig metadata: labels: machineconfiguration.openshift.io/role: worker name: 100-worker-iommu spec: config: ignition: version: 3.2.0 kernelArguments: - intel_iommu=on # ...-
metadata.labels.machineconfiguration.openshift.io/roleは、新しいカーネル引数がワーカーノードにのみ適用されることを指定します。 -
metadata.nameは、マシン設定の中でこのカーネル引数 (100) の順位と目的を指定します。AMD CPU がある場合は、カーネル引数をamd_iommu=onとして指定します。 -
spec.kernelArgumentsは、Intel CPU の場合、カーネル引数としてintel_iommuを指定します。
-
新規
MachineConfigオブジェクトを作成します。$ oc create -f 100-worker-kernel-arg-iommu.yaml
検証
次のコマンドを入力して出力を確認し、新しい
MachineConfigオブジェクトが追加されたことを確認します。$ oc get MachineConfig出力例:
NAME IGNITIONVERSION AGE 00-master 3.5.0 164m 00-worker 3.5.0 164m 01-master-container-runtime 3.5.0 164m 01-master-kubelet 3.5.0 164m 01-worker-container-runtime 3.5.0 164m 01-worker-kubelet 3.5.0 164m 100-master-chrony-configuration 3.5.0 169m 100-master-set-core-user-password 3.5.0 169m 100-worker-chrony-configuration 3.5.0 169m 100-worker-iommu 3.5.0 14s次のコマンドを入力して、IOMMU がオペレーティングシステム (OS) レベルで有効になっていることを確認します。
$ dmesg | grep -i iommuIOMMU が有効になっている場合、出力は次の例に示すように表示されます。
出力例:
Intel: [ 0.000000] DMAR: Intel(R) IOMMU Driver AMD: [ 0.000000] AMD-Vi: IOMMU Initialized