[VMware vSphere] Retreat モードの切り替えをコマンドで実行し、vCLS を無効化/有効化する

Retreat モードへの切り替えをコマンドで実行する方法について、記載します。

Retreat モードへの切り替えをコマンドで実行する

まずは、Retreat モードへの切り替えをコマンドで実行するにあたり、
以下の KB 80472 から retreatModeConfiguration.py をダウンロード
します。

vSphere Cluster Services (vCLS) in vSphere 7.0 Update 1 and newer versions (80472)
https://kb.vmware.com/s/article/80472?lang=en_us

次に、ダウンロードした retreatModeConfiguration.py の内容を vCSA 上に
コピペする、もしくは retreatModeConfiguration.py を WinSCP 等で vCSA
へアップロードします。

vCSA 上に retreatModeConfiguration.py のアップロードが完了したら、
以下のコマンドで Rereat モードの切り替えを実行することが可能です。

# python retreatModeConfiguration.py -r enable

→ Rereat モードへの切り替えを実施 (vCLS の削除)

# python retreatModeConfiguration.py -r disable

→ Retreat モードの解除を実施 (vCLS の作成)

実際に、以下にコマンドで Retreat モードへの切り替え (vCLS を削除) を
実行してみます。

root@ss150 [ /tmp ]# python retreatModeConfiguration.py -r enable
Please provide SSO administrator user[administrator@vsphere.local]:Administrator@vsphere.local
Provide password for Administrator@vsphere.local:

Clusters available on VC:
[0] cluster02 | moID: domain-c12007
[1] cluster01 | moID: domain-c1006
[2] ALL CLUSTERS

Select number: 2

WARNING: This will change the retreat mode configuration for all clusters in this vCenter.
Are you sure you want to continue?[y/n]y

Configuring Retreat Mode to False on the Cluster domain-c12007 Disabling vCLS VMs ...
Successfully Configured Retreat Mode to False on Cluster domain-c12007

Configuring Retreat Mode to False on the Cluster domain-c1006 Disabling vCLS VMs ...
Successfully Configured Retreat Mode to False on Cluster domain-c1006

コマンドを実行すると、SSO 管理者ユーザーの認証情報が求められた後、
特定のクラスタのみで Retreat モードを有効化するのか、または全ての
クラスタで Retreat モードを有効化するのかを選択可能です。

スクリプト実行直後の vSphere Client を確認すると、ちゃんと vCLS が
削除されていました。

次に、Retreat モードの解除 (vCLS の作成) のコマンドを実行してみます。

root@ss150 [ /tmp ]# python retreatModeConfiguration.py -r disable
Please provide SSO administrator user[administrator@vsphere.local]:Administrator@vsphere.local
Provide password for Administrator@vsphere.local:

Clusters available on VC:
[0] cluster02 | moID: domain-c12007
[1] cluster01 | moID: domain-c1006
[2] ALL CLUSTERS

Select number: 0
Selection: domain-c12007

Configuring Retreat Mode to True on the Cluster domain-c12007 Enabling vCLS VMs ...
Successfully Configured Retreat Mode to True on Cluster domain-c12007

Retreat モードの解除 (vCLS の作成) を実行する際にも、SSO 管理者ユーザー
の認証情報及び、どのクラスタで Retreat モードの解除 (vCLS の作成) するのか
を選択します。

こちらもコマンド実行直後に vSphere Client を確認すると、vCLS が作成されて
いました。

retreatModeConfiguration.py 実行時のログの出力

retreatModeConfiguration.py の中身を覗くと、
/var/log/vmware/retreat-configuration.log にログが出力されると
記載されていたので、見てみようと思います。

"""
Python program for Enabling / Disabling Retreat Mode on the given cluster.

Example:

To enable retreat mode:
python retreat.py -r enable

To disable retreat mode:
python retreat.py -r disable

A list of all clusters will be displayed, and you will have to option to chose the cluster, or re-configure ALL clusters in the VC

Logging available at /var/log/vmware/retreat-configuration.log

"""

Retreat モードへの切り替え (vCLS を削除) 時には、以下のようにログが出力
されていました。

[2023-04-02 03:32:47,286] {__main__:86} DEBUG - Arguments passed: Namespace(retreat_mode='enable', vc='localhost', vc_port='443')
[2023-04-02 03:32:47,286] {__main__:57} DEBUG - Prompted for username and password input
[2023-04-02 03:32:59,146] {__main__:68} INFO - Supplied credentials: user: Administrator@vsphere.local | pass: ******
[2023-04-02 03:32:59,147] {__main__:149} DEBUG - Attempting to vCenter Server: localhost
[2023-04-02 03:32:59,348] {__main__:157} INFO - Service Instance created successfully. Connected to vCenter: localhost
[2023-04-02 03:32:59,357] {__main__:133} DEBUG - Container initialized.
[2023-04-02 03:32:59,375] {__main__:140} DEBUG - Container View created for all clusters in VC.
[2023-04-02 03:32:59,379] {__main__:162} DEBUG - List of all clusters retreived successfully.
[2023-04-02 03:32:59,379]qq {__main__:164} DEBUG - Disconnecting service instance to clean up container views - successful.
[2023-04-02 03:32:59,387] {__main__:172} DEBUG - List of clusters printed.
[2023-04-02 03:33:22,273] {__main__:188} INFO - Selection: 2 to configure retreat mode on ALL clusters on VC.
[2023-04-02 03:33:24,153] {__main__:200} INFO - User confirmed and acknowledged. Proceeding with operation on All Clusters.
[2023-04-02 03:33:24,153] {__main__:202} DEBUG - Retreat mode selection is set to enable.
[2023-04-02 03:33:24,153] {__main__:92} INFO - Configuring Retreat Mode to Falseon the Cluster domain-c12007
[2023-04-02 03:33:24,154] {__main__:96} INFO - Attempting to disable vCLS VMs.
[2023-04-02 03:33:24,154] {__main__:103} DEBUG - Option value for selection: config.vcls.clusters.domain-c12007.enabled=False
[2023-04-02 03:33:24,195] {__main__:113} INFO - Successfully Configured Retreat Mode toFalse on the Cluster domain-c12007
[2023-04-02 03:33:24,196] {__main__:92} INFO - Configuring Retreat Mode to Falseon the Cluster domain-c1006
[2023-04-02 03:33:24,196] {__main__:96} INFO - Attempting to disable vCLS VMs.
[2023-04-02 03:33:24,196] {__main__:103} DEBUG - Option value for selection: config.vcls.clusters.domain-c1006.enabled=False
[2023-04-02 03:33:24,217] {__main__:113} INFO - Successfully Configured Retreat Mode toFalse on the Cluster domain-c1006

Retreat モードの解除 (vCLS の作成) 時には、以下のようにログが出力されて
いました。

[2023-04-02 03:41:07,237] {__main__:86} DEBUG - Arguments passed: Namespace(retreat_mode='disable', vc='localhost', vc_port='443')
[2023-04-02 03:41:07,237] {__main__:57} DEBUG - Prompted for username and password input
[2023-04-02 03:41:16,266] {__main__:68} INFO - Supplied credentials: user: Administrator@vsphere.local | pass: ******
[2023-04-02 03:41:16,267] {__main__:149} DEBUG - Attempting to vCenter Server: localhost
[2023-04-02 03:41:16,450] {__main__:157} INFO - Service Instance created successfully. Connected to vCenter: localhost
[2023-04-02 03:41:16,462] {__main__:133} DEBUG - Container initialized.
[2023-04-02 03:41:16,481] {__main__:140} DEBUG - Container View created for all clusters in VC.
[2023-04-02 03:41:16,488] {__main__:162} DEBUG - List of all clusters retreived successfully.
[2023-04-02 03:41:16,489] {__main__:164} DEBUG - Disconnecting service instance to clean up container views - successful.
[2023-04-02 03:41:16,497] {__main__:172} DEBUG - List of clusters printed.
[2023-04-02 03:41:20,068] {__main__:218} INFO - Selection: domain-c12007
[2023-04-02 03:41:20,069] {__main__:225} DEBUG - Retreat mode selection is set to disable.
[2023-04-02 03:41:20,069] {__main__:92} INFO - Configuring Retreat Mode to Trueon the Cluster domain-c12007
[2023-04-02 03:41:20,070] {__main__:99} INFO - Attempting to enable vCLS VMs.
[2023-04-02 03:41:20,070] {__main__:103} DEBUG - Option value for selection: config.vcls.clusters.domain-c12007.enabled=True
[2023-04-02 03:41:20,095] {__main__:113} INFO - Successfully Configured Retreat Mode toTrue on the Cluster domain-c12007

まとめ

上記 CLI での Retreat モードの切り替えでは、全てのクラスタを同時に実行
させることも可能ですので、環境の規模が大きく、クラスタが多数ある場合
などに有効だと考えます。

また、UI 上での Rereat モードへの切り替えについても、以下 KB に手順が
記載されていますが、vCenter Server の詳細設定に誤ったパラメーターを
追記してしまった場合は、vCenter Server のサービス起動不可等の要因に
繋がるため、注意が必要です。

vSphere Cluster Services (vCLS) in vSphere 7.0 Update 1 and newer versions (80472)
https://kb.vmware.com/s/article/80472?lang=en_us
-> Retreat Mode steps
 -> Using the vSphere Client

もし、vCenter Server の詳細に設定に誤ったパラメータを追加してしまった
場合の対処方法については、以下で記事にしています。

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