vSphere SR-IOV のサポートは、パフォーマンスを向上させるための NIC ポートの仮想機能 (VF) と物理機能 (PF) の間の相互作用、およびトラフィックを制御するための PF のドライバとホスト スイッチの間の相互作用によって異なります。

SR-IOV 物理アダプタ上で仮想マシン トラフィックを実行するホストでは、仮想マシン アダプタは仮想機能と直接コンタクトしてデータを伝達します。ただし、ネットワークを構成する機能は、仮想マシンを保持しているポートの有効なポリシーに基づきます。

SR-IOV を使用しない ESXi ホストでは、仮想スイッチはホスト上でそのポートを使用して、関連するポート グループの物理アダプタから、またはその物理アダプタに外部ネットワーク トラフィックを送信します。仮想スイッチは、管理対象パケットのネットワーク ポリシーも適用します。

図 1. vSphere の SR-IOV サポートでのデータおよび構成パス

vSphere の SR-IOV サポートのデータ パスと制御パスには、異なるコンポーネントが含まれています。

データ パスは、NIC の仮想機能を使用して仮想マシンに直接接続します。制御パスには、仮想マシンの仮想スイッチと有効なポリシーが含まれます。

SR-IOV のデータ パス

仮想マシン ネットワーク アダプタが仮想機能に割り当てられると、ゲスト OS の VF ドライバは I/O メモリ管理ユニット (IOMMU) テクノロジを使用して、ネットワークを介してデータを送受信する必要のある仮想機能にアクセスします。VMkernel、つまり仮想スイッチは特にデータ フローを処理しないため、SR-IOV が有効なワークロードの全体的な待ち時間が削減されます。

SR-IOV の構成パス

ゲスト OS が VF にマップされている仮想マシン アダプタの構成を変更しようとする場合、その仮想マシン アダプタに関連付けられたポートのポリシーによって許可されれば、その変更が実行されます。

構成ワークフローは、次の操作で構成されています。

  1. ゲスト OS によって VF の構成変更が要求されます。
  2. VF は、メールボックス メカニズムを使用して PF に要求を転送します。
  3. PF ドライバは、仮想スイッチ (Distributed Switch の標準スイッチ、またはホスト プロキシ スイッチ) で構成要求をチェックします。
  4. 仮想スイッチは、VF が有効な仮想マシン アダプタが関連付けられているポートのポリシーに基づいて、構成の要求を確認します。
  5. 新しい設定が仮想マシン アダプタのポート ポリシーに準拠している場合、PF ドライバは VF を構成します。

    たとえば、VF ドライバが MAC アドレスを変更しようとする場合に、ポート グループまたはポートのセキュリティ ポリシーで MAC アドレスの変更が許可されていない場合、アドレスはそのまま変わりません。ゲスト OS には変更が成功したことが示されても、ログ メッセージには操作が失敗したことが示される場合があります。この結果、ゲスト OS と仮想デバイスには異なる MAC アドレスが保存されます。ゲスト OS のネットワーク インターフェイスが、IP アドレスの取得と通信を行えない可能性があります。この場合、ゲスト OS でインターフェイスをリセットし、仮想デバイスから最新の MAC アドレスを取得して、IP アドレスを取得する必要があります。