次の方法で共有


SR-IOV データ パスの概要

Hyper-V 子パーティションが起動され、ゲスト オペレーティング システムが実行されている場合、仮想化スタックはネットワーク仮想サービス クライアント (NetVSC) を起動します。 NetVSC は、ゲスト オペレーティング システムで実行されるプロトコル スタックにミニポート ドライバー エッジを提供することで仮想マシン (VM) ネットワーク アダプターを公開します。 さらに、NetVSC には、基になるミニポート ドライバーにバインドできるプロトコル ドライバー エッジが用意されています。

NetVSC は、Hyper-V 親パーティションの管理オペレーティング システムで実行される Hyper-V 拡張可能スイッチとも通信します。 拡張可能スイッチ コンポーネントは、ネットワーク仮想サービス プロバイダー (NetVSP) として動作します。 NetVSC と NetVSP の間のインターフェイスは、合成データ パスと呼ばれるソフトウェア データ パスを提供します。 このデータ パスの詳細については、「SR-IOV 合成データ パス」を参照してください。

物理ネットワーク アダプターがシングル ルート I/O 仮想化 (SR-IOV) インターフェイスをサポートしている場合は、1 つ以上の PCI Express (PCIe) 仮想関数 (VF) を有効にすることができます。 各 VF は、Hyper-V 子パーティションに接続できます。 この場合、仮想化スタックは次の手順を実行します。

  1. 仮想化スタックは、ゲスト オペレーティング システムの VF のネットワーク アダプターを公開します。 これにより、ゲスト オペレーティング システムで実行されている PCI ドライバーが VF ミニポート ドライバーを起動します。 このドライバーは、SR-IOV ネットワーク アダプターの独立系ハードウェア ベンダー (IHV) によって提供されます。

  2. VF ミニポート ドライバーが読み込まれて初期化された後、NDIS は、ゲスト オペレーティング システムの NetVSC のプロトコル エッジをドライバーにバインドします。

    : NetVSC は VF ミニポート ドライバーにのみバインドされます。 ゲスト オペレーティング システム内の他のプロトコル スタックは、VF ミニポート ドライバーにバインドできません。

NetVSC がドライバーに正常にバインドされると、VF データ パスを介してゲスト オペレーティング システムのネットワーク トラフィックが発生します。 パケットは、合成データ パスではなく、ネットワーク アダプターの基になる VF 経由で送受信されます。

VF データ パスの詳細については、「SR-IOV VF データ パス」を参照してください。

次の図は、SR-IOV ネットワーク アダプターでサポートされているさまざまなデータ パスを示しています。

Diagram showing SR-IOV adapter with a management parent partition and two child partitions containing guest operating systems.

Hyper-V 子パーティションが開始され、VF データ パスが確立される前に、ネットワーク トラフィックは合成データ パスを経由します。 VF データ パスが確立された後、次の条件に該当する 場合、ネットワーク トラフィックは合成データ パスに戻すことができます。

  • VF は Hyper-V 子パーティションにアタッチされません。 たとえば、仮想化スタックでは、1 つの子パーティションから VF を切断し、別の子パーティションに接続できます。 これは、基になる SR-IOV ネットワーク アダプター上の VF リソースよりも実行されている Hyper-V 子パーティションが多い場合に発生する可能性があります。

    VF データ パスから合成データ パスにフェールオーバーするプロセスは、VF フェールオーバーと呼ばれます。

  • Hyper-V 子パーティションは、別のホストにライブ マイグレーションされています。

VF フェールオーバーとライブ マイグレーションの詳細については、「SR-IOV VF フェールオーバーとライブ マイグレーション」を参照してください。