SD-WAN Gateway は、標準ハイパーバイザー(KVM または VMware ESXi)で実行されます。
最小サーバ要件
ハイパーバイザーを実行するには、次のものが必要です。
- CPU:最大パフォーマンスを実現するには、クロック速度が 2.0 GHz 以上の Intel XEON(単一の 8 コア Gateway 仮想マシンを実行するには 10 コア以上)が必要です。
- ESXi vmxnet3 ネットワーク スケジュール設定機能では、Gateway に割り当てられているコア数に関係なく、Gateway 仮想マシン (VM) ごとに 2 コアが予約されている必要があります。
- 例:ESXi+vmxnet3 を実行している 24 コア サーバがあるとします。2 つの(8 コア)Gateway をデプロイできます。つまり、8 コアの Gateway が 2 つ(8 × 2)ということで、Gateway アプリケーション用に 16 コアが予約されている必要があり、8 コアが空いた状態で残ります。上記の計算式を踏まえて、最高のパフォーマンスで実行中のこれらの 2 つの Gateway で ESXi/vmxnet3 を拡張できるようにするため、システムにはさらに 4 コア(デプロイされている 2 つの Gateway ごとに 2 コア)が必要です。24 コア システムで 2 つのゲートウェイを実行するために必要なのは合計 20 コアです。
注: SR-IOV を使用する場合、ネットワーク スケジュール設定機能は pNIC にオフロードされ、パフォーマンスが向上します。ただし、ハイパーバイザーは引き続き、CPU、メモリ、NUMA 割り当て管理などの他のスケジュール設定機能を実行する必要があります。ハイパーバイザーを使用するには、常に 2 コアが空いている状態で残っている必要があります。
- 例:ESXi+vmxnet3 を実行している 24 コア サーバがあるとします。2 つの(8 コア)Gateway をデプロイできます。つまり、8 コアの Gateway が 2 つ(8 × 2)ということで、Gateway アプリケーション用に 16 コアが予約されている必要があり、8 コアが空いた状態で残ります。上記の計算式を踏まえて、最高のパフォーマンスで実行中のこれらの 2 つの Gateway で ESXi/vmxnet3 を拡張できるようにするため、システムにはさらに 4 コア(デプロイされている 2 つの Gateway ごとに 2 コア)が必要です。24 コア システムで 2 つのゲートウェイを実行するために必要なのは合計 20 コアです。
- ESXi vmxnet3 ネットワーク スケジュール設定機能では、Gateway に割り当てられているコア数に関係なく、Gateway 仮想マシン (VM) ごとに 2 コアが予約されている必要があります。
- CPU は、AES-NI、SSSE3、SSE4、RDTSC、RDSEED、RDRAND、AVX/AVX2/AVX512 の命令セットをサポートして有効にする必要があります。
- PGW 仮想マシンに割り当てられているメモリのほかに、サーバ システムで 4 GB 以上の空き RAM が 使用可能である 必要があります。1 台の Gateway 仮想マシンには 16 GB の RAM、または証明書ベースの認証が有効な場合は 32 GB の RAM が必要です。
- 150 GB 以上の磁気または SSD ベースのパーシステント ディスク ボリューム(1 台の Gateway 仮想マシンには 64 GB、または証明書ベースの認証が有効な場合は 96 GB のディスク ボリュームが必要)。
- 必要な IOPS の最低パフォーマンス:200 IOPS。
- Gateway パートナー ハンドオフ インターフェイスを有効にする場合は、1 個以上の 10 GE ネットワーク インターフェイス ポート、可能であれば 2 個のポートが推奨されます(1 GE NIC はサポートされていますが、パフォーマンスが弱くなります)。SR-IOV をサポートする物理 NIC カードは、Intel 82599/82599ES および Intel X710/XL710 チップセットです。(『SR-IOV の有効化』ガイドを参照してください)。
注: SR-IOV では NIC ボンディングはサポートされていません。冗長アップリンクの場合は、ESXi vSwitch を使用します。
- VMware SD-WAN Gateway は、最適なパフォーマンスと信頼性を確保するために専用の CPU サイクルを必要とする、データ プレーン集中型ワークロードです。これらの定義された設定に適合することは、Gateway 仮想マシンで基盤となるハードウェアのオーバーサクスクリプションを防止し、Gateway サービス(NUMA 境界交差、メモリ、vCPU オーバーサクスクリプションなど)を不安定化する可能性があるアクションの発生を防ぐために必要です。
- SD-WAN Partner Gateway 仮想マシンと、それをサポートするために使用されるリソースが NUMA ノード内に収まっていることを確認します。
- 可能であれば、ネットワーク インターフェイス、メモリ、物理 CPU、および仮想マシンを単一の NUMA ノードに対して完全に垂直方向に配置します。
-
注: ホストの BIOS を次のように設定します。
- ハイパースレッディング - オフ
- 電力節約 - オフ
- CPU ターボ - 有効
- AES-NI - 有効
- NUMA ノード インターリービング - オフ
サーバ仕様の例
NIC チップセット | ハードウェア | 仕様 |
---|---|---|
Intel 82599/82599ES | HP DL380G9 | http://www.hp.com/hpinfo/newsroom/press_kits/2014/ComputeEra/HP_ProLiantDL380_DataSheet.pdf |
Intel X710/XL710 | Dell PowerEdge R640 | https://www.dell.com/en-us/work/shop/povw/poweredge-r640
|
Intel X710/XL710 | Supermicro SYS-6018U-TRTP+ | https://www.supermicro.com/en/products/system/1U/6018/SYS-6018U-TRTP_.cfm
|
SR-IOV サポートに必要な NIC 仕様
ハードウェア製造元 | ファームウェア バージョン | Ubuntu 18.04 用ホスト ドライバ | ESXi 6.7 用ホスト ドライバ |
---|---|---|---|
デュアル ポート Intel Corporation Ethernet Controller XL710 (40GbE QSFP+) | 7.0 | 2.10.19.30 | 1.8.6 および 1.10.9.0 |
デュアル ポート Intel Corporation Ethernet Controller X710 (10GbE SFP+) | 7.0 | 2.10.19.30 | 1.8.6 および 1.10.9.0 |
クワッド ポート Intel Corporation Ethernet Controller X710 (10GbE SFP+) | 7.0 | 2.10.19.30 | 1.8.6 および 1.10.9.0 |
Dell rNDC X710/350 カード | nvm 7.10 および FW 19.0.12 | 2.10.19.30 | 1.8.6 および 1.10.9.0 |
サポートされるハイパーバイザー バージョン
ハイパーバイザー | サポートされるバージョン |
---|---|
VMware |
|
KVM |
|
重要: Intel i40e ホスト ドライバ バージョン 2.10.19.30 を、Ubuntu 18.04 LTS サーバにインストールすると、コンパイル エラーが発生することがあります。この問題が発生した場合、カスタマーにはホスト ドライバにパッチを適用することをお勧めします。
SD-WAN Gateway 仮想マシン (VM) の仕様
VMware については、既に OVA によって仮想ハードウェアの最低仕様が指定されています。KVM については、サンプルの XML ファイルが提供されます。仮想ハードウェアの最低仕様は次のとおりです。
- VMware ESXi を使用している場合:
- [遅延感度 (Latency Sensitivity)] を [高 (High)] に設定する必要があります。
- 手順(遅延感度の調整)
- vSphere Client で仮想マシンを参照します。
- 仮想マシンを見つけるには、データセンター、フォルダ、クラスタ、リソース プール、またはホストを選択します。
- [仮想マシン (VMs)] タブをクリックします。
- 仮想マシンを右クリックし、[設定の編集 (Edit Settings)] をクリックします。
- [仮想マシン オプション (VM Options)] をクリックして、[詳細 (Advanced)] をクリックします。
- [遅延感度 (Latency Sensitivity)] ドロップダウン メニューから設定を選択します。
- [OK] をクリックします。
- vSphere Client で仮想マシンを参照します。
- CPU 予約を 100% に設定します。
- CPU 共有を [高 (High)] に設定します。
- CPU 制限を [制限なし (Unlimited)] に設定する必要があります。
- 8 個の vCPU(4 個の vCPU がサポートされていますが、パフォーマンスは低下します)。
重要: すべての vCPU コアは、ソケットあたりのコア数パラメータが 8(8 個の vCPU の場合)または 4(4 個の vCPU の場合)に設定された同じソケットにマッピングする必要があります。注: パフォーマンスを最大化するには、ハイパースレッディングを無効にする必要があります。
- CPU リソースの割り当ての手順:
- VMware Host Client インベントリで [仮想マシン (Virtual Machines)] をクリックします。
- リストから仮想マシンを右クリックし、ポップアップ メニューから [設定の編集 (Edit Settings)] を選択します。
- [仮想ハードウェア (Virtual Hardware)] タブで、CPU を展開し、仮想マシンの CPU キャパシティを割り当てます。
オプション 説明 予約 この仮想マシンのために確保されている CPU の割り当て。 制限値 この仮想マシンの CPU 割り当ての上限。制限を指定しない場合は、[制限なし (Unlimited)] を選択します。 共有 親の合計に対するこの仮想マシンの CPU 共有。同種仮想マシンは、予約と制限によって制約される相対的な共有値に従ってリソースを共有します。[低 (Low)]、[中 (Normal)]、または [高 (High)] を選択します。これにより、共有値がそれぞれ 1:2:4 の比率で指定されます。[カスタム (Custom)] を選択して、各仮想マシンに対して比例した重みを表す特定の共有数を指定します。
- 手順(遅延感度の調整)
- CPU アフィニティを有効にする必要があります。次の手順を実行します。
- vSphere Web Client で、[仮想マシン設定 (VM Settings)] タブに移動します。
- [オプション (Options)] タブを選択して、[一般詳細 (Advanced General) ]>[設定パラメータ (Configuration Parameters)] の順にクリックします。
- numa.nodeAffinity=0, 1, ... のエントリを追加します。0 と 1 は、プロセッサ ソケット番号です。
- vNIC は「vmxnet3」タイプである必要があります(または SR-IOV。サポートの詳細については、「SR-IOV」セクションを参照してください)。
- 少なくとも次の vNIC のいずれか 1 つ:
- 最初の vNIC は、パブリック(外部)インターフェイスとして、タグなしに設定する必要があります。
- 2 つ目の vNIC はオプションで、VLAN のタグ付けの dot1q と Q-in-Q をサポートするプライベート(内部)インターフェイスとして機能します。通常、このインターフェイスは PE ルーターまたは L3 スイッチに接します。
- オプションの vNIC(管理/OAM インターフェイスが別に必要な場合)。
- メモリ予約が「最大」に設定されている。
- 16 GB のメモリ(証明書ベースの認証を有効にする場合は 32 GB の RAM が必要)。
- 64 GB の仮想ディスク(証明書ベースの認証を有効にする場合は 96 GB のディスクが必要)。
注: VMware では、上記の定義されている設定を使用してスケールとパフォーマンスの数値を取得します。上記の要件に適合しない設定は、VMware でテストされておらず、予測不能なパフォーマンスとスケールの結果が発生する可能性があります
- [遅延感度 (Latency Sensitivity)] を [高 (High)] に設定する必要があります。
- KVM を使用している場合:
- vNIC は「Linux ブリッジ」タイプである必要があります(高パフォーマンスを実現するには SR-IOV が必要です。サポートの詳細については、「SR-IOV」セクションを参照してください)。
- 8 個の vCPU(4 個の vCPU がサポートされていますが、パフォーマンスは低下します)。
重要: すべての vCPU コアは、ソケットあたりのコア数パラメータが 8(8 個の vCPU の場合)または 4(4 個の vCPU の場合)に設定された同じソケットにマッピングする必要があります。注: パフォーマンスを最大化するには、ハイパースレッディングを無効にする必要があります。
- 16 GB のメモリ(証明書ベースの認証を有効にする場合は 32 GB の RAM が必要)
- 少なくとも次の vNIC のいずれか 1 つ:
- 最初の vNIC は、パブリック(外部)インターフェイスとして、タグなしに設定する必要があります。
- 2 つ目の vNIC はオプションで、VLAN のタグ付けの dot1q と Q-in-Q をサポートするプライベート(内部)インターフェイスとして機能します。通常、このインターフェイスは PE ルーターまたは L3 スイッチに接します。
- オプションの vNIC(管理/OAM インターフェイスが別に必要な場合)。
- 64 GB の仮想ディスク(証明書ベースの認証を有効にする場合は 96 GB のディスクが必要)。
ファイアウォール/NAT 要件
注: これらの要件は、
SD-WAN Gateway がファイアウォールまたは NAT デバイス(あるいはその両方)の背後にデプロイされている場合に適用されます。
- ファイアウォールで SD-WAN Gateway から TCP/443 への送信トラフィック(SASE Orchestrator との通信用)を許可する必要があります。
- ファイアウォールでインターネットから UDP/2426 (VCMP)、UDP/4500、および UDP/500 への受信トラフィックを許可する必要があります。NAT を使用しない場合、ファイアウォールで IP/50 (ESP) も許可する必要があります。
- NAT を使用する場合、上記のポートを外部から到達可能な IP アドレスに変換する必要があります。1:1 NAT とポート変換の両方がサポートされます。
テンプレートとサンプルの Git リポジトリ
テンプレートとサンプルが以下の Git リポジトリにあります。
git clone https://gitlab.eng.vmware.com/velocloud/velocloud.src.git
注: 詳細については、Partner Connect ポータルで公開されている『
VMware SD-WAN パフォーマンスおよびスケール データシート』を参照してください。データシートにアクセスするには、Partner Connect ポータルにパートナー認証情報(ユーザー名とパスワード)を使用してログインする必要があります。
SD-WAN Gateway での DPDK の使用
パケットのスループット パフォーマンスを向上させるため、SD-WAN Gateway ではデータ プレーン開発キット (DPDK) テクノロジーを利用します。DPDK は、Intel が提供するデータ プレーンのライブラリとドライバのセットで、TCP パケット処理をオペレーティング システム カーネルからユーザー空間で実行するプロセスにオフロードすることで、パケットのスループットを向上させることができます。詳細については、https://www.dpdk.org/ を参照してください。
VMware ホスト型 Gateway と Partner Gateway では、DPDK はデータ プレーン トラフィックを管理するインターフェイスで使用され、管理プレーン トラフィック用に予約されているインターフェイスでは使用されません。たとえば、通常の VMware ホスト型 Gateway では、eth0 が管理プレーン トラフィックに使用され、DPDK は使用されません。一方、eth1、eth2、eth3 はデータ プレーン トラフィックに使用され、DPDK が使用されます。