9.12.11.2. 仲介デバイス用のホストの準備
仲介デバイスを設定する前に、入出力メモリー管理ユニット (IOMMU) ドライバーを有効にする必要があります。
9.12.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 # ...ここでは、以下のようになります。
- <apiVersion>
- 新しいカーネル引数をワーカーノードのみに適用します。
- <name>
-
マシン設定とその目的におけるこのカーネル引数(100)のランクを示します。AMD CPU がある場合は、カーネル引数を
amd_iommu=onとして指定します。 - <intel_iommu=o>
-
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