Nutanixでクラスタを構築したい
前回といっても大分前にThreadripperを用いてESXiを構築しましたが、
やはりメインPCがパワフルなので昨今の電気代も気になるところ。
そこで最近気になっていたNutanixを逸般の誤家庭にも導入できるようにしようと思い立ち記事を作ってみました
ただし、逸般の誤家庭向けとなるのでNutanixCE(Nutanix Community Edition)での記事になります。
また、NutanixCEでは非公式ですが、ESXiでのインストールを行います。
※ESXiも7.0以降だとUSBメモリへのインストールは総書込容量の問題があるので6.7を入れます。
そもそもNutanixとは
ハイパーコンバージドインフラストラクチャーのひとつで
今までの3層構造のクラスタ構成からボトルネック部分を1つのサーバですべて賄って
増強しやすいようにしちゃえみたいなイメージなのかなと認識している(あまりよくわかってません
当初CVMとHypervisor(ESXi/AHV)の関係がわかってませんでした。
クラスタ構成でなにすんの?
VPNサーバをメインPCから切り離してクラスタ化させたい!
HCIで仮想マシンの冗長化を確認したい!
クラスタ用のPC構成
2台構成で構築予定(本当は3台構成か1台のクラスタグルーブ2になる?)
今後、同じ人がいたら参考用にスペックを記載します。
DELL Optiplex 3070 MFF
スペック | 詳細 | 備考 |
---|---|---|
CPU | Intel Core i5-9500T 2.20GHz | 後でNutanixCEの罠にはまる |
メモリ | 32GB(16GB x 2) | 64Gbの人柱にはなれませんでした |
HotTier | NVMe 1TB SSD | Nutanixの説明でHotTierとか見るけどインストールの時はCVMでいいのか? |
ColdTier | 2.5 in 1TB SSD | Nutanixの説明でColdTierとか見るけどインストールの時はDataでいいのか? |
LAN | Onbord 蟹LAN | オンボードNIC |
USB-LAN | 2.5Gbe 上海問屋DN-916196 | クラスタ通信用は2.5Gbpsがいいと思い追加 |
USB-メモリ | SanDisk Ultra Luxe 64GB | ESXi 起動用 |
NVMe1TBがなんかCVM上で認識しないのかクラスター構築中にエラーがでるので大人しくデフォルト設定を行う
CPU自体はメモリを64GBまで認識するっぽいけど、無駄な出費が怖くて人柱にはなれませんでした。
BiosでSATA設定回りでRAIDになっているとNVMeが認識されないので注意
HP ProDesk 400 G4 DM
スペック | 詳細 | 備考 |
---|---|---|
CPU | Intel Core i3-8100T 3.1GHz | |
メモリ | 32GB(16GB x 2) | 64Gbの人柱にはなれませんでした |
HotTier | NVMe 1TB SSD | |
ColdTier | 2.5 in 1TB SSD | |
LAN | Onbord 蟹LAN | オンボードNIC |
USB-LAN | 2.5Gbe 上海問屋DN-916196 | クラスタ通信用 |
USB-メモリ | SanDisk Ultra Luxe 64GB | ESXi 起動用 |
ESXiのIP | 192.168.11.161 | |
CVMのIP | 192.168.11.171 |
事前準備
事前準備としてESXiのカスタムISOを作成し、自前のWebサーバからダウンロードできるようにする必要があります。
- (つまったポイント)ESXiのカスタムISOを作成する
ESXiにはミニPCのLANドライバ(realtek社製)の対応がないので、
ドライバをISOに追加する必要があります。
久しぶりにカスタムISOを作成するため、忘れていた & なんか動かないで大変でした。
ESXi-Customizer-PS-v2.6.0.ps1を使用しています。
ここらへんは多分いろいろなサイトで情報はあるかと思います。
PS C:\VMWare\comm2> .\ESXi-Customizer-PS-v2.6.0.ps1 -v67 -vft -load net55-r8168
→なんかエラーがでる
-sipオプションをつけてバージョンを指定するとうまいことISOが作成できたので後からESXiのバージョンは上げることにする
PS C:\VMWare\comm2> .\ESXi-Customizer-PS-v2.6.0.ps1 -v67 -pkgDir C:\VMWare\comm2\pkgVIB -sip -nsc
This is ESXi-Customizer-PS Version 2.6.0 (visit https://ESXi-Customizer-PS.v-front.de for more information!)
(Call with -help for instructions)
==省略==
Getting Imageprofiles, please wait ... [OK]
Select Base Imageprofile:
-------------------------------------------
==省略==
43 : ESXi-6.7.0-20191204001-standard
==省略==
-------------------------------------------
Enter selection: 43
※ちなみに43にしたのは無償版のダウンロードで同じリビジョンだったため。
PS C:\VMWare\comm2> dir
ディレクトリ: C:\VMWare\comm2
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2023/03/08 11:06 pkgVIB
-a---- 2023/03/08 11:34 353675264 ESXi-6.7.0-20191204001-standard-customized.iso
-a---- 2023/03/07 8:37 21003 ESXi-Customizer-PS-v2.6.0.ps1
-
作成したESXiのイメージをWebサーバに上げる
Nutanixのインストール中に指定する必要があるのでCentOSでapacheを起動して、
ISOをダウンロードできるようにしておく。 -
Nutanix CEのISOのダウンロード
Nutanix CEをダウンロードしてRufsでUSBメモリにインストーラを書き込みます。
ここらへんの案内はいろいろなサイトで行われてるのでしません。
USBメモリが今回SanDisk製のメモリでどれがどれだかわかりにくくなってしまったので、
事前にインストーラ用のUSBのハードウェアIDをメモっておくと安全
いざ構築開始
起動
phoenixが起動するので入力していく
Select Hypervisor
ESXiを選択しURLは自前のWebサーバのURLを指定する。
Disk Selection
Nutanixの説明とかで載ってるHot TierとかCold Tierとか無いんだが?!
ディスクが認識されていることを確認する。(BiosでSATAがRAID設定になっているとそもそも認識しなくて苦労した)
Device | Model | Use | 備考 |
---|---|---|---|
sdb | SanDisk USB | [I] | インストーラ |
sda | SanDisk SSD PLUS | [D] | 2.5inchSSDなのでデータ用? |
nvme0n1 | MSI M371 | [C] | 速度が速いほうがいいと思ったのでCVM用 |
sdc | SanDisk USB | [H] | ESXi入れる用 |
※CVMとData用がそれぞれHot TierなのかCold Tierなのかが結局わからずどこに書いてあるんだろう・・・
→2023/04/04追記 CVM用が早いSSD、Data用が遅いSSD(HDD)でオッケーと判明!
IPアドレス
各種必要な情報を設定する。
シングルノードの作成
ESXiの場合はチェック無しが推奨されているのでチェックしない。
利用規約
全部ちゃんと読まないとインストール途中で戻されるので注意
ライセンスにチェック入れてNext
再起動前にチェック
USBにインストールを行う場合、再起動を行う前に次の手順を実行する
再起動前に修正を行う
ESXiをUSBブートで行うので、起動設定ファイルを修正する
[root@phoenix ~]# mount /dev/sdd5 /mnt/bootbank/
[root@phoenix ~]# vi /mnt/bootbank/Nutanix/firstboot/first_boot_config.json
247 use_vmfs_datastore": false,
arrow (mark or symbol)
247 use_vmfs_datastore": true,
[root@phoenix ~]# umount /mnt/bootbank
[root@phoenix ~]# reboot
起動後
多分NVMeの反映に失敗するので
ホストからNVMeをパススルー許可する。
2.5GbeのLANをESXiにインストールする
USB-RealTek2.5GbEのインストール
ESXi670-VMKUSB-NIC-FLING-39203948-offline_bundle-16780994.zip
WinSCPで/tmp/RTL8156/配下に格納する
ESXiにSSHで接続する
esxcli software vib install -d /tmp/RTL8156/ESXi670-VMKUSB-NIC-FLING-39203948-offline_bundle-16780994.zip
再起動を行う
USB-NICのドライバとNVMeのパススルー設定を行ったら再起動
ESXiにSSHで接続する
reboot
#再度CVMをインストールするために
失敗履歴ファイルを削除してfirstboot.pyを再実行する
※起動に失敗していたのが何故かメモリを32GBしかないのに48GB割り当てようとしていたので、
ESXiのサイトからCVMの割り当てメモリを16GBに修正
ESXiにSSHで接続する
rm -f .firstboot_fail
./esx_first_boot.py
※なんか色々エラーがでてるRAIDコントローラーのサービスとか・・・
まぁ使ってないのでスルーして起動を待つ・・・
ESXiのCVMとして登録されている仮想マシンが起動する(リネームされる)
nutanix@:192.168.11.171:~$ genesis status
2023-03-31 23:12:38.069076: Services running on this node:
genesis: [2748, 2864, 2888, 2889]
nutanix@:192.168.11.171:~$ genesis status
2023-03-31 23:15:50.212870: Services running on this node:
foundation: [3526, 3584, 3585]
genesis: [2748, 2864, 2888, 2889]
シングルノードでクラスターを作成してみる
cluster -s 192.168.11.171 create
nutanix@:192.168.11.171:~$ cluster -s 192.168.11.171 create
2023-03-31 23:16:12,953Z INFO MainThread cluster:2943 Executing action create on SVMs 192.168.11.171
2023-03-31 23:16:13,241Z INFO MainThread nvme_disk.py:836 Disk /dev/nvme0n1 is not a latency optimized device
2023-03-31 23:16:13,652Z ERROR MainThread cluster:923 Cannot create one node backup cluster as not enough boot ssds are present to facilitate backup on this cluster Available no of boot ssds is 1
2023-03-31 23:16:13,652Z ERROR MainThread cluster:3106 Operation failed
結局できない・・・
nutanix@:192.168.11.171:~$ sudo fdisk -l
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
Disk /dev/nvme0n1: 1024.2 GB, 1024209543168 bytes, 2000409264 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: gpt
Disk identifier: 2EB1A798-D501-4227-9FD4-2514D1E51F94
# Start End Size Type Name
1 2048 2000406527 953.9G Microsoft basic primary
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes, 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: gpt
Disk identifier: C992E39C-4F8B-47D2-9934-0C286A017AE2
# Start End Size Type Name
1 2048 20971519 10G Microsoft basic primary
2 20973568 41943039 10G Microsoft basic primary
3 41945088 125829119 40G Microsoft basic primary
4 125831168 1953523711 871.5G Microsoft basic primary
Disk /dev/loop0: 268 MB, 268435456 bytes, 524288 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
nutanix@CVM:192.168.11.171:~$ list_disks
ERROR:root:Could not reach zookeeper
ERROR:root:Unable to connect to zookeeper session
Slot Disk Model Serial Size
0 ------------ ---------------------- ---------------- ------
1 /dev/sda SanDisk SSD PLUS 223624441001 1.0 TB
2 /dev/nvme0n1 SOLIDIGM SSDPFKNU010TZ BTEH230305YD1P0B 1.0 TB
DISK自体は認識しているはずなんだが・・・