Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

E.4. IOMMU ストラテジーおよびユースケース

必要以上のデバイスが含まれる IOMMU グループを処理する方法は多数あります。プラグインカードの場合、最初にカードを異なるスロットにインストールして必要なグループが生成されるかどうかを判別します。通常の Intel チップセットでは、PCIe ルートポートはプロセッサーと PCH (Platform Controller Hub) の両方で提供されます。これらのルートポートの各種機能はそれぞれ非常に異なる場合があります。PCH ルートポートの多くにネイティブの PCIe ACS サポートがなくても、Red Hat Enterprise Linux 7 は数多くの PCH ルートポート分離の公開をサポートします。そのため、これらのルートポートは小規模な IOMMU グループを作成する上での適切なターゲットになります。Intel® Xeon® class プロセッサー (E5 シリーズ以上) および「ハイエンドのデスクトッププロセッサー」の場合、通常プロセッサーベースの PCIe ルートポートは PCIe ACS のネイティブサポートを提供しますが、Core™ i3、i5、i7 および Xeon E3 プロセッサーなどのローエンドのクライアントプロセッサーはこれを提供しません。通常、これらのシステムでは PCH ルートポートは最も柔軟に分離設定を提供します。
もう 1 つのオプションとして、ハードウェアベンダーと連携して分離が存在するかどうかを判断し、カーネルがこの分離を認識させるようにカーネルが必要かどうかを判別します。通常、これは、機能間の内部ピアツーピアを許可するか、またはダウンストリームポートの場合にリダイレクトが可能かどうかを決定する際に重要です。Red Hat Enterprise Linux 7 カーネルにはこのようなデバイスに対する問い合わせが多数あります。また、Red Hat Customer Support は、ハードウェアベンダーと連携して、ACS と同等の分離が利用可能かどうかを判断し、この分離を公開するために同様の問い合わせをカーネルに取り込める方法を判断するのに役立ちます。ハードウェアベンダーでは、ピアツーピアをサポートしない多機能エンドポイントは、設定領域の単一の静的 ACS テーブルを使用して公開し、機能が公開されない点にご留意ください。ハードウェアにこのような機能を追加すると、カーネルは、分離して機能を自動的に検出し、ハードウェアの全ユーザーでこの問題を排除できます。
上記の提案が利用できない場合には、カーネルが、ユーザーが指定する特定のデバイスまたは特定のタイプのデバイスに対してこれらの分離チェックを無効にするオプションが提供されることが一般的です。多くの場合、以前のテクノロジーは、このエクステントとほぼ問題に切り離されたことを強制しました。ただし、これらの分離機能を回避すると、サポート対象外の環境が発生します。分離が存在することがわかりません。これは、デバイスが実際に分離されているかどうかがわからず、障害指数の前に検索することが最も適切であることを意味します。デバイスの分離機能におけるギャップは、トリガーを非常に困難な場合があり、原因としてデバイスの分離にトレースする方が困難な場合があります。VFIO のジョブが最初で、ユーザーが所有しているデバイスや IOMMU グループからホストカーネルを保護することは、分離を確実にするために VFIO が使用するメカニズムです。
IOMMU グループの上に構築されると、VFIO はレガシー KVM デバイス割り当てを使用する可能性よりも安全なデバイスのセキュリティーと分離レベルを強化できます。この分離は Linux カーネルレベルで実施され、カーネルがそれ自体を保護し、ユーザーに危険な設定を回避できるようになりました。また、ハードウェアベンダーは、多機能エンドポイントデバイスだけでなく、チップセットおよび相互接続デバイスだけでなく、PCIe ACS サポートをサポートすることが推奨されます。このサポートがない既存のデバイスについては、Red Hat はハードウェアベンダーと連携して分離が利用可能かどうかを判断し、Linux カーネルサポートを追加してこの分離を公開することができます。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。