VMware Cloud Foundation(VCF)5.2 で vSAN ESA の VI Workload Domain をデプロイする準備として、ESXi ホストのコミッショニングを実施してみます。
今回の内容です。
- 今回の環境
- 1. ESXi VM(vSAN ESA)の設定調整
- 2. vSAN HCL ファイルの作成
- 3. SDDC Manager への vSAN HCL ファイル配置
- 4. ESXi ホストのコミッショニング(vSAN ESA)
今回の環境
VCF 5.2.1 で、Management Workload Domain をデプロイしてあります。
そして下記の投稿と同様に、ホストのコミッショニングの準備を済ませておきます。
- VCF 5.2 で VI Workload Domain を展開してみる。Part-01:ホストのコミッショニング
- DNS レコードの登録
- ネットワーク プールの作成(vcf-w01-np01)
- ESXi VM の作成
- ESXi のインストール
1. ESXi VM(vSAN ESA)の設定調整
ESXi 用の仮想マシンを VCF の vSAN ESA 用として利用するために、下記の設定調整を実施しておきます。
これらの設定は、同時に変更すると仮想マシンに反映されないことがあります。そこで、1ステップずつ変更 → 保存を繰り返して、設定反映されたことを確認しておきます。
- CD/DVD ドライブ 1 → 削除する。
- NVMe コントローラ → 新規デバイス(NVME コントローラ 0)として追加。
- 仮想ハード ディスク → 仮想デバイス ノード(コントローラ)を変更
-
- ハード ディスク 1(ESXi のインストール デバイス)
- NVMe コントローラー 0
- NVME (0:0)
- ハード ディスク 2(ESXi のインストール デバイス、400GB)
- NVMe コントローラー 0
- NVME (0:1)
- ハード ディスク 1(ESXi のインストール デバイス)
-
- SCSI コントローラ 0 → 削除する。
「ハード ディスク 1」「ハード ディスク 2」は期待通りの順序にならないことがあります。この場合は、各ディスクでは、仮想ディスクの実ファイルと「NVME (N:N)」の割り当てが一致していれば、「ハード ディスク N」の不一致は無視しても問題ありません。
ちなみに、CD/DVD ドライブと SCSI コントローラが存在する場合でも、ESXi のコミッショニングは成功します。しかし、vSAN ESA のワークロード ドメインのデプロイ処理中にエラーで停止してしまうため、ここで削除しておきます。
2. vSAN HCL ファイルの作成
仮想マシンに作成する仮想 NVMe コントローラーが、vSAN のハードウェア互換性リスト(HCL)に含まれていません。今回は、テキスト エディタで vSAN HCI ファイルを作成します。
下記のブログで紹介されている方法と JSON ファイルを参考に、vSAN HCL ファイルを作成します。
- Using Nested ESXi for VMware Cloud Foundation (VCF) Workload Domain fails with vSAN ESA Auto Disk Claim
- https://github.com/lamw/vmware-scripts/blob/master/json/nested-esxi-vsan-esa-hcl.json
VCF 5.2.1 の ESXi 8.0 U3b にあわせて、下記の JSON ファイルを用意しました。
nested-esxi-vsan-esa-hcl_80u3.json
- L2-L3:直近のタイムスタンプを記載。L2は Unix 時間。
- L6, L14, L55:ESXi 8.0 U3 をサポート対象に含める。
- L16,L61:nvme_pcie(nvme-pcie)ドライバのバージョンを指定。
- L52:デバイスの容量を指定。(409600 = 400GB VMDK)
タイムスタンプの文字列と Unix 時間は、下記のように Linux マシン(今回は SDDC Manager)で確認しています。
vcf@vcf-m01-sddc-01 [ ~ ]$ TS=$(date +"%Y-%m-%d %H:%m:%S") vcf@vcf-m01-sddc-01 [ ~ ]$ date +"%B %d, %Y, %I:%M %p %Z" -d "$TS" November 14, 2024, 11:11 PM UTC vcf@vcf-m01-sddc-01 [ ~ ]$ date +"%s" -d "$TS" 1731625876
ドライバのバージョンです。
[root@vcf-w01-esxi-01:~] esxcli software vib get -n nvme-pcie | grep Version Version: 1.2.4.15-1vmw.803.0.0.24022510
ストレージ デバイスのサイズです。
[root@vcf-w01-esxi-04:~] esxcli storage core device list | grep -E '^t10.NVMe' -A3 | grep Size Size: 65536 Size: 409600
3. SDDC Manager への vSAN HCL ファイル配置
SDDC Manager に vcf ユーザーで SSH ログインして、root ユーザーにスイッチします。
vcf@vcf-m01-sddc-01 [ ~ ]$ su - Password: root@vcf-m01-sddc-01 [ ~ ]#
vSAN HCL ファイルを格納するディレクトリに移動します。
# cd /nfs/vmware/vcf/nfs-mount/vsan-hcl
既存の vSAN HCL ファイル(all.json)を退避します。
# mv all.json all.json.backup
scp / curl / テキスト エディタなどで、vSAN HCL ファイルを配置します。今回は curl で GitHub(Gist)からファイルをダウンロードしています。
# curl -o all.json -L https://gist.githubusercontent.com/gowatana/c4203bdb32194c6c99df7138321fa6a1/raw/nested-esxi-vsan-esa-hcl_80u3.json
vSAN HCL ファイルの所有者とパーミッションを変更します。
# chown vcf_lcm:vcf all.json # chmod 644 all.json
JSON ファイルの権限設定は、下記のようになります。
# ls -l /nfs/vmware/vcf/nfs-mount/vsan-hcl/ total 17900 -rw-r--r-- 1 vcf_lcm vcf 2469 Nov 14 23:49 all.json -rw-r--r-- 1 vcf_lcm vcf 18325163 Nov 6 01:58 all.json.backup
4. ESXi ホストのコミッショニング(vSAN ESA)
ESXi ホストを、SDDC Manager に vSAN ESA 用として登録します。
SDDC Manager の「インベントリ」→「ホスト」を開き、「ホストのコミッショニング」をクリックします。
チェックリストが表示されるので、「すべて選択」のチェックを ON にして、「続行」をクリックします。
「新規追加」を選択したまま、ホストのパラメータを入力します。
ESXi ホスト 1台目
- ホストの FQDN:vcf-w01-esxi-01.c.go-lab.jp
- ストレージ タイプ:vSAN
- vSAN タイプ: vSAN HCI
- vSAN ESA:チェックを ON にする
- ネットワーク プール名:vcf-w01-np01
- ユーザー名:root
- パスワード:root ユーザーのパスワードを入力
ひととおり入力したら、「追加」をクリックします。
ESXi ホストが、コミッショニング対象のリストに含まれました。
同様に、残り2台の ESXi ホストも追加します。
ESXi ホスト 2台目
- ホストの FQDN:vcf-w01-esxi-02.c.go-lab.jp
- ストレージ タイプ:vSAN
- vSAN タイプ: vSAN HCI
- vSAN ESA:チェックを ON にする
- ネットワーク プール名:vcf-w01-np01
- ユーザー名:root
- パスワード:root ユーザーのパスワードを入力
ESXi ホスト 3台目
- ホストの FQDN:vcf-w01-esxi-03c.go-lab.jp
- ストレージ タイプ:vSAN
- vSAN タイプ: vSAN HCI
- vSAN ESA:チェックを ON にする
- ネットワーク プール名:vcf-w01-np01
- ユーザー名:root
- パスワード:root ユーザーのパスワードを入力
JSON ファイルのインポートでホスト情報を入力する場合は、下記のようにファイルを用意します。
sample_bulk_commission_vcf-w01_ESA.json
- storageType には、VSAN_ESA を指定します。
「すべてのフィンガープリントを確認」のチェックを ON にして「すべて検証」をクリックします。そして、検証ステータスが「有効」になったことを確認して「次へ」をクリックします。
「コミッショニング」をクリックします。
タスクの完了を待ち「未割り当てのホスト」を開くと、データストア タイプが「vSAN ESA」になっている 3台の ESXi ホストが登録されています。
ホストの画面を開くと、ストレージ → キャッシュ層には 400GB に近い値が表示されています。
以上、ネステッド ESXi で VCF むけ vSAN ESA 用ホストを用意してみる話でした。
VI Workload Domain のデプロイはこちら。