この記事では、単一ルート I/O 仮想化 (SR-IOV) アーキテクチャとその主要なコンポーネント、およびパフォーマンスを向上させるために効率的なネットワーク仮想化 SR-IOV 可能にする方法について説明します。
次の図は、Windows Server 2012 の NDIS 6.30 以降の SR-IOV のコンポーネントを示しています。
SR-IOV インターフェイスは、次のコンポーネントで構成されます。
Hyper-V 拡張可能スイッチモジュール
拡張可能スイッチ モジュールは、SR-IOV ネットワーク アダプターの NIC スイッチを構成して、Hyper-V 子パーティションへのネットワーク接続を提供します。
注
Hyper-V 子パーティションは 仮想マシン (VM) と呼ばれます。
子パーティションが PCI Express (PCIe) 仮想関数 (VF) に接続する場合、拡張可能スイッチ モジュールは VM とネットワーク アダプター間のデータ トラフィックに参加しません。 代わりに、データ トラフィックは VM と接続された VF の間を直接通過します。
拡張可能スイッチの詳細については、「Hyper-V 拡張可能スイッチ」を参照してください。
物理機能 (PF)
PF は、SR-IOV インターフェイスをサポートするネットワーク アダプターの PCI Express (PCIe) 機能です。 PF には、PCIe 構成スペースに SR-IOV 拡張機能が含まれています。 この機能を使用すると、仮想化の有効化や VM の公開など、ネットワーク アダプターの SR-IOV 機能を設定および管理できます。
詳細については、「 SR-IOV 物理機能 (PF)」を参照してください。
PF ミニポート ドライバー
PF ミニポート ドライバーは、1 つ以上の VM で使用されるネットワーク アダプター上のリソースを管理する役割を担います。 このため、PF ミニポート ドライバーは、VF にリソースが割り当てられる前に、管理オペレーティング システムに読み込まれます。 PF ミニポート ドライバーは、VM に割り当てられたすべてのリソースが解放された後に停止します。
詳細については、「 PF ミニポート ドライバー SR-IOV 書き込む」を参照してください。
仮想関数 (VF)
VF は、SR-IOV インターフェイスをサポートするネットワーク アダプター上の軽量 PCIe 関数です。 各 VF は、ネットワーク アダプターの仮想化されたインスタンスを表し、独自の PCI 構成領域を持っています。 また、各 VF は、外部ネットワーク ポートなどのネットワーク アダプター上の 1 つ以上の物理リソースを PF やその他の VM と共有します。
詳細については、「 SR-IoV 仮想関数 (VFs)」を参照してください。
VF ミニポート ドライバー
VF ミニポート ドライバーは、VF を管理するために VM にインストールされます。 VF ミニポート ドライバーが実行する操作は、同じネットワーク アダプター上の他の VF または PF に影響を与えることはできません。
詳細については、「SR-IOV VF ミニポート ドライバーの作成」を参照してください。
ネットワーク インターフェイス カード (NIC) スイッチ
NIC スイッチは、SR-IOV インターフェイスをサポートするネットワーク アダプターのハードウェア コンポーネントです。 NIC スイッチは、アダプター上の物理ポートと内部仮想ポート (VPort) の間でネットワーク トラフィックを転送します。 各 VPort は、PF または VF にアタッチされます。
仮想ポート (VPorts)
VPort は、SR-IOV インターフェイスをサポートするネットワーク アダプターの NIC スイッチの内部ポートを表すデータ オブジェクトです。 物理スイッチのポートと同様に、NIC スイッチの VPort は、ポートが接続されている PF または VF との間でパケットを配信します。
物理ポート
物理ポートは、SR-IOV インターフェイスをサポートするネットワーク アダプターのハードウェア コンポーネントです。 物理ポートは、アダプターを外部ネットワーク メディアに接続します。