UPS Virtual Report

Prism Centralの停止/起動の手順

Nutanix
※この記事はNutanix Advent Calendar 2020の12月18日分の記事です。

オムロンソーシアルソリューションズのSE高田と申します。

VDIを各サイトで稼動させる、およびNutanixを用途に応じて複数クラスターを運用するケースなど、Prism Centralを使用するケースが増えてきていると感じていますが、Prism Centralのシャットダウン手順まで気を遣っていますか?
本日は、Prism Centralを使用している環境でのシャットダウンと起動手順についてご紹介していきます。

環境情報

ハードウェア:HPE DX360 G10
AOS:5.15.3 LTS
AHV:20170830.453
Prism Central:pc.2020.9
Prism Central VM名:PC_VM

Prism Centralを展開しているクラスター全体の停止/起動の順序

停止/起動の順序は以下になります。

【停止】
①ユーザVM(Prism Central VM 、CVM以外)の停止
②Prism Centralの停止
③Nutanixクラスターの停止
④CVMの停止
⑤AHVの停止

【起動】
①AHVの起動
②Nutanixクラスターの起動
③Prism Centralの起動
④ユーザVM(Prism Central VM 、CVM以外)の起動

詳細は以下の通りとなります。

【停止】

①ユーザVM(Prism Central VM 、CVM以外)の停止

各CVMに対してSSHで接続し、以下のコマンドを実行します。
「for vm_name in `acli vm.list power_state=on | grep -v 'VM name' | grep –v <Prism Central VM name> | awk '{print $1}'`;do acli vm.shutdown $vm_name;done」

nutanix@NTNX-XXXXXXXXXX-A-CVM:192.168.1.XXX:~$ for vm_name in `acli vm.list power_state=on | grep -v 'VM name' | grep -v 'PC_VM' | awk '{print $1}'`;do acli vm.shutdown $vm_name;done
TEST_CentOS7_001: pending
TEST_CentOS7_001: complete
TEST_CentOS7_002: pending
TEST_CentOS7_002: complete
TEST_CentOS7_003: pending
TEST_CentOS7_003: complete
TEST_CentOS7_004: pending
TEST_CentOS7_004: complete
nutanix@NTNX-XXXXXXXXXX-A-CVM:xxx.xxx.xxx.xxx:~$

上記コマンドを実行後、「acli vm.list power_state=on」を実行し、Prism Central VM以外の仮想マシンが表示されないことを確認します。

nutanix@NTNX-XXXXXXXXXX-A-CVM:192.168.1.XXX:~$ acli vm.list power_state=on
VM name VM UUID
PC_VM eab19a57-b2b5-4179-8e60-0edb155a0a95
nutanix@NTNX-XXXXXXXXXX-A-CVM:192.168.1.XXX:~$

②Prism Centralの停止

Prism Central VMに対してSSHで接続し、「cluster stop」コマンドを実行します。
 ※上記コマンド実行後、「y」を押下します。
 ※Prism Central VMを複数にスケールアウトしている場合は、任意の1台で実施します。

nutanix@NTNX-192-168-1-XXX-A-PCVM:~$ cluster stop
2020-12-03 05:52:05,668Z INFO zookeeper_session.py:176 cluster is attempting to connect to Zookeeper
2020-12-03 05:52:05,673Z INFO cluster:2728 Executing action stop on SVMs 192.168.1.XXX
2020-12-03 05:52:05,673Z WARNING genesis_utils.py:318 Deprecated: use
util.cluster.info.get_node_uuid() instead
2020-12-03 05:52:05,677Z INFO cluster:2775

***** CLUSTER NAME *****
Unnamed

2020-12-03 05:52:05,677Z INFO genesis_utils.py:2324 trying to fetch cluster_functions from cached config_prote
This operation will stop all Nutanix services, making Prism Central unable to manage applications and services. Do you want to proceed? (I agree/[N]): y

「cluster status」コマンドでクラスターの状態を確認します。
 ※The state of the cluster: stopになっていることを確認します。

nutanix@NTNX-XXXXXXXXXX-A-CVM:192.168.1.XXX:~$ cluster status
2020-12-03 15:43:10,387Z INFO zookeeper_session.py:143 cluster is attempting to connect to Zookeeper
2020-12-03 15:43:10,393Z INFO cluster:2723 Executing action status on SVMs 192.168.1.XXX
The state of the cluster: stop
Lockdown mode: Disabled

CVM: 192.168.1.XXX Up, ZeusLeader
Zeus UP [3726, 3761, 3762, 3763, 3772, 3790]

「sudo shutdown -h now」コマンドを実行しPrism Central VMを停止します。
※Prism Central VMを複数にスケールアウトしている場合、すべてのPrism Central VMで実施します。

nutanix@NTNX-XXXXXXXXXX-A-CVM:192.168.1.XXX:~$ sudo shutdown -h now

③Nutanixクラスターの停止

任意のCVMに対してSSHで接続し、「cluster stop」コマンドを実行します。
※上記コマンド実行後、「y」を押下します。

nutanix@ NTNX-XXXXXXXXXX-A-CVM:192.168.1.XXX:~$ cluster stop
2020-12-03 15:40:59 INFO zookeeper_session.py:143 cluster is attempting to connect to Zookeeper
2020-12-03 15:40:59 INFO cluster:2723 Executing action stop on SVMs 192.168.1.XXX
2020-12-03 15:40:59 WARNING genesis_utils.py:279 Deprecated: use util.cluster.info.get_node_uuid() instead
2020-12-03 15:40:59 INFO cluster:2775
2020-12-03 15:40:59 INFO cluster:2770

***** CLUSTER NAME *****
NTNX-CLST-AHV

This operation will stop the Nutanix storage services and any VMs using Nutanix storage will become unavailable. Do you want to proceed? (I agree/[N]): y
2020-12-03 15:41:05 INFO zookeeper_session.py143 cluster is attempting to connect to Zookeeper

④CVMの停止

各AHVに対してSSHで接続し、「virsh shutdown <CVM name>」コマンドを実行しCVMを停止します。

[root@NTNX-HPE-LABO-D ~]# virsh shutdown NTNX-HPE-LABO-D-CVM

⑤AHVの停止

各AHVに対してSSHで接続し、「shutdown -h now」コマンドを実行しAHVを停止します。

[root@NTNX-HPE-LABO-D ~]# shutdown -h now
【起動】

①AHVの起動

各サーバの電源ボタンを押下、もしくはIPMI経由から各AHVを起動します。
※以下画像は弊社環境(HPE DX360)のiLOとなります。

②Nutanixクラスターの起動

任意のCVMに対してSSHで接続し、「cluster start」コマンドを実行します。

nutanix@NTNX-XXXXXXXXXX-A-CVM:192.168.1.XXX:~$ cluster start

「cluster status」コマンドでクラスターの状態を確認します。
※The state of the cluster: startになっていることを確認します。

nutanix@NTNX-XXXXXXXXXX-A-CVM:192.168.1.XXX:~$ cluster status
2020-12-03 15:55:27 INFO zookeeper_session.py:143 cluster is attempting to connect to Zookeeper
2020-12-03 15:55:27 INFO cluster:2723 Executing action status on SVMs 192.168.1.XXX
The state of the cluster: start
Lockdown mode: Disabled

CVM: 192.168.1.XXX Up, ZeusLeader
Zeus UP [3782, 3818, 3819, 3820, 3829, 3847]
Scavenger UP [5091, 5123, 5124, 5125]

③Prism Centralの起動

任意CVMに対してSSHで接続し、「acli vm.on <Prism Central VM name>」コマンドを実行します。
※Prism Central VMを複数にスケールアウトしている場合は、各CVMからすべてのPrism Central VMを起動します。

nutanix@NTNX-XXXXXXXXXX-A-CVM:192.168.1.XXX:~$ acli vm.on 'PC_VM'
PC_VM: pending
PC_VM: complete
nutanix@NTNX-XXXXXXXXXX-A-CVM:192.168.1.XXX:~$

Prism Central VMに対してSSHで接続し、「cluster start」コマンドを実行します。
※Prism Central VMを複数にスケールアウトしている場合は、任意の1台で実施します。

nutanix@NTNX-192-168-1-XXX-A-PCVM:~$ cluster start

「cluster status」コマンドでクラスターの状態を確認します。
※The state of the cluster: startになっていることを確認します。

nutanix@NTNX-192-168-1-XXX-A-PCVM:~$ cluster status
2020-12-03 06:03:01,218Z INFO zookeeper_session.py:143 cluster is attempting to connect to Zookeeper
2020-12-03 06:03:01,223Z cluster:2728 Executing action status on SVMs 192.168.1.XXX
The state of the cluster: start
Lockdown mode: Disabled

CVM: 192.168.1.XXX Up, ZeusLeader
Zeus UP [3026, 3061, 3062, 3063, 3072, 3090]
Scavenger UP [3410, 3471, 3472]

④Prism Central VM 、CVM以外の仮想マシンの起動

各CVMに対してSSHで接続し、以下のコマンドを実行します。
「for vm_name in `acli vm.list power_state=off | grep -v 'VM name' | grep –v <Prism Central VM name> | awk '{print $1}'`;do acli vm.on $vm_name;done」

nutanix@NTNX-XXXXXXXXXX-A-CVM:192.168.XXX:~$ for vm_name in `acli vm.list power_state=off | grep -v 'VM name' | grep -v 'PC_VM' | awk '{print $2}'`;do acli vm.on $vm_name done
TEST_CentOS7_001: pending
TEST_CentOS7_001: complete
TEST_CentOS7_002: pending
TEST_CentOS7_002: complete
TEST_CentOS7_003: pending
TEST_CentOS7_003: complete
TEST_CentOS7_004: pending
TEST_CentOS7_004: complete
nutanix@NTNX-XXXXXXXXXX-A-CVM:192.168.XXX:~$

UPS連携

ここまでご説明した内容を、Nutanixと親和性の高い弊社ソフトウェアであるVirtuAttendantを使用した場合、以下のように設定することでPrism Centralの停止と起動を自動化できます。

メニュー「スクリプト管理」からスクリプト登録画面で以下のように設定してください。

《停止》
スクリプト名:任意の名前
IPアドレス:Prism CentralのIP
SSH Port:22
アカウント/パスワード:Prism CentralにSSHで接続するためのIDとパスワード
タイムアウト値:環境毎にご設定ください。
コマンド:source /etc/profile; echo y | cluster stop

テスト実行を押下すると上記、テスト結果が表示されます。
※テスト実行を押下すると実際にコマンドが発行され、クラスターが停止しますのでご注意下さい。

《起動》
スクリプト名:任意の名前
IPアドレス:Prism CentralのIP
SSH Port:22
アカウント/パスワード:Prism CentralにSSHで接続するためのIDとパスワード
タイムアウト値:環境毎にご設定ください。
コマンド:source /etc/profile; cluster start

テスト実行を押下すると上記、テスト結果が表示されます。
※テスト実行を押下すると実際にコマンドが発行されます。

停止優先度設定の画面からスクリプト管理で登録したスクリプトをPrism Central VMの前に差し込みます。
※Prism Central VM自体のシャットダウンは、他のユーザVMと同様にPA10Vでシャットダウンします。

《停止》

起動優先度設定はPrism Central VMの後に作成したスクリプトを差し込みます。
※Prism Central VM自体の起動は、他のユーザVMと同様にPA10Vで起動します。

《起動》

まとめ

Prism Centralを展開しているクラスターでは、Nutanixクラスターとは別にPrism Centralのクラスターが展開されています。Prism CentralもNutanixクラスター同様に専用の停止/起動手順がございますので、法定点検時や停電時など、クラスター全体が停止、起動される時には、順序およびコマンドを考慮して運用しましょう。