9.15.11.2. 仲介デバイス用のホストの準備
仲介デバイスを設定する前に、入出力メモリー管理ユニット (IOMMU) ドライバーを有効にする必要があります。
9.15.11.2.1. 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