NSX-Tの負荷分散構成について考察します。(個人の見解としてはヴイエムウェア社のポジショントークと思っていますが)NSX-TはmLAG構成を非推奨としており、mLAGを使用しないで負荷分散を実現するには複雑な設定が必要です。入れ子となる負荷分散ポリシーを作成したり複数のIPアドレスを付与したりの操作が必要です。このページでは、ホストトランスポートノードとNSX Edgeとの間の冗長化設定を紹介します。
おそらくヴイエムウェア社は、CiscoやJuniperの既存ベンダーのシェアを奪いにいくため、彼らのテクノロジーを必要ないデザインパターンを推奨しているものと推測しています。ヴイエムウェア社の資料を見ると、単純なLayer3 Switchを前提とする設定例が多く、いわゆるmLAGが組めるネットワーク機器を前提とした設定例は少数派です。
「Physical Network Design Decisions」によると、「No EtherChannel (LAG/vPC) configuration for ESXi host uplinks」と書かれています。
構成図
「NSX-T オーバーレイの負荷分散(mLAGなし multiple TEP)」「NSX-T アップリンクの負荷分散(mLAGなし)」の併せて2記事で以下のような構成を組み上げます。
このページでは赤枠で囲まれた部分のホストトランスポートノードとNSX Edgeの負荷分散構成を説明します。
前提条件
ポートグループ
負荷分散と冗長化を実現するため、overlay01とoverlay02という名前で互いに入れ子構成となるポートグループを作成します。
trunk01は「アップリンク 3 (vmnic2)」を優先するように設定します。
trunk02は「アップリンク 4 (vmnic3)」を優先するように設定します。
オーバーレイトランスポートゾーン
ホストトランスポートノードとNSX Edge間でトンネルを確立するためのオーバーレイトランスポートゾーンは作成済みのものとします。
トランスポートゾーンの設定全文は以下の通りです。
ホストトランスポートノード側の設定
アップリンクプロファイル
NSX-TにTEP(Tunnel End Point)を複数作成し、TEPごとに負荷分散されるアップリンクプロファイルを作成します。
「プロファイルの追加」を押下します。
何か分かりやすい名前を入力します。
「アクティブアップリンク」には、アップリンク名をカンマ区切りで2つ入力します。チーミングポリシーは負荷分散される「ロードバランシングの送信元」または「ロードバランシングの送信元のMACアドレス」のいずれかにします。
「ロードバランシングの送信元」は日本語訳では誤解を招く言い方ですが、英語原文では「LOADBALANCE_SRCID」です。分散仮想スイッチのポートIDごとに負荷分散されます。
ノードスイッチの設定
ESXiに対してノードスイッチを設定します。
アクティブリンクに複数を指定したアップリンクプロファイルを適用します。
IPアドレスは複数を指定し、VDSのアップリンクは複数を指定します。
設定完了後、ESXiにSSHログインします。esxcliコマンドでvmk10とvmk11の2つのTEPが作成されていることが確認できます。
[root@esxi182:~] esxcli network ip interface ipv4 address list Name IPv4 Address IPv4 Netmask IPv4 Broadcast Address Type Gateway DHCP DNS ----- ------------- ------------- --------------- ------------ ----------- -------- vmk0 192.168.1.182 255.255.255.0 192.168.1.255 STATIC 192.168.1.1 false vmk10 192.168.2.192 255.255.255.0 192.168.2.255 STATIC 192.168.2.1 false vmk11 192.168.2.182 255.255.255.0 192.168.2.255 STATIC 192.168.2.1 false vmk50 169.254.1.1 255.255.0.0 169.254.255.255 STATIC 192.168.1.1 false [root@esxi182:~]
ノードスイッチの設定全文は以下の通りです。
Edgeトランスポートノード側の設定
アップリンクプロファイル
TEPごとに負荷分散されるアップリンクプロファイルを作成します。「プロファイルの追加」を押下します。
何か分かりやすい名前を入力します。
「アクティブアップリンク」には、アップリンク名をカンマ区切りで2つ入力します。チーミングポリシーは負荷分散される「ロードバランシングの送信元」にします。
「ロードバランシングの送信元」は日本語訳では誤解を招く言い方ですが、英語原文では「LOADBALANCE_SRCID」です。分散仮想スイッチのポートIDごとに負荷分散されます。
NSX Edgeはロードバランシングアルゴリズム「ロードバランシングの送信元のMACアドレス」に対応していません。「ロードバランシングの送信元のMACアドレス」を選択すると、この後のノードスイッチの設定画面において、アップリンクプロファイル選択のプルダウンメニューに現れません。
アップリンクプロファイルの設定全文は以下の通りです。
ノードスイッチの設定
NSX Edgeに対してノードスイッチを設定します。
アクティブリンクに複数を指定したアップリンクプロファイルを適用します。
IPアドレスは複数を指定し、NSX Edgeのアップリンクは複数を指定します。
設定が完了すると、以下スクリーンショットのようにTEPに複数のIPアドレスが表示されます。
ノードスイッチの設定全文は以下の通りです。
動作確認
セグメントと仮想マシンの作成
ホストトランスポートノードとNSX Edgeの間のトンネルを確立するには、NSX-Tでセグメントを作成し、そのセグメントに属す仮想マシンを起動しなければなりません。
まずは動作確認用のセグメントを作成します。
セグメントの設定全文は以下の通りです。
次に動作確認用の仮想マシンを作成し、これを起動します。
トンネルの確認
仮想マシンの起動後、ホストトランスポートノードとNSX Edgeの間のトンネルを確認します。ホストトランスポートノートの詳細画面で「監視」タブを開き、確立されたトンネルを確認します。トンネルが4本作成されていることが読み取れます。
通信経路の確認
ESXiと物理ネットワーク機器の結線関係は以下の通りです。
mac addressテーブルを表示し、ホストトランスポートノード(f0/7とf0/8)、NSX Edge(f0/3とf0/4)ともにIPアドレス単位で負荷分散されていることを確認します。
Switch#show arp vlan 2 Protocol Address Age (min) Hardware Addr Type Interface Internet 192.168.2.10 - c472.9559.9043 ARPA Vlan2 Internet 192.168.2.131 1 0050.56b3.38f6 ARPA Vlan2 Internet 192.168.2.132 1 0050.56b3.2b3c ARPA Vlan2 Internet 192.168.2.161 1 0050.56b3.05dd ARPA Vlan2 Internet 192.168.2.162 1 0050.56b3.312d ARPA Vlan2 Internet 192.168.2.181 0 Incomplete ARPA Internet 192.168.2.182 0 0050.5666.aa1d ARPA Vlan2 Internet 192.168.2.192 0 0050.5663.dc2e ARPA Vlan2 Switch# Switch# Switch# Switch#show mac address-table vlan 2 | exclude All Mac Address Table ------------------------------------------- Vlan Mac Address Type Ports ---- ----------- -------- ----- 2 0050.5663.dc2e DYNAMIC Fa0/8 2 0050.5666.aa1d DYNAMIC Fa0/7 2 0050.56b3.05dd DYNAMIC Fa0/3 2 0050.56b3.2b3c DYNAMIC Fa0/4 2 0050.56b3.312d DYNAMIC Fa0/3 2 0050.56b3.38f6 DYNAMIC Fa0/4 2 0060.b9e1.03f0 DYNAMIC Gi0/2 Total Mac Addresses for this criterion: 27 Switch#