vSANの起動停止方法をまとめます。vSANの1台ずつのメンテナンスは非常に容易ですが、vSANを構成する全ESXiホストの起動停止をするにはデータの整合性を壊さないような停止方法(シャットダウン)と起動方法が求められます。このページではvCenterがvSANクラスタ内にある場合の停止方法と起動方法をまとめます。
vCenterがvSANクラスタの外に存在する場合は、vSANクラスタの停止方法はそれほど複雑な手順になりません。vCenterがクvSANラスタ外にある場合は「vSANクラスタの停止と起動 (vCenterがクラスタ外の場合)」を参照ください。
本資料は、公式ドキュメント「vSAN クラスタのシャットダウンと再起動」に独自解釈を加えたものです。
vSAN停止方法(シャットダウン)
vSAN Skyline 健全性
「クラスタ名」「監視」「Skyline 健全性」の順に画面遷移し、Skyline 健全性でアラートが発生していないことを確認します。
仮想マシンの停止
vCenterを除く、仮想マシンを停止します。
vSphere HAの無効化
ESXiホスト停止時に、この操作を障害とみなさないようvSphere HAを一時的に無効化します。「クラスタ名」「設定」「vSphereの可用性」の順に画面遷移し、「編集」を押下します。
「vSphere HA」を無効の状態に変更し、「OK」を押下します。
再同期タスク完了の確認
再同期に関するタスクが動作していないことを確認します。「クラスタ名」「監視」「オブジェクトの再同期」の順に画面遷移し、「再同期オブジェクトの合計数」などが全て「0」と表示されていることを確認します。
vCLSの削除
ESXi 7.0 Update 1以降の場合は、vCLSと呼ばれる暗黙的に作成される仮想マシンを一時的に削除する必要があります。
vCLSを削除するには、まずクラスタIDと呼ばれるパラメタを調べる必要があります。調べるために、「クラスタ」を選択した状態で、この時のURLに着目します。
「domain-c<ドメインID>:」と書かれている部分がドメインIDです。以下スクリーンショットならば、「ドメインID」は「8」です。
「vCenter名」「設定」「詳細設定」の順に画面遷移し、「設定の編集」を押下します。
「config.vcls.clusters.domain-c<クラスタID>.enabled」に「false」を設定にして、「追加」を押下します。
以下スクリーンショットの場合は、「config.vcls.clusters.domain-c8.enabled」を「false」に設定します。
「保存」を押下します。
設定完了後、vCLSのシャットダウンと削除が行われます。「仮想マシンおよびテンプレート」の画面でvCLSが削除される様子を観察します。
全台のvCLSが削除されたことを確認します。
vCenterのシャットダウン
vCenterをシャットダウンします。
以降、vCenter経由ではなく、ESXiを直接操作する必要があることを留意ください。
クラスタメンバーの更新無効
各ESXiホストで以下コマンドを実行して、vCenter Server からのクラスタ メンバーの更新を無効にします。
esxcfg-advcfg -s 1 /VSAN/IgnoreClusterMemberListUpdates
操作ログは以下の通りです。
[root@esxi141:~] esxcfg-advcfg -s 1 /VSAN/IgnoreClusterMemberListUpdates Value of IgnoreClusterMemberListUpdates is 1 [root@esxi141:~]
[root@esxi142:~] esxcfg-advcfg -s 1 /VSAN/IgnoreClusterMemberListUpdates Value of IgnoreClusterMemberListUpdates is 1 [root@esxi142:~]
[root@esxi143:~] esxcfg-advcfg -s 1 /VSAN/IgnoreClusterMemberListUpdates Value of IgnoreClusterMemberListUpdates is 1 [root@esxi143:~]
再起動準備
再起度の準備をするために、監視ノードを除く各ESXiホストで以下スクリプトを実行します。このスクリプトは競合を避けるために、1台ずつ実行してください。
以下の操作は監視ノードは対象外です。マルチサイト環境でストレッチクラスタなどを組む場合は、監視ノードに注意しましょう。
python /usr/lib/vmware/vsan/bin/reboot_helper.py prepare
処理に成功した場合は、「Cluster preparation is done」と表示されます。操作ログは以下の通りです。
[root@esxi141:~] python /usr/lib/vmware/vsan/bin/reboot_helper.py prepare Begin to prepare the cluster for gracefully rebooting... Time among connected hosts are synchronized. Scheduled vSAN reconfig task. Waiting for the scheduled task...(55s left) Waiting for the scheduled task...(25s left) Checking network status... Cluster preparation is not ready, retry after 10s... Network checking done. Cluster preparation is done! Ready to proceed following steps: 1.Put all hosts in maintenance mode with 'No Action' mode. 2.Reboot/Shutdown all hosts. 3.When all hosts are brought back, exit maintenace mode. 4.Run this script again with 'recover' command. [root@esxi141:~]
[root@esxi142:~] python /usr/lib/vmware/vsan/bin/reboot_helper.py prepare Begin to prepare the cluster for gracefully rebooting... Time among connected hosts are synchronized. Scheduled vSAN reconfig task. Waiting for the scheduled task...(42s left) Waiting for the scheduled task...(12s left) Checking network status... Network checking done. Cluster preparation is done! Ready to proceed following steps: 1.Put all hosts in maintenance mode with 'No Action' mode. 2.Reboot/Shutdown all hosts. 3.When all hosts are brought back, exit maintenace mode. 4.Run this script again with 'recover' command. [root@esxi142:~]
[root@esxi143:~] python /usr/lib/vmware/vsan/bin/reboot_helper.py prepare Begin to prepare the cluster for gracefully rebooting... Time among connected hosts are synchronized. Scheduled vSAN reconfig task. Waiting for the scheduled task...(15s left) Checking network status... Network checking done. Cluster preparation is done! Ready to proceed following steps: 1.Put all hosts in maintenance mode with 'No Action' mode. 2.Reboot/Shutdown all hosts. 3.When all hosts are brought back, exit maintenace mode. 4.Run this script again with 'recover' command. [root@esxi143:~]
データ移行なしのメンテナンスモード
メンテナンスモードに移行します。この時、vSANデータの取り扱いは「データ移行なし」とします。GUI操作ならば、以下の画面です。
CLI操作の場合は、以下コマンドを実行します。
esxcli system maintenanceMode set -e true -m noAction
ESXiとvCenterの停止
全てのESXiを停止させます。
vSAN起動方法
ESXiとvCenterの停止
ESXiとvCenterを起動させます。
メンテナンスモードの解除
全てのESXiホストでメンテナンスモードを解除します。コマンドライン操作の場合は、以下の通りです。
esxcli system maintenanceMode set -e false
再起動準備の復旧
前述の操作で実行した再起動準備の「戻し」相当の処理を実行します。監視ノードを除く、ESXiホストで以下スクリプトを実行します。先ほどの操作と同様に、競合を避けるために1台ずつ実行してください。
python /usr/lib/vmware/vsan/bin/reboot_helper.py recover
処理に成功した場合は、「Cluster reboot/poweron is completed successfully」と表示されます。操作ログは以下の通りです。
[root@esxi141:~] python /usr/lib/vmware/vsan/bin/reboot_helper.py recover Begin to recover the cluster... Time among connected hosts are synchronized. Scheduled vSAN cluster restore task. Waiting for the scheduled task...(42s left) Waiting for the scheduled task...(12s left) Checking network status... Recovery is not ready, retry after 10s... Recovery is not ready, retry after 10s... Network checking done. Cluster reboot/poweron is completed successfully! [root@esxi141:~]
[root@esxi142:~] python /usr/lib/vmware/vsan/bin/reboot_helper.py recover Begin to recover the cluster... Time among connected hosts are synchronized. Scheduled vSAN cluster restore task. Waiting for the scheduled task...(32s left) Waiting for the scheduled task...(2s left) Checking network status... Network checking done. Cluster reboot/poweron is completed successfully! [root@esxi142:~]
[root@esxi143:~] python /usr/lib/vmware/vsan/bin/reboot_helper.py recover Begin to recover the cluster... Time among connected hosts are synchronized. Scheduled vSAN cluster restore task. Waiting for the scheduled task...(45s left) Waiting for the scheduled task...(15s left) Checking network status... Network checking done. Cluster reboot/poweron is completed successfully! [root@esxi143:~]
vSANの使用可能確認
以下のコマンドを実行し、vSANクラスタが使用可能であることを確認します。
esxcli vsan cluster get
操作ログは以下の通りです。各ESXiホストで「Enabled」が「true」と表示されていることを確認します。
何を確認するかは当サイトの独自解釈です。日本語マニュアルでは「すべてのホストがクラスタで使用可能であることを確認します」と、英語マニュアルでは「Verify that all the hosts are available in the cluster」との曖昧な言い方になっています。
[root@esxi141:~] esxcli vsan cluster get Cluster Information Enabled: true Current Local Time: 2021-04-30T08:04:16Z Local Node UUID: 60860d4f-0259-fb3e-a509-005056bcd71d Local Node Type: NORMAL Local Node State: MASTER Local Node Health State: HEALTHY Sub-Cluster Master UUID: 60860d4f-0259-fb3e-a509-005056bcd71d Sub-Cluster Backup UUID: 60860e67-6008-1b64-a3ce-005056bc0677 Sub-Cluster UUID: 524ced05-79f8-a24f-bf40-e2ed5eeaa98a Sub-Cluster Membership Entry Revision: 2 Sub-Cluster Member Count: 3 Sub-Cluster Member UUIDs: 60860d4f-0259-fb3e-a509-005056bcd71d, 60860e67-6008-1b64-a3ce-005056bc0677, 60860def-fddf-5493-6907-005056bcec0e Sub-Cluster Member HostNames: esxi141, esxi143, esxi142 Sub-Cluster Membership UUID: 7bb68b60-36b8-f67b-1c6a-005056bcd71d Unicast Mode Enabled: true Maintenance Mode State: OFF Config Generation: 7550f712-6137-4688-9311-2ba97c7939c8 4 2021-04-30T06:34:00.798 Mode: REGULAR [root@esxi141:~]
[root@esxi142:~] esxcli vsan cluster get Cluster Information Enabled: true Current Local Time: 2021-04-30T08:04:18Z Local Node UUID: 60860def-fddf-5493-6907-005056bcec0e Local Node Type: NORMAL Local Node State: AGENT Local Node Health State: HEALTHY Sub-Cluster Master UUID: 60860d4f-0259-fb3e-a509-005056bcd71d Sub-Cluster Backup UUID: 60860e67-6008-1b64-a3ce-005056bc0677 Sub-Cluster UUID: 524ced05-79f8-a24f-bf40-e2ed5eeaa98a Sub-Cluster Membership Entry Revision: 2 Sub-Cluster Member Count: 3 Sub-Cluster Member UUIDs: 60860d4f-0259-fb3e-a509-005056bcd71d, 60860e67-6008-1b64-a3ce-005056bc0677, 60860def-fddf-5493-6907-005056bcec0e Sub-Cluster Member HostNames: esxi141, esxi143, esxi142 Sub-Cluster Membership UUID: 7bb68b60-36b8-f67b-1c6a-005056bcd71d Unicast Mode Enabled: true Maintenance Mode State: OFF Config Generation: 7550f712-6137-4688-9311-2ba97c7939c8 4 2021-04-30T06:34:00.857 Mode: REGULAR [root@esxi142:~]
[root@esxi143:~] esxcli vsan cluster get Cluster Information Enabled: true Current Local Time: 2021-04-30T08:04:20Z Local Node UUID: 60860e67-6008-1b64-a3ce-005056bc0677 Local Node Type: NORMAL Local Node State: BACKUP Local Node Health State: HEALTHY Sub-Cluster Master UUID: 60860d4f-0259-fb3e-a509-005056bcd71d Sub-Cluster Backup UUID: 60860e67-6008-1b64-a3ce-005056bc0677 Sub-Cluster UUID: 524ced05-79f8-a24f-bf40-e2ed5eeaa98a Sub-Cluster Membership Entry Revision: 2 Sub-Cluster Member Count: 3 Sub-Cluster Member UUIDs: 60860d4f-0259-fb3e-a509-005056bcd71d, 60860e67-6008-1b64-a3ce-005056bc0677, 60860def-fddf-5493-6907-005056bcec0e Sub-Cluster Member HostNames: esxi141, esxi143, esxi142 Sub-Cluster Membership UUID: 7bb68b60-36b8-f67b-1c6a-005056bcd71d Unicast Mode Enabled: true Maintenance Mode State: OFF Config Generation: 7550f712-6137-4688-9311-2ba97c7939c8 4 2021-04-30T06:34:00.892 Mode: REGULAR [root@esxi143:~]
クラスタメンバーの更新有効
各ESXiホストで以下コマンドを実行して、vCenter Server からのクラスタ メンバーの更新を有効にします。
esxcfg-advcfg -s 0 /VSAN/IgnoreClusterMemberListUpdates
操作ログは以下の通りです。
[root@esxi141:~] esxcfg-advcfg -s 0 /VSAN/IgnoreClusterMemberListUpdates Value of IgnoreClusterMemberListUpdates is 0 [root@esxi141:~]
[root@esxi142:~] esxcfg-advcfg -s 0 /VSAN/IgnoreClusterMemberListUpdates Value of IgnoreClusterMemberListUpdates is 0 [root@esxi142:~]
[root@esxi143:~] esxcfg-advcfg -s 0 /VSAN/IgnoreClusterMemberListUpdates Value of IgnoreClusterMemberListUpdates is 0 [root@esxi143:~]
vCenterの起動
vCenterを起動させます。
vCLSの復旧
ESXi 7.0 Update 1以降の場合は、前述の操作で削除したvCLSを復旧させる必要があります。
再びvCLSを復旧させたい場合は、「config.vcls.clusters.domain-c<ドメインID>.enabled」を「true」にすることで復旧が可能です。「vCenter名」「設定」「詳細設定」の順に画面遷移し、「設定の編集」を押下します。
「名前」列で「config.vcls」などを文字を入力して絞り込みをすると、操作しやすくなります。
「config.vcls.clusters.domain-c<ドメインID>.enabled」に「true」を入力して、「保存」を押下します。
設定変更後、vCLSのデプロイが開始されます。
全台のvCLSデプロイが完了すると、以下のように表示されます。
vSANの参加確認
以下のコマンドを実行し、ESXiがvSANクラスタに参加していることを確認します。
esxcli vsan cluster get
操作ログは以下の通りです。各ESXiホストで「Sub-Cluster Member HostNames」に想定通りのホスト名が書かれている事を確認します。
何を確認するかは当サイトの独自解釈です。日本語マニュアルでは「すべてのホストが vSAN クラスタに参加していることを確認します」と、英語マニュアルでは「Verify again that all the hosts are participating in the vSAN cluster」との曖昧な言い方になっています。
[root@esxi141:~] esxcli vsan cluster get Cluster Information Enabled: true Current Local Time: 2021-04-30T08:33:50Z Local Node UUID: 60860d4f-0259-fb3e-a509-005056bcd71d Local Node Type: NORMAL Local Node State: MASTER Local Node Health State: HEALTHY Sub-Cluster Master UUID: 60860d4f-0259-fb3e-a509-005056bcd71d Sub-Cluster Backup UUID: 60860e67-6008-1b64-a3ce-005056bc0677 Sub-Cluster UUID: 524ced05-79f8-a24f-bf40-e2ed5eeaa98a Sub-Cluster Membership Entry Revision: 2 Sub-Cluster Member Count: 3 Sub-Cluster Member UUIDs: 60860d4f-0259-fb3e-a509-005056bcd71d, 60860e67-6008-1b64-a3ce-005056bc0677, 60860def-fddf-5493-6907-005056bcec0e Sub-Cluster Member HostNames: esxi141, esxi143, esxi142 Sub-Cluster Membership UUID: 7bb68b60-36b8-f67b-1c6a-005056bcd71d Unicast Mode Enabled: true Maintenance Mode State: OFF Config Generation: 7550f712-6137-4688-9311-2ba97c7939c8 4 2021-04-30T08:12:04.374 Mode: REGULAR [root@esxi141:~]
[root@esxi142:~] esxcli vsan cluster get Cluster Information Enabled: true Current Local Time: 2021-04-30T08:34:04Z Local Node UUID: 60860def-fddf-5493-6907-005056bcec0e Local Node Type: NORMAL Local Node State: AGENT Local Node Health State: HEALTHY Sub-Cluster Master UUID: 60860d4f-0259-fb3e-a509-005056bcd71d Sub-Cluster Backup UUID: 60860e67-6008-1b64-a3ce-005056bc0677 Sub-Cluster UUID: 524ced05-79f8-a24f-bf40-e2ed5eeaa98a Sub-Cluster Membership Entry Revision: 2 Sub-Cluster Member Count: 3 Sub-Cluster Member UUIDs: 60860d4f-0259-fb3e-a509-005056bcd71d, 60860e67-6008-1b64-a3ce-005056bc0677, 60860def-fddf-5493-6907-005056bcec0e Sub-Cluster Member HostNames: esxi141, esxi143, esxi142 Sub-Cluster Membership UUID: 7bb68b60-36b8-f67b-1c6a-005056bcd71d Unicast Mode Enabled: true Maintenance Mode State: OFF Config Generation: 7550f712-6137-4688-9311-2ba97c7939c8 4 2021-04-30T08:12:04.379 Mode: REGULAR [root@esxi142:~]
[root@esxi143:~] esxcli vsan cluster get Cluster Information Enabled: true Current Local Time: 2021-04-30T08:34:22Z Local Node UUID: 60860e67-6008-1b64-a3ce-005056bc0677 Local Node Type: NORMAL Local Node State: BACKUP Local Node Health State: HEALTHY Sub-Cluster Master UUID: 60860d4f-0259-fb3e-a509-005056bcd71d Sub-Cluster Backup UUID: 60860e67-6008-1b64-a3ce-005056bc0677 Sub-Cluster UUID: 524ced05-79f8-a24f-bf40-e2ed5eeaa98a Sub-Cluster Membership Entry Revision: 2 Sub-Cluster Member Count: 3 Sub-Cluster Member UUIDs: 60860d4f-0259-fb3e-a509-005056bcd71d, 60860e67-6008-1b64-a3ce-005056bc0677, 60860def-fddf-5493-6907-005056bcec0e Sub-Cluster Member HostNames: esxi141, esxi143, esxi142 Sub-Cluster Membership UUID: 7bb68b60-36b8-f67b-1c6a-005056bcd71d Unicast Mode Enabled: true Maintenance Mode State: OFF Config Generation: 7550f712-6137-4688-9311-2ba97c7939c8 4 2021-04-30T08:12:04.380 Mode: REGULAR [root@esxi143:~]
vSphere HAの有効化
vSphere HAを有効にします。
当サイトでは「vSphere HA有効化」「Skyline健全性確認」「仮想マシンの起動」の順に実行していますが、公式マニュアル上では「仮想マシンの起動」「Skyline健全性確認」「vSphere HA有効化」の順番に操作しています。
「クラスタ名」「設定」「vSphereの可用性」の順に画面遷移し、「編集」を押下します。
「vSphere HA」を「有効」に変更し、「OK」を押下します。
設定変更後、vSANの更新が始まります。
vSANの更新が完了するまで待ちます。
vSAN Skyline 健全性
「クラスタ名」「監視」「Skyline 健全性」の順に画面遷移し、Skyline 健全性でアラートが発生していないことを確認します。
もし、「Skyline 健全性」のメニューが表示されないならば、F5でブラウザをリロードしてみましょう。
Skyline 健全性でアラートが発生していないことを確認します。
仮想マシンの起動
仮想マシンを起動します。