タイトルの通り。
Nutanixをネスト環境やシングルノードといった実験的構築ではなく、 実運用にも耐えうるようなベアメタル・マルチノード環境で構築を行った
環境:
Supermicro X10DRT x3ノード
- Xeon E5 2620v4 x2ソケット(16コア32スレッド)
- 64GB(32GB x2枚) DDR4-2400
- Mellanox connectX-3 Pro 10G-NIC
- HGST 160GB HDD(ハイパーバイザーBoot用)
- Intel S3710 200GB SSD(CVM領域用)
- Seagate ST91000640NS 1TB HDD(データ領域用)Nutanix CE 2.0 6.5.2
Fedora 40(ゲストOS)
ハードウェア構築
Nutanixの導入にはざっくりと以下のハードウェア要件がある
ノード毎に
- 32GB以上のメモリ
- 200GB以上のSSD
- 500GB以上のHDD
ノード間で同一の構成
上記要件を満たすため、ストレージは以下のものを各ノードにアタッチした
- HGST 160GB HDD(ハイパーバイザーBoot用)
- Intel S3710 200GB SSD(CVM領域用)
- Seagate ST91000640NS 1TB HDD(データ領域用)
インストール
まずはNutanixのアカウントを作成、コミュニティ版のISOイメージをダウンロードする
- https://next.nutanix.com/discussion-forum-14/download-community-edition-38417
今回使用したSupermicroのサーバーの場合、イメージリダイレクトで5.2GBあるNutanixのISOイメージをマウントできなかったため、
おとなしくUSBメモリからインストーラーを立ち上げた
インストーラーの初回画面で以下の設定を行う
Select Hypervisor → AHVを選択 Disk Selection: → SSDをCVM領域用、大容量HDDをデータ領域用に設定 Host IP Address CVM IP Address Subnet Mask gateway → 環境にあった値を入力
Host IP AddressとCVM IP Addressは同一のセグメントに所属する必要がある
Caution: All Host and Controller VMs in the same cluster must be on the same subnet.
今回は以下のようなネットワーク設計とした
使用ネットワーク:192.168.1.0/24 - IPMI:192.168.1.151~153 - AHV:192.168.1.156~168 - CVM:192.168.1.161~163 - CVM 仮想IP:192.168.1.160
また、今回のようにマルチノード環境で構築を行う場合、"Create Single-node Cluster"にはチェックを入れずにNextを選択する
EULAが表示されるので、AcceptをチェックしてAHV・CVMのインストールを開始する
インストールが完了すると、インストールメディアを取り外しを指示されるため、メディアをデタッチして再起動する
Please unplug any virtual or physical media and reboot this machine. Please enter 'Y' to rebootnow (Y/N): y
再起動が完了すると、AHVが立ち上がる
起動が完了するとAHVのログインプロンプトが表示される
クラスタに追加するノードすべてでAHV(とCVM)のインストールを完了させる
クラスタ構築
各ノードでAHVのインストールが完了したら、AHV上で動作するCVMにログインする
ユーザー名:nutanix パスワード:nutanix/4u
これ以下は各CVMで操作を行う必要はなく、いずれか1台のCVMで操作を行えばよい(今回はNodeA上のCVMで操作を行った)
以下コマンドを実行してクラスタ構築を構築
$ cluster -s 192.168.1.161,192.168.1.162,192.168.1.163 create
nutanix@NTNX-64e17c10-A-CVM:192.168.1.161:~$ cluster -s 192.168.1.161,192.168.1.162,192.168.1.163 create 2024-05-03 04:37:10,416Z INFO MainThread cluster:2943 Executing action create on SVMs 192.168.1.161,192.168.1.162,192.168.1.163 2024-05-03 04:37:13,441Z INFO MainThread cluster:1007 Discovered node: ip: 192.168.1.162 rackable_unit_serial: cad155fd node_position: B node_uuid: 4e5dc9b5-bc51-41a9-abae-719bc0b2b9ce 2024-05-03 04:37:13,441Z INFO MainThread cluster:1007 Discovered node: ip: 192.168.1.161 rackable_unit_serial: 64e17c10 node_position: A node_uuid: 83d09dc3-4554-485d-b745-3861228134cf 2024-05-03 04:37:13,441Z INFO MainThread cluster:1007 Discovered node: ip: 192.168.1.163 rackable_unit_serial: 4a12961d node_position: C node_uuid: 328120d7-ff94-4c4c-9e02-943d292c046c 2024-05-03 04:37:13,442Z INFO MainThread cluster:1025 Cluster is on arch x86_64 ...(略)... Flow UP [350, 351, 352, 363, 32619] Anduril UP [413, 414, 415, 425, 32670] XTrim UP [464, 465, 466, 32723] ClusterHealth UP [364, 507, 756, 757, 765, 771, 835, 836, 838, 851, 852, 854, 857, 858, 859, 861, 862, 885, 886, 936, 937, 989, 990, 992, 993, 3699, 3741, 3742] 2024-05-03 04:41:16,980Z INFO MainThread cluster:1450 Running CE cluster post-create script 2024-05-03 04:41:16,986Z INFO MainThread cluster:3104 Success! ★ nutanix@NTNX-64e17c10-A-CVM:192.168.1.161:~$
構築が完了すると、以下のメッセージが出力される
INFO MainThread cluster:3104 Success!
以下コマンドを実行してクラスタを起動
$ cluster start
nutanix@NTNX-64e17c10-A-CVM:192.168.1.161:~$ cluster start 2024-05-03 04:45:35,384Z INFO MainThread zookeeper_session.py:191 cluster is attempting to connect to Zookeeper 2024-05-03 04:45:35,388Z INFO Dummy-1 zookeeper_session.py:625 ZK session establishment complete, sessionId=0x14aa3520a5e010a, negotiated timeout=20 secs 2024-05-03 04:45:35,393Z INFO MainThread cluster:2943 Executing action start on SVMs 192.168.1.161,192.168.1.162,192.168.1.163 Waiting on 192.168.1.161 (Up) to start: ...(略)... Flow UP [350, 351, 352, 363, 32619] Anduril UP [413, 414, 415, 425, 32670] XTrim UP [464, 465, 466, 32723] ClusterHealth UP [364, 507, 756, 757, 765, 771, 835, 836, 838, 851, 852, 854, 857, 858, 859, 861, 862, 885, 886, 936, 937, 989, 990, 992, 993, 3699, 3741, 3742, 5910, 5911, 5913, 5914, 5916, 5917, 5918, 5919, 5920, 5921, 5922, 5939, 6026, 6028, 6075, 6076] 2024-05-03 04:45:38,839Z INFO MainThread cluster:3104 Success! ★ nutanix@NTNX-64e17c10-A-CVM:192.168.1.161:~$
起動が完了すると、以下のメッセージが出力される
INFO MainThread cluster:3104 Success!
公式ドキュメントに沿って、以下の設定をCVMから投入する
クラスタ名を設定
$ ncli cluster edit-params new-name=NTNX-CLUSTER1
nutanix@NTNX-64e17c10-A-CVM:192.168.1.161:~$ ncli cluster edit-params new-name=NTNX-CLUSTER1 ...(略)... Cluster Name : NTNX-CLUSTER1 ...(略)...
$ ncli cluster set-external-ip-address external-ip-address=192.168.1.160
nutanix@NTNX-64e17c10-A-CVM:192.168.1.161:~$ ncli cluster set-external-ip-address external-ip-address=192.168.1.160 ...(略)... External IP address : 192.168.1.160 ...(略)...
DNSサーバを設定
$ ncli cluster add-to-name-servers servers=192.168.1.1
nutanix@NTNX-64e17c10-A-CVM:192.168.1.161:~$ ncli cluster add-to-name-servers servers=192.168.1.1 Name Servers : 192.168.1.1, 8.8.8.8, 8.8.4.4 nutanix@NTNX-64e17c10-A-CVM:192.168.1.161:~$
NTPサーバを設定
$ ncli cluster add-to-name-servers servers=ntp.nict.jp
nutanix@NTNX-64e17c10-A-CVM:192.168.1.161:~$ ncli cluster add-to-ntp-servers servers=ntp.nict.jp NTP Servers : 1.pool.ntp.org, 0.pool.ntp.org, ntp.nict.jp nutanix@NTNX-64e17c10-A-CVM:192.168.1.161:~$
設定が完了したら、上記で設定したクラスタの仮想IPアドレスにブラウザでアクセスする (この時ポート9440に自動的にリダイレクトされる)
初回アクセス時は以下の認証情報でログインを行う
ユーザー名:admin パスワード:nutanix/4u
ログイン後、adminユーザのパスワード変更を行い、続いてNutanixアカウントでログインを行う
問題なくNutanixアカウントでログインできれば、ダッシュボード画面が表示される
以上で構築が完了した
おまけ:仮想マシンの作成方法
初回のゲスト作成は大体以下の手順で実行する
- インストールISO or マスターイメージのアップロード
- ネットワークの作成
- 仮想マシンの作成
- インストールISO or マスターイメージのアップロード
dashboardの右上 歯車アイコン → Image Configuration からイメージのアップロードを行えばよい
これで指定したストレージコンテナ(規定値はdefault-container)にISOイメージが保存される
- ネットワークの作成
vm タブの右上 Network Config
から適当なsubnetを作成する
管理ネットワークと同一のセグメントにゲストを立てる場合は、vs0を指定すればよい
(vs0接続ネットワーク上にDHCPサーバが存在すればIP address managementも不要)
- 仮想マシンの作成
vm タブの右上 + Create VM
から各項目を埋めてSaveすればOK
おまけ2:ノードの停止方法
以下の順序で行う
1. ゲストの停止 2. clusterの停止 3. CVMの停止 4. AHVの停止
$ cluster stop
nutanix@NTNX-64e17c10-A-CVM:192.168.1.161:~$ cluster stop 2024-05-03 13:24:40,100Z INFO MainThread zookeeper_session.py:191 cluster is attempting to connect to Zookeeper 2024-05-03 13:24:40,103Z INFO Dummy-1 zookeeper_session.py:625 ZK session establishment complete, sessionId=0x28f3cbeb65c0f0e, negotiated timeout=20 secs 2024-05-03 13:24:40,106Z INFO MainThread cluster:2943 Executing action stop on SVMs 192.168.1.161,192.168.1.162,192.168.1.163 2024-05-03 13:24:40,107Z WARNING MainThread genesis_utils.py:311 Deprecated: use util.cluster.info.get_node_uuid() instead 2024-05-03 13:24:40,107Z INFO MainThread zookeeper_session.py:191 cluster is attempting to connect to Zookeeper 2024-05-03 13:24:40,110Z INFO Dummy-1 zookeeper_session.py:625 ZK session establishment complete, sessionId=0x38f3cbdce410edb, negotiated timeout=20 secs 2024-05-03 13:24:40,119Z INFO MainThread cluster:2990 ***** CLUSTER NAME ***** NTNX-CLUSTER1 This operation will stop the Nutanix storage services and any VMs using Nutanix storage will become unavailable. Do you want to proceed? (I agree/[N]): I agree ...(略)... 2024-05-03 13:25:06,096Z INFO MainThread cluster:1908 Cluster has been stopped via 'cluster stop' command, hence stopping all services. 2024-05-03 13:25:06,097Z INFO MainThread cluster:3104 Success! nutanix@NTNX-64e17c10-A-CVM:192.168.1.161:~$
ssh nutanix@CVM systemctl poweroff
nutanix@NTNX-64e17c10-A-CVM:192.168.1.161:~$ ssh nutanix@192.168.1.163 sudo systemctl poweroff nutanix@NTNX-64e17c10-A-CVM:192.168.1.161:~$ ssh nutanix@192.168.1.162 sudo systemctl poweroff nutanix@NTNX-64e17c10-A-CVM:192.168.1.161:~$ sudo systemctl poweroff
ssh root@AHV systemctl poweroff
PS C:\Users\Halni> ssh root@192.168.1.158 [root@NTNX-4a12961d-A ~]# virsh list --all Id Name State -------------------------------------- - NTNX-cad155fd-A-CVM shut off [root@NTNX-4a12961d-A ~]# poweroff PS C:\Users\Halni> ssh root@192.168.1.157 [root@NTNX-cad155fd-A ~]# poweroff PS C:\Users\Halni> ssh root@192.168.1.156 [root@NTNX-64e17c10-A ~]# poweroff
起動時は
1. 全ノードの起動 2. clusterの開始
各ノードをpower ON
ssh nutanix@CVM cluster start
でOK。