vSphere SR-IOV のサポートは、パフォーマンスを向上させるための NIC ポートの仮想機能 (VF) と物理機能 (PF) の間の相互作用、およびトラフィックを制御するための PF のドライバとホスト スイッチの間の相互作用によって異なります。
SR-IOV 物理アダプタ上で仮想マシン トラフィックを実行するホストでは、仮想マシン アダプタは仮想機能と直接コンタクトしてデータを伝達します。ただし、ネットワークを構成する機能は、仮想マシンを保持しているポートの有効なポリシーに基づきます。
SR-IOV を使用しない ESXi ホストでは、仮想スイッチはホスト上でそのポートを使用して、関連するポート グループの物理アダプタから、またはその物理アダプタに外部ネットワーク トラフィックを送信します。仮想スイッチは、管理対象パケットのネットワーク ポリシーも適用します。
データ パスは、NIC の仮想機能を使用して仮想マシンに直接接続します。制御パスには、仮想マシンの仮想スイッチと有効なポリシーが含まれます。
SR-IOV のデータ パス
仮想マシン ネットワーク アダプタが仮想機能に割り当てられると、ゲスト OS の VF ドライバは I/O メモリ管理ユニット (IOMMU) テクノロジを使用して、ネットワークを介してデータを送受信する必要のある仮想機能にアクセスします。VMkernel、つまり仮想スイッチは特にデータ フローを処理しないため、SR-IOV が有効なワークロードの全体的な待ち時間が削減されます。
SR-IOV の構成パス
ゲスト OS が VF にマップされている仮想マシン アダプタの構成を変更しようとする場合、その仮想マシン アダプタに関連付けられたポートのポリシーによって許可されれば、その変更が実行されます。
構成ワークフローは、次の操作で構成されています。
- ゲスト OS によって VF の構成変更が要求されます。
- VF は、メールボックス メカニズムを使用して PF に要求を転送します。
- PF ドライバは、仮想スイッチ (Distributed Switch の標準スイッチ、またはホスト プロキシ スイッチ) で構成要求をチェックします。
- 仮想スイッチは、VF が有効な仮想マシン アダプタが関連付けられているポートのポリシーに基づいて、構成の要求を確認します。
- 新しい設定が仮想マシン アダプタのポート ポリシーに準拠している場合、PF ドライバは VF を構成します。
たとえば、VF ドライバが MAC アドレスを変更しようとする場合に、ポート グループまたはポートのセキュリティ ポリシーで MAC アドレスの変更が許可されていない場合、アドレスはそのまま変わりません。ゲスト OS には変更が成功したことが示されても、ログ メッセージには操作が失敗したことが示される場合があります。この結果、ゲスト OS と仮想デバイスには異なる MAC アドレスが保存されます。ゲスト OS のネットワーク インターフェイスが、IP アドレスの取得と通信を行えない可能性があります。この場合、ゲスト OS でインターフェイスをリセットし、仮想デバイスから最新の MAC アドレスを取得して、IP アドレスを取得する必要があります。