この記事はNutanix Advent Calendar 2023の3日目として作成しました。https://adventar.org/calendars/8538
Nutanix Meetup Hybrid 23.10 in Osakaでネットワーク関連ネタを発表したので、今回もネットワークネタで記事を作成しました。
L2延伸が必要なケース
VLANネットワークは単一データセンターもしくは単一建屋に閉じて運用されているケースが一般的かと思います。
VLANが大きすぎるとブロードキャストドメインが大きくなってしまい、余計なBUMトラフィックが増えてしまいます。それ以外にもネットワーク管理者の立場からVLANネットワークを大きくしたくない理由はいろいろあるかと思いますが、今回はその辺りの話を深堀するのが目的でないため割愛します。
一方で、サーバ管理者の立場からすると、データセンターを跨いでL2延伸したいというニーズは少なからずあると思います。たとえばデータセンター移転やBCP目的などで、仮想サーバのIPアドレスを変更せずにデータセンター間で同じVLANを利用したいといったケースが考えられます。
L2延伸はメリット/デメリットあるため業務利用する際はそれらを踏まえた上で採用可否を決定すべきと思いますが、今回はその辺りの細かい事は記載せず、Nutanix上で上記を実現する一例を示したいと思います。
実際に検証環境で動作確認した情報を記載しますので、興味ある人はぜひ試してもらえればと思います。
仮想ネットワークとしてL2延伸を行うため、物理ネットワーク機器の設定変更を必須とせずNutanix上の設定を行うだけで実現できるというのもポイントです(もちろんサイト間でIPルーティングが通っているなど条件はあります)。
構成概要
今回はシンプルに2つのNutanixクラスターを用意し、クラスター間で同じVLANのL2延伸を行います。
バージョン情報は以下です。
AOS:6.5.2
AHV:20220304.342
Prism Central:2022.6.0.8
前提条件として、上記のクラスター基本コンポーネントは構築済みであるところから本記事は記載。L3スイッチなどIPネットワークについても構築済み。
サイト1の管理VLAN:0 192.168.1.0/24
サイト2の管理VLAN:100 192.168.100.0/24
L2延伸するVLAN:200 192.168.200.0/24
L2延伸前のVlan200はそれぞれのサイトで孤立しており疎通できません。
L2延伸することでそれぞれのVlan200を連結し疎通できるようにします。
設定
それぞれのサイトでGateway(VTEP)を構成します。
(PE上で仮想マシン(仮想ルータ)として確認できます)
サイト1のVTEP: 192.168.1.200
サイト2のVTEP: 192.168.100.200
それぞれのサイトでSubnet Extensionを構成します。
それぞれのサイトでVLAN200にテスト用仮想マシンを作成します(VM作成については詳細割愛)
(作成順番としては上記のVTEP作成、Subnet Extension作成より前でも構いません)
サイト1VM1:192.168.200.100
サイト1VM2:192.168.200.102
サイト2VM3:192.168.200.101
動作確認
サイト1VM1からPingで疎通確認 まずは同じクラスター内のサイト1VM2へ⇒OK
今度はL2延伸先のサイト2VM3へ⇒OK ただしPingに少し遅延があった。(VXLAN処理の影響と思われる)
サイト1VM1でARPテーブルを確認 ⇒OK L2延伸だからといって特別変わった見え方はしない。
最低限としてはここまでですが、少し物足りたいのでもう少し確認してみました。
Pingのsizeを大きくして疎通確認⇒NG
Pingのsizeを少し小さくして疎通確認⇒OK L2延伸の場合はMTUサイズが影響していることがわかります。
理由はオリジナルのイーサネットフレームへVTEPがヘッダーを追加しているため。
念のためパケットキャプチャーで詳細を確認しました。
以下はサイト1VM1:192.168.200.100からサイト2VM3:192.168.200.101へPingしたものをwiresharkでキャプチャしたものです。
Source Address:サイト1のVTEPのアドレス:192.168.1.200とDestination Address:サイト2のVTEPのアドレス:192.168.100.200でヘッダーが付加されていることが確認できました。
UDP 4789 VXLAN (VNI)が付与されている事も確認できました。
なお、Nutanix AHV上でパケットキャプチャー(traffic mirroring)する方法については、以前に下記でまとめていますのでこちらもご参考ください。今回キャプチャを採取するに辺りこちらを使ってwiresharkを準備しました。
traffic mirroring on AHV Hosts
https://go.nutanix.com/rs/031-GVQ-112/images/traffic-mirroring-on-AHV-Hosts-20231024-meetup-kuze.pdf?version=0
詳細な追加検討(今後について)
以下については今回は確認していませんが、実際に業務等で使うことを考える際は以下のような追加検討が必要と思うので参考までに記載しておきます。
・物理ネットワーク装置でジャンボフレームを構成し、MTUを調整する。
・VLAN200のゲートウェイを構成しVLAN間通信ができるようにする。
・複数のVLANでL2延伸を構成する。
時間あるときに上記についても改めて確認しようと思います(今回は時間の関係で割愛します)。
ご参考
L2延伸の詳細についてはNutanixのSupport Portalに情報がまとまっていますので、ぜひこちらもご参考ください。
https://portal.nutanix.com/page/documents/details?targetId=Nutanix-Flow-Virtual-Networking-Guide-vpc_2022_6:ear-flow-nw-l2-virtual-network-extension-c.html
今回の記事は上記URL内の以下セクションに近い内容になっています。
・Extending a Subnet to Third Party Datacenters Over VTEP
今回はVTEP間でL2延伸を行いましたが、Nutanixが提供している方法にはVPNを使うやり方もあります。L2延伸トラフィックを暗号化したい場合はVPNとなります(VTEPは暗号化に非対応なため)。
・Layer 2 Virtual Subnet Extension Over VPN
この辺りについても上記URL内で詳細が確認できます。
なお、今回の検証はNutanix CE2.0を用いて実施しました。興味持たれた方はぜひNutanix CE2.0についても触ってみてください!
今回は以上です。明日以降のアドベントカレンダーもお楽しみに!