Nutanix(AHV)上にESXi仮想マシン作ってVCSA構築する備忘録

お前は何を言っているんだてきなやつ


手持ちのサーバ(DL360p Gen8)にNutanixいれてシングルノードクラスタ作ったけど、VCSA環境構築したくなったので。
かなり限定的ですが、結構つまずきポイントがあったので、
自分のメモ用として残しておきます。
久々にブログかくけど元々のものとだいぶ違うなこれ

ESXiがbootできるNutanix仮想マシンの作成。

Nutanix(AHV)のベースはCentOS、ハイパーバイザーはKVMを利用している。
なのでKVMでESXiがbootできるようにする必要がある。
下記サイトにやり方がのってました。
http://community.mypuresupport.com/nesting-esxi-on-nutanix-ahv/
とはいえ、全部このサイト通りにする必要なかったので、自分なりに解釈。

導入時の制限
・メモリめちゃくちゃ必要です。
(CVM 16GB + ESXi 20GB + ESXi 20GB etc…)
・ESXi 7.0以降ではできません。(e1000ドライバがない?)
・素直にESXiベアメタルでいれたほうがいい。

①Prismより仮想マシン作成

・Name →何でもOK
・タイムゾーン → UTC(ESXiがUTCベースのため)
・vCPU → なんでもOK?自分は2にした
・Number Of Cores Per vCPU(1CPUあたりのコア数) →なんでもOK?自分は8
→vCPU2、Core8で合計16コアの仮想マシン
・Memory →ESXiが動く程度。仮想マシン台数による
・BootMode →BIOS
・Disk CD-ROM(ESXi インストーラ用)
・HDD 容量自由。SATAでもIDEでもSCSIでも認識するっぽい
・NIC なし →あとでCLIで追加する

上記な感じで必要な台数分作成。

②CLI作業

このままではESXiがbootできないのがNutanix。
SSH等でNutanix CVMにログイン

CVM# acli

vm.nic_create [仮想マシン名] model=e1000 network=[仮想マシンが外部につなげるときのネットワーク。初期値はvlan0?]
vm.update [仮想マシン名] cpu_passthrough=true

以上。
あとはGUIに戻り各仮想マシンにESXi isoがマウントされていることを確認して起動。
「No Network Adapter」とかでなければ成功。

③インストール

ここまでくれば気にすることはほぼないです。

iSCSIイニシエータ設定

VCSA組むならvMotionしたいところ。
vMotionStorageでもいいけど、HAができないのでできれば外部ストレージにしたい
(vSANという選択肢もある)
VCSAを外部ストレージにデプロイしたいので先にやる。

iSCSI ターゲットサーバ作成

3.5インチHDDが積めるDL360e Gen8が転がっていたので、こいつにRHELいれてiSCSIターゲットにする。
https://www.server-world.info/query?os=CentOS_8&p=iscsi&f=1
ここを参考にしつつ、ブロック方式でやりたいので個人的な変更を加えていく。

①ソフトウェアインストール
Linux# yum install targetcli
Linux# yum install dbus && yum install dbus-python

ファイアウォール使ってるなら穴を開けておく。
Linux# firewall-cmd –add-service=iscsi-target –permanent
Linux# firewall-cmd –reload

Linux# targetcli

②バックストア設定
(iSCSIで使う実ストレージ)

cd /backstores/block
create name=[任意のストレージ名] dev=/dev/sdX
※/dev/sdXには任意のデバイスを入れる。

③IQN作成。
URLみたいなもん。MACアドレスとも
規約でフォーマットが決まっているので従っておく

例>iqn.2020-05.home.yunestorage:target0
→2020年5月に作成したyunestorage.homeのtarget0。

cd /iscsi
create iqn.hogehogehoge…..

④LUNの作成
さっき作ったIQNのLUNに入る。
cd iqn.hogehogehoge….:target0/tpg1/luns

create /backstores/block/[任意のストレージ名]
→②で作ったbackstore名を入れる。

⑤ACLの設定
ぶっちゃけ無効にしたいところだけど、いまいちやり方がわからないので登録しておく。

イニシエータ(今回の場合はESXi)のIQNはWebログインして
[ストレージ]→[アダプタ]→[ソフトウェアiSCSI]で確認できる。
今後利用するのでiSCSIを有効にしておく。

targetサーバに戻って改めてACL登録。
cd ../acls
create [ESXiのIQN]
台数分登録を実施。

⑥終わり。
esxiしてtargetcliを抜ける。

Linux# systemctl restart target
おまじない。

iSCSIターゲット登録

ESXiに戻り
[ストレージ]→[アダプタ]→「ソフトウェアiSCSI」の順にクリック。
下のほうの「動的ターゲット」に対象サーバのIPアドレスを入れて設定の保存。
[アダプタ]タブ内で「再スキャン」→「更新」をクリック
[デバイス]タブに移動して「再スキャン」→「更新」をクリック
→今回追加したストレージが見えてくることを確認

1つのIPアドレスしか登録していないとここでステータスに注意がでます

[新しいデータストア]をクリックしてフォーマット。

他のESXiでも下記を実行
[ストレージ]→[アダプタ]→「ソフトウェアiSCSI」の順にクリック。
下のほうの「動的ターゲット」に対象サーバのIPアドレスを入れて設定の保存。
[アダプタ]タブ内で「再スキャン」→「更新」をクリック
[デバイス]タブに移動して「再スキャン」→「更新」をクリック
→今回追加したストレージが見えてくることを確認

データストアが見えてくるのは遅延があるのでブラウザ更新したりして待つ。

iSCSIマルチパス組む

ステータスが「注意」になっちゃってるのでマルチパスを組む。
…..