AHV と CVM の管理ネットワークで、VLAN ID を変更してみます。例として使用している Nutanix CE のバージョンは 2020.09.16 です。
手順については、AHV のベスト プラクティス ガイドなどが参考になります。
今回の流れ。
- 管理ネットワーク VLAN ID 変更の概要
- 設定変更前の Nutanix クラスタ停止
- AHV 管理ネットワークの VLAN ID 変更
- CVM 管理ネットワークの VLAN ID 変更
- VLAN ID 変更後の様子
管理ネットワーク VLAN ID 変更の概要
AHV の VLAN ID は、仮想スイッチ(Open vSwitch によるブリッジ)のポートで設定されます。そのため、AHV ホストの物理ネットワーク ポートでの VLAN ID 設定は不要です。
一方、物理スイッチ側のポートでは、VLAN トランクとして AHV ホスト上で利用されるすべての VLAN ID を通すようにしておきます。
今回は、デフォルトの VLAN なし(VLAN ID が 0 / tag:0)の Nutanix CE 環境を設定変更して、管理ネットワークで VLAN ID 20 を利用できるようにします。
実際の変更箇所は、次の 2か所です。
- AHV の br0 ポート
- CVM の eth0 ポート(AHV 側では vnet0 ポート)
なお、あらかじめ物理ネットワークでは VLAN ID 20 のタグによる通信ができるようにしてあります。今回の作業とは関係しませんが、AHV / Prism で他にも VM 用のネットワークを作成する場合は、その VLAN ID も物理スイッチのトランク ポートに設定しておきます。
設定変更前の Nutanix クラスタ停止
事前に AHV 上の ユーザ VM を停止して、Nutanix クラスタも停止(CVM で cluster stop)しておきます。ただし CVM でコマンド実行するので、CVM は起動したままにします。そして、VLAN ID 設定変更後は CVM と AHV それぞれの外部ネットワークとの疎通確認をしたうえで cluster start します。
なお、Nutanix CE は 1ノードクラスタのケースも多いと思いますが、実際のところその場合はユーザ VM や Nutanix クラスタは起動したままでも作業は可能です。(ただしエラー覚悟で)
AHV 管理ネットワークの VLAN ID 変更
まず、AHV 側の VLAN ID を変更します。ただし、実際には CVM と AHV は、どちらから VLAN ID 設定を変更してもかまいません。
ここからの VLAN ID の変更作業は、AHV にネットワーク アクセス不可になっても対処できるように、ディスプレイ直結、もしくは IPMI ポートのリモート コンソール経由で実施します。
AHV の管理ネットワークとしては、br0 ブリッジに接続された、br0 ポート(ブリッジと同名)の VLAN ID 変更します。
まず、AHV にログインします。今回はネスト環境なので、ディスプレイのかわりに VM コンソールから作業しています。
AHV に、root ユーザでログインします。
この時点では、まだ br0 ポートに VLAN ID は設定されていません。
[root@NTNX-d1d72885-A ~]# ovs-vsctl list port br0 | grep tag tag : []
それでは、設定変更します。
[root@NTNX-d1d72885-A ~]# ovs-vsctl set port br0 tag=20
tag:20 が設定されました。
[root@NTNX-d1d72885-A ~]# ovs-vsctl list port br0 | grep tag tag : 20
これで、AHV の管理ネットワークのアドレスが、外部ネットワークと通信可能になります。
CVM 管理ネットワークの VLAN ID 変更
次は CVM の 管理ネットワークの VLAN ID を変更します。対象のポートは、CVM のゲスト OS では eth0 として、AHV 側では(CVM の vNIC としては)vnet0 という名前のポートです。
VLAN ID を設定するのは AHV 側の Open vSwitch のポートなのですが、CVM 側から専用コマンドで変更します。作業のために、AHV から CVM に、内部仮想スイッチ(192.168.5.x のネットワーク)経由で SSH ログインします。
まず、AHV から CVM(アドレスは全ノード共通で、必ず 192.168.5.2)に SSH ログインします。
[root@NTNX-d1d72885-A ~]# ssh nutanix@192.168.5.2
CVM の change_cvm_vlan コマンドで、VLAN ID 20 に設定変更します。確認メッセージでは、「yes」を入力します。
CVM$ change_cvm_vlan 20
ちなみに、実際のコマンド実行の様子です。
これで CVM の管理ネットワークも、外部と通信できるようになります。
VLAN ID 変更後の様子
AHV / CVM それぞれの管理ネットワークが、外部と通信可能になっているはずです。
ちなみに、CVM だけ VLAN ID 変更すると、(AHV の VLAN 設定に関わらず)CVM だけ通信可能になるはずです。これは、VLAN の終端が物理ポートではなく、Open vSwitch に接続されているポート(br0 / vnet0)だからです。
AHV の ovs-vsctl で確認した、VLAN ID 変更前後のポートの様子です。
変更前
[root@NTNX-d1d72885-A ~]# ovs-vsctl show 335765b9-f2fd-4e88-9de9-8c6d1839ac5b Bridge "br0" Port "br0-arp" Interface "br0-arp" type: vxlan options: {key="1", remote_ip="192.168.5.2"} Port "br0.u" Interface "br0.u" type: patch options: {peer="br.dmx.d.br0"} Port "eth0" Interface "eth0" Port "br0-dhcp" Interface "br0-dhcp" type: vxlan options: {key="1", remote_ip="192.168.20.42"} Port "br0" ★AHVのポート Interface "br0" type: internal Port "vnet0" ★CVMのポート Interface "vnet0" Port "vnet2" Interface "vnet2" (省略)
変更後(ポートに tag:20 が付与されます)
[root@NTNX-d1d72885-A ~]# ovs-vsctl show 335765b9-f2fd-4e88-9de9-8c6d1839ac5b Bridge "br0" Port "br0-dhcp" Interface "br0-dhcp" type: vxlan options: {key="1", remote_ip="192.168.20.42"} Port "eth0" Interface "eth0" Port "br0-arp" Interface "br0-arp" type: vxlan options: {key="1", remote_ip="192.168.5.2"} Port "vnet2" Interface "vnet2" Port "br0" ★AHVのポート tag: 20 Interface "br0" type: internal Port "br0.u" Interface "br0.u" type: patch options: {peer="br.dmx.d.br0"} Port "vnet0" ★CVMのポート tag: 20 Interface "vnet0" (省略)
以上。
元ファイル: https://1drv.ms/p/s!AnlE-3oEWaHsgbl5whr4fR59XC38CA?e=YuSOqC