AHV の仮想スイッチ vs0 のアップリンクを NIC 2 本のボンド(Active-Backup)にして冗長化し、仮想マシン用のサブネットを作る手順です。あわせて、HCI ストレージ(ストレージ コンテナーと冗長度)を確認します。
この記事の前提
- インストールとクラスタの作成が終わっていること
- 各ノードに NIC が 2 本(eth0・eth1)あり、同じスイッチ(L2)につながっていること
- 参照: AHV Administration Guide v6.8(Virtual Switch の章)、Prism Web Console Guide v6.8
ネットワークの考え方
AHV は Open vSwitch で仮想スイッチを作ります。既定の仮想スイッチ vs0(ブリッジ br0)には、AHV の管理、CVM どうしのストレージの通信、仮想マシンの通信がすべて載ります。そのため、vs0 のアップリンクを 2 本にすると、管理・ストレージ・仮想マシンの通信がまとめて冗長化されます。
| ボンドの種類 | 説明 | スイッチ側の設定 |
|---|---|---|
| Active-Backup | 1 本だけを使い、切れたらもう 1 本に切り替える(既定・推奨) | 不要(LAG を組まない) |
| Active-Active with MAC pinning | 仮想マシンの MAC ごとに使う NIC を振り分ける | 不要 |
| Active-Active | LACP で両方を使う | LACP の設定が必要 |
| No Uplink Bond | アップリンク 1 本 | — |
ダッシュボードの確認
[Home] で、ホスト 3 台、VM の HA の方式、データの回復性を確認します。

この画面の Health が CRITICAL なのは、直前の CVM の再起動のアラートが残っているためです(データの回復性は OK)。
仮想スイッチのボンディング
(1) 右上の歯車(Settings)→ [Network Configuration] →[Virtual Switch]タブを開きます。vs0 の Bond Type が No Uplink Bond(アップリンク 1 本)になっています。鉛筆のアイコンをクリックします。

(2) [General] で名前・MTU を確認し、[Select Configuration Method] で Standard(推奨)を選んで [Next] をクリックします。

| 項目 | 説明 | 設定値 |
|---|---|---|
| Physical NIC MTU | 物理 NIC の MTU(1280〜9000) | 1500 |
| Standard (Recommended) | ホストを 1 台ずつメンテナンス モードにして(仮想マシンを他のホストへ移して)から変更する。時間はかかるが仮想マシンは止まらない | 選択 |
| Quick | メンテナンス モードにせずに変更する。仮想マシンの通信が一時的に止まることがある | — |
(3) [Uplink Configuration] の [Bond Type] で Active-Backup を選びます。

(4) [Select Hosts] は All Hosts のまま、ホストの一覧で各ホストの eth0・eth1 にチェックを入れて([Select All] で全部選べます)、[Save] をクリックします。

Active-Backup では、ホストごとに 2 本以上のポートを選ぶ必要があります。1 本しか選んでいないと「at least TWO uplink ports need to be selected per host」と表示されて保存できません。
(5) 変更はホストを 1 台ずつ処理するため、3 台で約 15 分かかりました。終わると Bond Type が Active-Backup になります。

確認
実行する場所:各 AHV(root ユーザー)
# ovs-appctl bond/show
期待する出力(抜粋):
---- br0-up ----
bond_mode: active-backup
active slave mac: bc:24:11:a1:43:a1(eth0)
slave eth0: enabled
active slave
slave eth1: enabled
実行する場所:いずれかの CVM(nutanix ユーザー)
$ acli net.list_virtual_switch
期待する出力:
VS Name VS UUID MTU Bond Type Bridge IGMP Snooping
vs0 e9b70f08-0745-407d-bd63-d2877b8ebf9b 1500 kActiveBackup br0 Disabled
この検証では、インストールの後に仮想マシン(ノード)へ NIC を追加したため、AHV が新しい NIC を「ahv1」という名前で認識し、Prism のアップリンクの候補に出ませんでした。eth0 と同じ書式で /etc/sysconfig/network-scripts/ifcfg-eth1(HWADDR に追加した NIC の MAC アドレス)を作り、名前を eth1 に変えると候補に出ました。インストール時から付いている NIC は eth0・eth1… と自動で名前が付くため、物理のサーバーではこの作業は不要です。
サブネットの作成
(1) [Network Configuration] の [Subnets] タブで [+ Create Subnet] をクリックし、名前、仮想スイッチ、VLAN ID を入力して [Save] をクリックします。

| 項目 | 説明 | 設定値 |
|---|---|---|
| Subnet Name | サブネットの名前(仮想マシンの NIC で選ぶ) | vm-lan |
| Virtual Switch | 使う仮想スイッチ | vs0 |
| VLAN ID | VLAN の番号。0 はタグなし | 0 |
| Enable IP address management | AHV が仮想マシンに IP を配る(IPAM)。外部の DHCP や固定 IP を使うときはオフ | オフ |
(2) サブネット vm-lan が一覧に表示されます。

ストレージの確認
CE では、クラスタの作成時に、全ノードのディスクをまとめたストレージ プールと、ストレージ コンテナーが自動で作られます。仮想マシンのディスクはストレージ コンテナーに置かれ、コンテナーごとに冗長度(RF)を持ちます。
実行する場所:いずれかの CVM(nutanix ユーザー)
$ ncli ctr ls | grep -E "Name |Replication Factor"
$ ncli cluster get-redundancy-state
期待する出力(抜粋):
Name : default-container-21025474079684
Replication Factor : 2
...
Current Redundancy Factor : 2
Desired Redundancy Factor : 2
| コンテナー | 用途 |
|---|---|
| default-container-… | 仮想マシンのディスク・イメージを置く既定のコンテナー(RF2) |
| NutanixManagementShare | Nutanix の管理用(Files などが使う) |
| SelfServiceContainer | セルフサービス ポータル用 |
RF2 では、書き込んだデータを 2 つのノードに置きます。1 台のノード(またはディスク)が壊れてもデータは失われず、残ったノードでデータを 2 重に戻す処理(再保護)が自動で始まります。
