vm.gowatana.jp

NEOにほんごVMware(仮)

vcsa-deploy で VCSA を CLI デプロイしてみる。(vSAN 構成)

vCenter Server Appliance(VCSA)を、vcsa-deploy.exe で CLI デプロイしてみます。今回は VCSA のデプロイと同時に、1ノード vSAN を構成してみます。

今回使用するのは、VCSA 8.0 U3 です。

  • ISO ファイル: VMware-VCSA-all-8.0.3-24022515.iso

 

今回の内容です。

 

1. 事前準備

事前準備として、下図のように環境構築してあります。

 

1-1. DNS サーバ

DNS サーバには、下記の正引き & 逆引きレコードを登録してあります。

  • デプロイ先の ESXi: lab-esxi-141.go-lab.jp ←→ 192.168.10.141
  • デプロイする vCenter Server: lab-vc-02.go-lab.jp ←→ 192.168.10.12

 

1-2. NTP サーバ

できれば、NTP サーバをこの時点で用意しておきます。この環境では DNS サーバに NTP サービスを相乗りさせています。

 

1-3. ESXi

ESXi は、インストール後に DCUI からネットワーク設定を済ませておきます。vcsa-deploy のデプロイ先にする ESXi のバージョンは vCenter Server と揃っていなくても構いません。ただし、今回は VCSA デプロイと vSAN クラスタの構成を同時に実施するため、デプロイする VCSA が管理可能なバージョンの ESXi である必要があります。

そこで、今回は ESXi も 8.0 U3 を利用しています。

 

下記の画面で VLAN ID を設定しておくことで、vmk0 ポートが接続される Management Network ポートグループの VLAN ID に設定が反映されます。

 

IP アドレス、サブネットマスク、デフォルト ゲートウェイを設定しておきます。

 

DNS サーバのアドレスと、ESXi のホスト名を設定しておきます。

 

DNS ドメインも設定しておきます。

 

Host Client で ESXi にログインして、デプロイした VCSA が接続されるポートグループを用意しておきます。

今回は、デフォルトで作成される「VM Network」ポートグループをそのまま利用する想定で、VLAN ID を設定しておきます。

  • ポートグループの名前: VM Network
  • VLAN ID: 10

 

ローカル データストアは未作成のまま、VCSA をデプロイします。

vSAN 用に、下記のデバイスを用意してあります。このデバイスの名前は、あとで VCSA の設定を記載する JSON ファイルを用意する際に必要になります。

  • キャパシティ用
    • 名前:mpx.vmhba0:C0:T1:L0
    • タイプ: SSD
    • 容量: 100GB
  • キャッシュ用
    • 名前: mpx.vmhba0:C0:T2:L0
    • タイプ: SSD
    • 容量: 500GB

ちなみに、今回はネステッド ESXi で構成しています。物理マシン&物理ディスクの場合は、デバイス名の雰囲気が変わります。

 

2. VCSA のデプロイ

vcsa-deploy.exe で、VCSA をデプロイします。この処理の中で、vSAN データストアも自動構成されます。

 

2-1. JSON ファイルの用意

今回は、下記の JSON ファイルを用意しました。

C:/work/lab-vc-02_vsan.json

  • L19~24: vSAN ディスクグループで使用するデバイスを指定しています。
  • L27: OSA 構成にします("enable_vsan_esa": false)

gist.github.com

 

2-2. VCSA のデプロイ

VCSA インストーラの ISO ファイルをマウントします。

今回は、D: ドライブに、vCenter Server 8.0 U3 の ISO をマウントしてあります。

PS> cat D:\vcsa\version.txt
VMware-vCenter-Server-Appliance-8.0.3.00000-24022515

 

デプロイの事前チェックを実施しておきます。

PS> D:/vcsa-cli-installer/win32/vcsa-deploy.exe install --accept-eula --no-ssl-certificate-verification --precheck-only C:/work/lab-vc-02_vsan.json

 

問題がなければ、表示されるチェックの末尾が、下記のように「[SUCCEEDED] ~」となるはずです。ちなみに、タイムスタンプは JST ではなく UTC になります。

・・・
 [SUCCEEDED] Successfully executed Task 'PrecheckTask: Running prechecks.' in
TaskFlow 'lab-vc-02_vsan' at 16:38:02
=================================== 16:38:02 ===================================
Result and Log File Information...
WorkFlow log directory:
C:\Users\gowatana\AppData\Local\Temp\vcsaCliInstaller-2024-06-28-16-37-vdxf9_dv\workflow_1719592655557

 

デプロイを実行します。

PS> D:/vcsa-cli-installer/win32/vcsa-deploy.exe install --accept-eula --no-ssl-certificate-verification C:/work/lab-vc-02_vsan.json

 

デプロイに成功すると、下記のように VCSA への接続情報などが情報が出力されるはずです。

・・・
 [SUCCEEDED] Successfully executed Task 'Running configure: Configuring vSAN on
vCenter Server.' in TaskFlow 'lab-vc-02_vsan' at 17:17:55
 [START] Start executing Task: Provide the login information about new
appliance. at 17:17:56
    Appliance Name: lab-vc-02
    System Name: lab-vc-02.go-lab.jp
    System IP: 192.168.10.12
    Log in as: Administrator@vsphere.local
Your vCenter Server Appliance is deployed on a vSAN cluster. However this
one-host cluster must be further configured in order to provide the full
benefits of a vSAN cluster.
vSAN Configuration Instructions
1.       Add additional hosts to the vSAN cluster (a minimum of two).
2.       Complete the required configuration of the vSAN cluster.
3.       Apply the correct VM Storage Policy to the vCenter Server Appliance.
 [SUCCEEDED] Successfully executed Task 'ApplianceLoginSummaryTask: Provide
appliance login information.' in TaskFlow 'lab-vc-02_vsan' at 17:17:56
=================================== 17:17:56 ===================================
Result and Log File Information...
WorkFlow log directory:
C:\Users\gowatana\AppData\Local\Temp\vcsaCliInstaller-2024-06-28-16-40-pd_u2_e2\workflow_1719592840208

 

出力にもあるとおり、vcsa-deploy で vSAN を構成した場合には、vSAN クラスタに ESXi ホストを追加したあとに、 VCSA の仮想マシンストレージ ポリシーを適用しなおす必要があります。おおまかには、下記のような作業が必要になります。

  • ESXi ホストの追加(+2台以上)
  • ESXi ホストへの vSAN ネットワーク追加や、VMkernel ポートへの vSAN タグ付与、追加ホストの vSAN ディスク グループの作成など
  • VCSA 仮想マシンの、仮想マシン ストレージ ポリシー割り当て

 

3. VCSA デプロイ後の様子

デプロイした VCSA に vSphere Client でログインすると、デプロイ先として指定した ESXi がインベントリに登録されています。

 

そして、vSAN クラスタが構成されています。今回は ESA が無効になっているので、OSA 構成です。

 

ディスクグループには、JSON ファイルで指定したとおりのデバイスが追加されています。


しかし、この時点では VCSA の仮想マシンに適切なストレージ ポリシーが割り当てられていません。

 

VCSA の仮想ディスクは、冗長化なしで vSAN データストアに配置されています。

 

そのため、ESXi ホストを追加したあとに、VCSA の仮想マシンのストレージ ポリシーを適切なもの(vSAN Default Storage Policy など)に変更する必要があります。

 

ちなみに、自動作成される vsanDatastore データストアには、通常の vSAN 有効化と同様に、デフォルト ストレージ ポリシーとして「vSAN Default Storage Policy」が設定されています。

 

おまけ: デプロイ失敗した場合の vSAN ディスク初期化

この方法で VCSA のデプロイに失敗した場合、vSAN が構成されたディスクを初期化する必要があります。

 

vSAN クラスタに ESXi が参加したままになっている場合は・・・

[root@lab-esxi-141:~] esxcli vsan cluster get
Cluster Information
   Enabled: true
   Current Local Time: 2024-06-04T16:57:01Z
   Local Node UUID: 665f1f87-52ba-af1a-7d72-005056815c2d
   Local Node Type: NORMAL
   Local Node State: MASTER
   Local Node Health State: HEALTHY
   Sub-Cluster Master UUID: 665f1f87-52ba-af1a-7d72-005056815c2d
   Sub-Cluster Backup UUID:
   Sub-Cluster UUID: 525d34e4-caa2-0b59-90b7-01742012bb02
   Sub-Cluster Membership Entry Revision: 0
   Sub-Cluster Member Count: 1
   Sub-Cluster Member UUIDs: 665f1f87-52ba-af1a-7d72-005056815c2d
   Sub-Cluster Member HostNames: lab-esxi-141.go-lab.jp
   Sub-Cluster Membership UUID: e6315f66-d871-ea29-45e6-005056815c2d
   Unicast Mode Enabled: true
   Maintenance Mode State: OFF
   Config Generation: None 0 0.0
   Mode: REGULAR
   vSAN ESA Enabled: false

 

下記のように、esxcli コマンドで離脱させると、vsanDatastore が削除されるはずです。コマンド実行後には、ESXi を再起動しておくとよいと思います。

[root@lab-esxi-141:~] esxcli vsan cluster leave
[root@lab-esxi-141:~] esxcli vsan cluster get
vSAN Clustering is not enabled on this host

 

そして、Host Client で ESXi に接続して、キャッシュ デバイスとキャパシティ デバイスの両方で、「パーティション テーブルのクリア」と再スキャンを実行しておきます。

 

以上、vcsa-deploy で vSAN 構成と VCSA デプロイを同時に実施してみる話でした。