NutaNice Xperience

主にNutanix製品を検証したり触ったりした結果をつづっています。※このブログの内容は個人の見識や見解をもとに作成しています。参考にされる場合は自己責任でご活用ください。実際に製品を使用される場合は、メーカードキュメントの手順に従い実施してください。

Flow Virtual NetworkingでVPC作成後のOVSブリッジを確認してみる【AOS 7.0 AHV 10.0/pc.2024.3】

※この記事は「AOS 7.0 AHV10.0 Prism Central pc.2024.3」時点の情報をもとに作成しています。その後の機能アップデートについてはメーカーの公開情報をご確認ください。

NutanixのFlow Virtual Networkingの連載については以下の記事にリンクをまとめています。ほかの記事にもこちらからアクセス可能です。

tomomartin.hateblo.jp

前回の記事では、FVNでNAT接続用のexternal-subnetとVPCを作成してみました。今回は、VPC作成後の、仮想スイッチの様子を確認してみます。

目次

1.今回の環境

3ノードAHVクラスタ
AOS: 7.0.1
AHV: 10.0.1
Prism Central: pc.2024.3.1.1

環境は一般的なNutanixの3ノードクラスタです。Prism CentralはFVNで推奨となる3台構成としています。

▽Flow Virtual Networkingによる仮想プライベートクラウドのざっくりしたイメージ図は以下の通りです。クラスター上に独立した空間を作成して、そこにオーバーレイネットワークを作成する機能を指します。

▽今回の環境は以下の通りで、「外部NAT接続用のネットワーク」と「VPC」をそれぞれ作成しています。

2. br0とbrAtlasブリッジの確認

AHVデフォルトの「br0ブリッジ」をOVSのコマンドで確認すると、以下のようにFVNのVPCで使用される「brAtlasブリッジ」宛のパッチポート(peer)とインターフェースが作成されていることが確認できます。3ノード構成の場合は2ホストに作成されました。(以下、不要な行は削除)

nutanix@CVM:~$ hostssh ovs-vsctl show | grep -A 30 "Bridge br0$"
----------------AHV #3------------------
    Bridge br0
        Port br0.u
            Interface br0.u
                type: patch
                options: {peer=br.dmx.d.br0}
        Port br0-up
            Interface eth1
            Interface eth0
        Port br0
            Interface br0
                type: internal
        Port vnet0
            Interface vnet0
        Port br0-dhcp
            Interface br0-dhcp
                type: vxlan
                options: {key="1", remote_ip="172.22.1.53"}
        Port br0-arp
            Interface br0-arp
                type: vxlan
                options: {key="1", remote_ip="192.168.5.2"}
        Port vnet2
            Interface vnet2
----------------AHV #1------------------
    Bridge br0
        Port br0.u
            Interface br0.u
                type: patch
                options: {peer=br.dmx.d.br0}
        Port vnet0
            Interface vnet0
        Port br0-dhcp
            Interface br0-dhcp
                type: vxlan
                options: {key="1", remote_ip="172.22.1.53"}
        Port br0
            Interface br0
                type: internal
        Port br0-arp
            Interface br0-arp
                type: vxlan
                options: {key="1", remote_ip="192.168.5.2"}
        Port br0-up
            Interface eth1
            Interface eth0
        Port vnet2
            Interface vnet2
        Port patch-localnet_5fa630ca-b639-44d8-8335-f2febf653966-to-brAtlas
            Interface patch-localnet_5fa630ca-b639-44d8-8335-f2febf653966-to-brAtlas
                type: patch
                options: {peer=patch-brAtlas-to-localnet_5fa630ca-b639-44d8-8335-f2febf653966}
----------------AHV #2------------------
    Bridge br0
        Port br0-arp
            Interface br0-arp
                type: vxlan
                options: {key="1", remote_ip="192.168.5.2"}
        Port br0
            Interface br0
                type: internal
        Port patch-localnet_5fa630ca-b639-44d8-8335-f2febf653966-to-brAtlas
            Interface patch-localnet_5fa630ca-b639-44d8-8335-f2febf653966-to-brAtlas
                type: patch
                options: {peer=patch-brAtlas-to-localnet_5fa630ca-b639-44d8-8335-f2febf653966}
        Port br0.u
            Interface br0.u
                type: patch
                options: {peer=br.dmx.d.br0}
        Port br0-dhcp
            Interface br0-dhcp
                type: vxlan
                options: {key="1", remote_ip="172.22.1.53"}
        Port br0-up
            Interface eth1
            Interface eth0
        Port vnet0
            Interface vnet0
        Port vnet2
            Interface vnet2

「brAtlasブリッジ」に対して同様のコマンドを実行すると、「br0ブリッジ」宛のパッチポート(peer)とインターフェースが作成されていることが確認できます。(以下、不要な行は削除)

nutanix@CVM:~$ hostssh ovs-vsctl show | grep -A 20 "Bridge brAtlas$"
----------------AHV #3------------------
    Bridge brAtlas
        Controller "pssl:"
        fail_mode: secure
        datapath_type: system
        Port ovn-ba3356-0
            Interface ovn-ba3356-0
                type: geneve
                options: {csum="true", key=flow, remote_ip="172.22.1.62"}
        Port ovn-cd532d-0
            Interface ovn-cd532d-0
                type: geneve
                options: {csum="true", key=flow, remote_ip="172.22.1.61"}
        Port brAtlas
            Interface brAtlas
                type: internal
----------------AHV #1------------------
    Bridge brAtlas
        Controller "pssl:"
        fail_mode: secure
        datapath_type: system
        Port ovn-daf4b9-0
            Interface ovn-daf4b9-0
                type: geneve
                options: {csum="true", key=flow, remote_ip="172.22.1.63"}
        Port patch-brAtlas-to-localnet_5fa630ca-b639-44d8-8335-f2febf653966
            Interface patch-brAtlas-to-localnet_5fa630ca-b639-44d8-8335-f2febf653966
                type: patch
                options: {peer=patch-localnet_5fa630ca-b639-44d8-8335-f2febf653966-to-brAtlas}
        Port brAtlas
            Interface brAtlas
                type: internal
        Port ovn-ba3356-0
            Interface ovn-ba3356-0
                type: geneve
                options: {csum="true", key=flow, remote_ip="172.22.1.62"}
  ----------------AHV #2------------------
    Bridge brAtlas
        Controller "pssl:"
        fail_mode: secure
        datapath_type: system
        Port ovn-cd532d-0
            Interface ovn-cd532d-0
                type: geneve
                options: {csum="true", key=flow, remote_ip="172.22.1.61"}
        Port ovn-daf4b9-0
            Interface ovn-daf4b9-0
                type: geneve
                options: {csum="true", key=flow, remote_ip="172.22.1.63"}
        Port brAtlas
            Interface brAtlas
                type: internal
        Port patch-brAtlas-to-localnet_5fa630ca-b639-44d8-8335-f2febf653966
            Interface patch-brAtlas-to-localnet_5fa630ca-b639-44d8-8335-f2febf653966
                type: patch
                options: {peer=patch-localnet_5fa630ca-b639-44d8-8335-f2febf653966-to-brAtlas}

パッチポートが作成されているAHVホストで、ブリッジのインターフェース情報も確認しておきます。

[root@ahv1 ~]# ovs-vsctl list interface | grep -C 5 "brAtlas"
lldp                            : {}
mac                           :
mac_in_use           : "62:66:5a:90:6a:2d"
mtu                           :

mtu_request          :
name                        : patch-brAtlas-to-localnet_5fa630ca-b639-44d8-8335-f2febf653966
ofport                       : 3
ofport_request      :

options                    : {peer=patch-localnet_5fa630ca-b639-44d8-8335-f2febf653966-to-brAtlas}
other_config         : {}
statistics                 : {rx_bytes=401172161, rx_packets=4108774, tx_bytes=210, tx_packets=5}
status                       : {}
type                          : patch

--
lldp                           : {}
mac                          :
mac_in_use          : "6e:77:20:60:6b:e1"
mtu                          :

mtu_request         :
name                        : patch-localnet_5fa630ca-b639-44d8-8335-f2febf653966-to-brAtlas
ofport                       : 14
ofport_request     :

options                    : {peer=patch-brAtlas-to-localnet_5fa630ca-b639-44d8-8335-f2febf653966}
other_config         : {}
statistics                 : {rx_bytes=210, rx_packets=5, tx_bytes=401172161, tx_packets=4108774}
status                       : {}
type                          : patch

▽こちらをイメージ図で表現すると以下のようになります。

本日の確認はここまで。

次回以降は、Flowテーブルを確認したり、オーバーレイネットワークを作成して仮想マシンを接続したりしていきたいと思います。