検索

1.2. デバイス割り当てに関するハードウェアの考慮事項

download PDF

デバイス割り当ては、仮想ゲストを PCIe デバイスに直接割り当てる機能を提供して、ゲストにフルアクセスを提供し、ネイティブに近いパフォーマンスを提供します。SR-IOV と組み合わせて実装されると、仮想ゲストには VF が直接割り当てられます。このようにして、複数の仮想ゲストを単一の PCIe デバイスの VF に直接割り当てることができます。

SR-IOV を有効にして仮想マシンを PCIe デバイスに直接割り当てる必要はなく、デバイス割り当てが VF を作成するための唯一のアプリケーションでもありませんが、2 つの機能は補完的であり、一緒に使用する場合はハードウェアに関する追加の考慮事項があります。

デバイスの割り当てには、CPU とファームウェアでの I/O メモリー管理ユニット (IOMMU) のサポートが必要です。IOMMU は、I/O 仮想アドレス (IOVA) と物理メモリーアドレスの間で変換を行います。これにより、仮想ゲストはゲストの物理アドレスを使用してデバイスをプログラムでき、IOMMU によってホストの物理アドレスに変換されます。

IOMMU グループは、システム内の他のすべてのデバイスから分離できるデバイスのセットです。IOMMU グループは、IOMMU の粒度と、システム内の他のすべての IOMMU グループからの分離の両方を備えたデバイスの最小セットを表します。これにより、IOMMU は、IOMMU グループ外のデバイスと IOMMU の制御の間のダイレクトメモリーアクセス (DMA) を制限しながら、IOMMU グループとの間のトランザクションを区別できます。

仮想ゲストと PCIe デバイスの仮想機能間のトランザクションの分離は、デバイス割り当ての基本です。PCIe およびサーバー仕様で定義されているアクセス制御サービス (ACS) 機能は、IOMMU グループ内の分離を維持するためのハードウェア標準です。ネイティブ ACS がない場合、またはハードウェアベンダーからの確認がない場合、IOMMU グループ内の多機能デバイスは、IOMMU の保護外で発生する機能間でピアツーピア DMA を公開し、適切な分離がない機能を含むように IOMMU グループを拡張するリスクがあります。

サーバーのルートポートにはネイティブ ACS サポートも推奨されます。そうしないと、これらのポートにインストールされているデバイスがグループ化されます。ルートポートには、プロセッサーベース (ノースブリッジ) のルートポートとコントローラーハブベース (サウスブリッジ) のルートポートの 2 種類があります。上記のように、デバイス割り当てが SR-IOV と組み合わせて使用され、仮想ゲストが VF に割り当てられている場合、これらのポートは ACS と ARI の両方をサポートする必要があります。

Intel の Xeon Processor E5 ファミリー、Xeon Processor E7 ファミリー、および High End Desktop Processor には、プロセッサーベースのルートポートでのネイティブ ACS サポートが含まれています。

Intel Platform Controller Hub ベース (PCH) の PCI Express Root Port は現在、ACS をサポートしていないか、非標準の ACS 実装を使用しているため、これらのルートポートを介して接続されたデバイスをきめ細かく分離することは困難です。これらのルートポートの多くは、ACS と同等の機能をサポートしています。Red Hat Enterprise Linux 7.3 カーネルには、X79、X99、5 シリーズから 9 シリーズ、および 100 シリーズ PCIExpress チップセットでこの ACS と同等の機能を有効にするためのサポートが含まれています。

ルートポートが ACS をサポートしていることを確認するために、PCIe デバイスをインストールするときにプロセッサーベースおよびコントローラーハブベースのルートポートを決定する方法については、ベンダーの仕様を参照してください。

さらに、I/O トポロジー内の PCIe スイッチまたはブリッジにも ACS サポートが必要です。そうでない場合、IOMMU グループが拡張される可能性があります。

1.2.1. 概要

  • CPU が IOMMU (例: VT-d または AMD-Vi) をサポートしていること。IBM POWER8 はデフォルトで IOMMU をサポートしています。
  • ファームウェアが IOMMU をサポートしていること。
  • 使用する CPU ルートポートが ACS または ACS と同等の機能をサポートしていること。
  • PCIe デバイスが ACS または ACS と同等の機能をサポートしていること。
  • PCIe デバイスとルートポート間のすべての PCIe スイッチおよびブリッジが ACS をサポートすることをお勧めします。たとえば、スイッチが ACS をサポートしていない場合には、そのスイッチの背後にあるデバイスはすべて同じ IOMMU グループを共有し、同じ仮想マシンにしか割り当てることができません。

ベンダーの仕様とデータシートをチェックして、お使いのハードウェアが要件を満たしていることを確認してください。

lspci -v コマンドを使用すると、システムにインストールされている PCI デバイスの情報を表示できます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.