ソフトウェア定義ネットワークのパフォーマンス チューニング

Windows Server 2016 のソフトウェア定義ネットワーク (SDN) は、ネットワーク コントローラー、Hyper-V ホスト、ソフトウェア ロード バランサー ゲートウェイ、HNV ゲートウェイの組み合わせで構成されます。 これらの各コンポーネントのチューニングについては、次のセクションを参照してください。

ネットワーク コントローラー

ネットワーク コントローラーは Windows Server のロールであり、SDN を使用するように構成され、ネットワーク コントローラーで制御されるホストで動作する仮想マシンで有効にする必要があります。

高可用性と最大パフォーマンスを実現するには、3 つのネットワーク コントローラー対応 VM で十分です。 各 VM は、「ソフトウェア定義ネットワーク インフラストラクチャを計画する」トピックの SDN インフラストラクチャの仮想マシンのロール要件セクションで説明されているガイドラインに従ってサイズを設定する必要があります。

SDN サービスの品質 (QoS)

仮想マシンのトラフィックを効果的かつ公平に優先順位付けするには、ワークロードの仮想マシンに SDN QoS を構成することをお勧めします。 SDN QoS の構成の詳細については、「テナントの VM ネットワーク アダプターの QoS を構成する」トピックを参照してください。

Hyper V ホストのネットワーク

Hyper-V サーバーのパフォーマンス チューニング」ガイドの Hyper-V ネットワークの I/O のパフォーマンスに関するセクションで説明されているガイダンスは、SDN を使用する場合に適用できますが、このセクションでは、SDN の使用時に最高のパフォーマンスを確保するために従う必要のある追加のガイドラインについて説明します。

物理ネットワーク アダプター (NIC) のチーミング

最高のパフォーマンスとフェールオーバー機能を実現するには、チーミング対象の物理ネットワーク アダプターを構成することをお勧めします。 SDN を使用する場合は、スイッチ埋め込みチーミング (SET) を使用してチームを作成する必要があります。

仮想化されたトラフィックはチーム メンバーの両方に送信方向と受信方向の両方に分散されるため、チーム メンバーの最適な数は 2 です。 3 つ以上のチーム メンバーを設定することもできますが、受信トラフィックは最大 2 つのアダプターに負荷分散されます。 仮想スイッチで動的負荷分散の既定の設定が維持されている場合、送信トラフィックは常にすべてのアダプターに分散されます。

カプセル化オフロード

SDN は、ネットワークを仮想化するためにパケットのカプセル化に依存します。 最適なパフォーマンスを得るには、使用するカプセル化形式のハードウェア オフロードをネットワーク アダプターがサポートしていることが重要です。 あるカプセル化形式が別のカプセル化形式よりもパフォーマンス上の大きな利点を持つことはありません。 ネットワーク コントローラーを使用する場合の既定のカプセル化形式は、VXLAN です。

次の PowerShell コマンドレットを使用すると、ネットワーク コントローラーでどのカプセル化形式が使用されているかを特定できます。

    (Get-NetworkControllerVirtualNetworkConfiguration -connectionuri $uri).properties.networkvirtualizationprotocol

最適なパフォーマンスを得るには、VXLAN が返された場合、お使いの物理ネットワーク アダプターが VXLAN タスク オフロードをサポートしているかを確認する必要があります。 NVGRE が返された場合、お使いの物理ネットワーク アダプターが NVGRE タスク オフロードをサポートしている必要があります。

MTU

カプセル化の結果、各パケットに余分なバイトが追加されます。 これらのパケットの断片化を回避するには、ジャンボ フレームを使用するように物理ネットワークを構成する必要があります。 MTU の値 9234 は、VXLAN または NVGRE の推奨サイズであり、カプセル化されたパケットが送信される VLAN のホスト ポートの物理インターフェイス (L2) およびルーター インターフェイス (L3) の物理スイッチで構成する必要があります。 これには、Transit、HNV プロバイダー、管理ネットワークが含まれます。

Hyper-V ホストの MTU はネットワーク アダプター経由で構成されます。また、Hyper-V ホスト上で動作するネットワーク コントローラーのホスト エージェントは、ネットワーク アダプター ドライバーでサポートされている場合は、カプセル化のオーバーヘッドを自動的に調整します。

トラフィックがゲートウェイ経由で仮想ネットワークから送信されると、カプセル化は解除され、VM から送信された元の MTU が使用されます。

シングル ルート I/O 仮想化 (SR-IOV)

SDN は、仮想スイッチの転送スイッチ拡張機能を使用して Hyper-V ホスト上に実装されます。 このスイッチ拡張機能でパケットを処理するには、ネットワーク コントローラーで使用するように構成されている仮想ネットワーク インターフェイスで SR-IOV を使用しないでください。使用すると、VM トラフィックが仮想スイッチをバイパスする原因となるためです。

SR-IOV は、必要な場合は仮想スイッチでも有効にすることができ、ネットワーク コントローラーでは制御されていない VM ネットワーク アダプターで使用できます。 これらの SR-IOV VM は、SR-IOV を使用しない ネットワーク コントローラー制御 VM と同じ仮想スイッチ上に共存できます。

40 ギガ ビットのネットワーク アダプターを使用している場合、最大のスループットを実現するために、ソフトウェア負荷分散 (SLB) ゲートウェイの仮想スイッチで SR-IOV を有効にすることをお勧めします。 これについては、ソフトウェア ロード バランサー ゲートウェイに関するセクションで詳しく説明します。

HNV ゲートウェイ

SDN で使用する HNV ゲートウェイのチューニングに関する情報は、HVN ゲートウェイに関するセクションで確認できます。

ソフトウェア ロード バランサー (SLB)

SLB ゲートウェイは、ネットワーク コントローラーと SDN でのみ使用できます。 SLB ゲートウェイで使用するための SDN のチューニングに関する詳細は、ソフトウェア ロード バランサー ゲートウェイに関するセクションで確認できます。