皆様、こんにちは。
ダイワボウ情報システム Nutanix 担当の畠中です。

今回は、計画停電時や計画メンテナンス時などにNutanixクラスタを停止する方法と注意点についてご紹介します。
クラスタの起動については、こちら をご参照ください。

クラスタの停止手順

 Nutanixのクラスタの停止は、以下の手順で行う必要があります。

  1. ユーザーVMの停止
  2. サービスとして展開しているVMの停止(Filesなど)
  3. Prism Centralの停止
  4. クラスタの停止
  5. CVMの停止
  6. AHVの停止(物理マシンの停止)

 本記事では、手順2(サービスとして展開しているVMの停止)として、Filesの停止方法について詳しく解説します。

1|ユーザーVMの停止

 ユーザーVMが稼働しているクラスタを停止する際には、まず初めに対象クラスタ上のVMを停止する必要があります。

CVMにSSH接続し、以下のコマンドを実行して起動しているVMを確認

 起動している仮想マシン名とUUIDを確認します。

nutanix@cvm$acli vm.list power_state=on
VM name VM UUID
Test1 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Test2 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
NTNX-xxx-xxx-xxx-xxx-PCVM-xxxxxxxxxx xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
NTNX-Files.Test-1 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
NTNX-Files.Test-2 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
NTNX-Files.Test-3 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

* NTNX-xxx-xxx-xxx-xxx-PCVM-xxxxxxxxxxはPCVM(Prism Center VM)、NTNX-Files.Test-1、NTNX-Files.Test-2、NTNX-Files.Test-3はFSVM(File Server VM)です。これらのVMは今回の手順では停止せず、後の手順で停止します。

「Test1」を含む仮想マシンを検索する場合

nutanix@cvm$ acli vm.list power_state=on | grep Test1
VM name VM UUID
Test1 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

* 起動している仮想マシン名をフィルタして出力したい場合は、下のようにgrepコマンドなどのLinuxコマンドと組み合わせて実行することができます。

ユーザーVMを停止

* FSVM(File Server VM)・PCVM(Prism Central VM)は起動している状態にしておきます。

 NGT(Nutanix Guest Tools)のインストールの有無で、VMを停止できる方法が異なります。

 以下のコマンドを実行し、NGTがインストールされているVMを確認します。

nutanix@cvm$ncli ngt list
 VM Id : (省略)
 VM Name : Test1
 NGT Enabled : true
 Tools ISO Mounted : false
 Vss Snapshot : true
 File Level Restore : false
 Communication Link Active : true

 NGTがインストールされているVMの情報が出力されます。コマンドによるシャットダウンに必要なため、VM Nameの値を控えておきます。

NGTがインストールされているVM

 Prismを通じて、またはコマンドでシャットダウンすることができます。以下がVMを停止するコマンドです。

nutanix@cvm$ acli vm.shutdown VMname

VMnameは実際のVM名(前の手順で控えた値)を入力してください。

NGTがインストールされていないVM

 Webコンソールで接続、もしくはOSに直接リモート接続をしてシャットダウンする必要があります。強制的にパワーオフする場合は、以下のコマンドを実行します。

nutanix@cvm$ acli vm.off VMname

VMnameは実際のVM名(前の手順で控えた値)を入力してください。

CVMにSSH接続をし、以下のコマンドを実行して起動しているVMを確認

 ユーザーVMの名前とUUIDが表示されていない場合、全てのユーザーVMが停止している。

nutanix@cvm$ acli vm.list power_state=on
VM name VM UUID
NTNX-xxx-xxx-xxx-xxx-PCVM-xxxxxxxxxx xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
NTNX-Files.Test-1 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
NTNX-Files.Test-2 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
NTNX-Files.Test-3 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

* PCVM(Prism Central VM)・FSVM(File Server VM)はこの後の手順で停止します。

2|サービスとして展開しているVMの停止:Filesの停止

 ここでは、Filesの停止方法についてご説明します。

 Filesを停止する際には、CVMでコマンドを実行しFilesの停止を行います。各FSVM(File Server VM)を個別に停止する必要はありません。

CVMにSSH接続をして以下のコマンドでNCCを実行し結果を確認

nutanix@cvm$ ncc health_checks run_all

 全ての項目が「PASS」になっていることを確認し、Filesの停止手順に進みます。

CVMにSSH接続をして次のコマンドを実行し、稼働しているFilesの起動状態と名前を確認

nutanix@cvm$ ncli fs ls
 uuid : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
 Name : TestFiles
 DNS Domain Name : Files.test
 Version : 5.2.1
 Container ID : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx::xxxxxxxx
 Container Uuid : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
 Virtual IP address : xxx.xxx.xxx.xxx
 DNS Server IP Addresses : xxx.xxx.xxx.xxx
 NTP Servers : xxx.xxx.xxx.xxx
 File server PD name : NTNX-TestFiles
 File server PD status : Active
 File server status : Active

 Filesが起動している場合、Files server statusがActiveとなっています。起動しているFilesのNameの値を控えておきます。(停止の際に必要です)

以下のコマンドを実行してFilesを停止

nutanix@cvm$ afs infra.stop fileservername

fileservernameは実際のFiles名(先ほど控えたNameの値)を入力してください。

 PrismからFilesの停止タスクを確認することができます。

以下のコマンドを実行し、全てのFSVM(File Server VM)が停止していることを確認

nutanix@cvm$ acli vm.list power_state=on

<出力例>
PCVM(Prism Central VM)以外のVMがシャットダウンされていれば、次の手順に進みます。

nutanix@cvm$ acli vm.list power_state=on
VM name VM UUID
NTNX-xxx-xxx-xxx-xxx-PCVM-xxxxxxxxxx xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

3|Prism Centralの停止

 クラスタにPrism Central VMがある場合は、必ずクラスタ停止の前にPrism Central・Prism Central VMを停止する必要があります。

Prism Central VMにSSH接続し、以下のコマンドを実行してPrism Centralの各サービスの状態を確認

 全てのサービスの状態がUPであることを確認します。

nutanix@pcvm$ cluster statusCVM: 172.20.0.220 Up, ZeusLeader
           IkatProxy UP [89768, 89889, 89890, 89891]
           Zeus UP [88279, 88350, 88351, 88356, 88370, 88394]
           Scavenger UP [89980, 90165, 90166, 90168]
           SysStatCollector UP [130534, 130949, 130950, 130951]
           IkatControlPlane UP [133721, 134573, 134575, 134577]
           Medusa UP [136554, 137501, 137503, 138271, 155120]

以下のコマンドを実行してPrism Centralクラスタを停止

 Prism Centralでアプリケーションとサービスの管理ができなくなることへの同意が求められます。「I agree」と入力し、Enterキーを押します。

nutanix@pcvm$ cluster stop
This operation will stop all Nutanix services, making Prism Central unable to manage applications and services. Do you want to proceed? (I agree/[N]):

 Prism Centralクラスタの停止に成功すると、以下のように出力されます。

xxxx-xx-xx xx:xx:xx,xxxx INFO MainThread cluster:3785 Success!

以下のコマンドを実行し、Prism Centralクラスタが停止されていることを確認

 IkatProxy、Zeus、Scavenger以外の全てのサービスの状態がDOWNであることを確認します。

nutanix@pcvm$ cluster status
CVM: 172.20.0.220 Up, ZeusLeader
            IkatProxy UP [89768, 89889, 89890, 89891]
            Zeus UP [88279, 88350, 88351, 88356, 88370, 88394]
            Scavenger UP [89980, 90165, 90166, 90168]
            SysStatCollector DOWN []
            IkatControlPlane DOWN []
            Medusa DOWN []

 Prism Centralにアクセスできないようになります。また、Prism ElementのダッシュボードからPrism Centralにリダイレクトできないようになります。

以下のコマンドを実行し、全てのPCVM(Prism Central VM)を停止

nutanix@pcvm$ sudo shutdown -h now

CVMにSSH接続をして以下のコマンドを実行し、PCVM(Prism Central VM)が停止していることを確認

nutanix@cvm$ vm.list power_state=on
VM name VM UUID

 ここで名前とUUIDが出力されているVMがなければ、クラスタ上の全てのVMが正常にシャットダウン完了できていますので、次のクラスタ停止手順に進みます。

4|クラスタの停止

以下のコマンドを実行し、クラスタの全てのサービスの状態がUPであることを確認

nutanix@cvm$ cluster status
CVM: xxx.xxx.xxx.xxx Up, ZeusLeader
         IkatControlPlane UP [58194, 58594, 58595, 58597]
         IkatProxy UP [51780, 52194, 52195, 52197]
         Zeus UP [30429, 30772, 30773, 30937, 31056, 31081]
         Scavenger UP [59735, 60207, 60208, 60209]
         SysStatCollector UP []
         SecureFileSync UP []

以下のコマンドを実行し、クラスタを停止

nutanix@cvm$ cluster stop

以下のコマンドを実行し、クラスタの各サービスが停止していることを確認

 IkatControlPlane、IkatProxy、Zeus、Scavenger、VipMonitor以外の全てのサービスがDOWNになっていることを確認します。

nutanix@cvm$ cluster status
CVM: xxx.xxx.xxx.xxx Up, ZeusLeader
         IkatControlPlane UP [58194, 58594, 58595, 58597]
         IkatProxy UP [51780, 52194, 52195, 52197]
         Zeus UP [30429, 30772, 30773, 30937, 31056, 31081]
         Scavenger UP [59735, 60207, 60208, 60209]
         SysStatCollector DOWN []
         SecureFileSync DOWN []

 クラスタを停止するとPrism Elementに接続できなくなります。

5|CVMの停止

全てのCVMにSSH接続をして以下のコマンドを実行し、停止

nutanix@cvm$ cvm_shutdown -P now

* 全てのCVMに接続し、コマンドを実行する必要があります。

CVMに接続できる端末からCVMにpingを送り、CVMと疎通できないことを確認

6|AHVの停止

全てのAHVにSSH接続をして以下のコマンドを実行し、CVMが稼働していないことを確認

root@ahv# virsh list --all | grep CVM

 Stateがshut offであることを確認します。

<出力例>

root@ahv# virsh list --all | grep CVM
- NTNX-hostname-CVM shut off

以下のコマンドを実行しAHVを停止

root@ahv# shutdown -h now

 IPMIからノードが停止されていることを確認します。

 以上で、Nutanixのクラスタ停止までの手順の紹介は終了です。最後までご覧いただきありがとうございます。