vSANクラスタの停止と起動 (vCenterがクラスタ内の場合)

スポンサーリンク

vSANの起動停止方法をまとめます。vSANの1台ずつのメンテナンスは非常に容易ですが、vSANを構成する全ESXiホストの起動停止をするにはデータの整合性を壊さないような停止方法(シャットダウン)と起動方法が求められます。このページではvCenterがvSANクラスタ内にある場合の停止方法と起動方法をまとめます。

vCenterがvSANクラスタの外に存在する場合は、vSANクラスタの停止方法はそれほど複雑な手順になりません。vCenterがクvSANラスタ外にある場合は「vSANクラスタの停止と起動 (vCenterがクラスタ外の場合)」を参照ください。

本資料は、公式ドキュメント「vSAN クラスタのシャットダウンと再起動」に独自解釈を加えたものです。

vSAN停止方法(シャットダウン)

vSAN Skyline 健全性

「クラスタ名」「監視」「Skyline 健全性」の順に画面遷移し、Skyline 健全性でアラートが発生していないことを確認します。

vSAN skyline 健全性の確認

仮想マシンの停止

vCenterを除く、仮想マシンを停止します。

vSAN 仮想マシンの停止

vSphere HAの無効化

ESXiホスト停止時に、この操作を障害とみなさないようvSphere HAを一時的に無効化します。「クラスタ名」「設定」「vSphereの可用性」の順に画面遷移し、「編集」を押下します。

vSphere HAの無効化 01

「vSphere HA」を無効の状態に変更し、「OK」を押下します。

vSphere HAの無効化 02

再同期タスク完了の確認

再同期に関するタスクが動作していないことを確認します。「クラスタ名」「監視」「オブジェクトの再同期」の順に画面遷移し、「再同期オブジェクトの合計数」などが全て「0」と表示されていることを確認します。

再同期タスク完了の確認

vCLSの削除

ESXi 7.0 Update 1以降の場合は、vCLSと呼ばれる暗黙的に作成される仮想マシンを一時的に削除する必要があります。

vCLSを削除するには、まずクラスタIDと呼ばれるパラメタを調べる必要があります。調べるために、「クラスタ」を選択した状態で、この時のURLに着目します。

vCLSの削除 01

「domain-c<ドメインID>:」と書かれている部分がドメインIDです。以下スクリーンショットならば、「ドメインID」は「8」です。

vCLSの削除 02

「vCenter名」「設定」「詳細設定」の順に画面遷移し、「設定の編集」を押下します。

vCLSの削除 03

「config.vcls.clusters.domain-c<クラスタID>.enabled」に「false」を設定にして、「追加」を押下します。

以下スクリーンショットの場合は、「config.vcls.clusters.domain-c8.enabled」を「false」に設定します。

vCLSの削除 04

「保存」を押下します。

vCLSの削除 05

設定完了後、vCLSのシャットダウンと削除が行われます。「仮想マシンおよびテンプレート」の画面でvCLSが削除される様子を観察します。

vCLSの削除 06

全台のvCLSが削除されたことを確認します。

vCLSの削除 07

vCenterのシャットダウン

vCenterをシャットダウンします。

以降、vCenter経由ではなく、ESXiを直接操作する必要があることを留意ください。

vCenterのシャットダウン

クラスタメンバーの更新無効

各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操作ならば、以下の画面です。

ESXi メンテナンスモードへの移行

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を起動させます。

vCenterの起動

vCLSの復旧

ESXi 7.0 Update 1以降の場合は、前述の操作で削除したvCLSを復旧させる必要があります。

再びvCLSを復旧させたい場合は、「config.vcls.clusters.domain-c<ドメインID>.enabled」を「true」にすることで復旧が可能です。「vCenter名」「設定」「詳細設定」の順に画面遷移し、「設定の編集」を押下します。

vCLSの起動 01

「名前」列で「config.vcls」などを文字を入力して絞り込みをすると、操作しやすくなります。

vCLSの起動 02

「config.vcls.clusters.domain-c<ドメインID>.enabled」に「true」を入力して、「保存」を押下します。

vCLSの起動 03

設定変更後、vCLSのデプロイが開始されます。

vCLSの起動 04

全台のvCLSデプロイが完了すると、以下のように表示されます。

vCLSの起動 05

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の有効化 01

「vSphere HA」を「有効」に変更し、「OK」を押下します。

vSphere HAの有効化 02

設定変更後、vSANの更新が始まります。

vSphere HAの有効化 03

vSANの更新が完了するまで待ちます。

vSphere HAの有効化 04

vSAN Skyline 健全性

「クラスタ名」「監視」「Skyline 健全性」の順に画面遷移し、Skyline 健全性でアラートが発生していないことを確認します。

もし、「Skyline 健全性」のメニューが表示されないならば、F5でブラウザをリロードしてみましょう。

vSAN Skyline 健全性 01

Skyline 健全性でアラートが発生していないことを確認します。

vSAN Skyline 健全性 02

仮想マシンの起動

仮想マシンを起動します。

仮想マシンの起動

タイトルとURLをコピーしました