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 の詳細に設定に誤ったパラメータを追加してしまった
場合の対処方法については、以下で記事にしています。