ブログ内検索
このレポートは、IPM 1.54で検証したレポートになります。これより新しいIPM 1.60の検証レポートがあります。リンク先の記事をご一読願います。
Nutanix Prism Central connectorがEaton 電源管理ソフトウェア IPM 1.54で追加されました。
このコネクターを使用すると、停電時にNutanixの仮想マシンをGUIでシャットダウン管理する事ができます。
※IPM 1.62以降、Gold Licenseが必須となりました。
検証結果
- ハイパーバイザは、Nutanix AHV(Acropolis Hypervisor)のみ対応
- IPM Silver License 必須
- 仮想マシンのシャットダウン可能
- グループ化により、時間差をつけてシャットダウン可能
※Nutanix Prism Central コネクターは、VMware ESXiおよびMicrosoft Hyper-Vは非対応です。
検証環境
・Nutanix Community Edition
・Windows 7 Pro (64bit)
・Eaton 9PX6K UPS
Nutanixは9PX6Kから電源供給。仮想マシンは3つ。
Windowsは別系統から電源供給。IPM 1.54をインストール済み。シルバーライセンス適用済み。
Prism ダッシュボード
仮想マシンのシャットダウン設定
Nutanix Prism Central コネクターを追加する
必須条件:
- Java Runtime Environment(JRE) 8 最新版がインストールされていること。
- IPM シルバーライセンス以上の適用。
[設定] > [インフラストラクチャーコネクター] > [コネクターの追加]をクリックします。
リストの中から[Nutanix Prism Central / Cluster]を選択します。
Nutanix Prism Central / Clusterの情報を全部入力して[保存]します。
コネクターが作成されて、接続状態が緑色アイコンになります。
[設定] > [自動検出]をクリックすると、ノードリストに仮想マシン3台が追加されました。
※パワーオフの仮想マシンはステータスが赤アイコンになります。
Nutanix 仮想マシン シャットダウン ポリシーを作成する
UPSが60秒間バッテリー稼働した時に、仮想マシン2台(win-7,win-9)をシャットダウンするポリシーを作成します。
[管理] > [構成ポリシー] > [新しいポリシーを作成]をクリックします。
構成ポリシーネームは、任意の名前を入力します。例として「Nutanix VM shutdown policy」としています。
次に、ターゲットノードの編集ボタンをクリックします。
「利用できるノードリスト」の中から、対象の仮想マシン2台を「>>」ボタンを使用して、「ターゲットノード」に移動します。
クラスリストの編集ボタンをクリックします。
Runtime threshold settings と パワーソース の2か所にチェックを入れます。
Runtime threshold settingsのタイマーに「60s」を設定します。 ※シャットダウンタイマー
パワーソースのパワーソースに「9PX6K」を設定します。 ※電源供給元UPS
ポリシーが1つ作成されました。
Nutanix 仮想マシン シャットダウン アクションを作成する
続いて、アクションを作成します。
「作成したポリシーが条件を満たした時に、どのようなアクションを起こしたいのか」を設定します。
ここでは、仮想マシンをシャットダウンするアクションを作成します。
[設定] > [アクション/イベント] > [新しいアクションの作成]をクリックします。
アクション名は、任意の名前を入力します。例として「Nutanix VM shutdown action」としています。
次に、イベントリストの編集ボタンをクリックします。
「シャットダウン基準に到達」にチェックを入れてOKをクリックします。
イベントソースの編集ボタンをクリックします。
作成したポリシー「Nutanix VM shutdown policy」を選択します。
アクションタイプは、リストの中から「仮想マシンの電源操作」を選択します。
パワーコマンドの編集アイコンをクリックします。
「ゲストのシャットダウン」を選択します。
仮想マシンターゲットの編集アイコンをクリックします。
作成したポリシー「Nutanix VM shutdown policy」を選択します。
シャットダウンゲストタイムアウトは、変更しません。
保存します。
アクションが1つ作成されました。
Nutanix 仮想マシン シャットダウン 動作検証
UPSをバッテリー稼働させて、60秒後に仮想マシン2台がシャットダウンするか確認しました。
イベント通知
ノードリストのステータス
PrismのVMステータス
正常にシャットダウンする事が確認できました。
クラスタ停止、CVMシャットダウン、AHVシャットダウン 設定
Nutanix AHV シャットダウン フロー
「クラスタ停止 ⇒ CVMシャットダウン ⇒ AHVシャットダウン」をコマンドで実行する設定をします。
1. クラスタ停止
CVMのいずれかにSSHで接続して、 echo Y | cluster stop を実行。
2. 全CVMシャットダウン
各CVMにSSHで接続して、 sudo shutdown -h now を実行。
3. 全AHVシャットダウン
各AHVにSSHで接続して、 shutdown -h now を実行。
上記1~3のスクリプトをTeraTermで作成しました。
Nutanix AHV シャットダウン サンプルスクリプト
このスクリプトは、サンプルです。
ダイトロンは、スクリプトを実行する手順については回答しますが、このサンプルスクリプトを含むスクリプトに関する回答、動作保証、動作検証は致しかねます。ご了承ください。
TeraTerm サンプル.ttl
3種のttlファイルをc:\scripts\ に保存します。
【1. クラスタ停止】
nutanix_cluster_stop.ttl
;; CVM1にSSH接続 ;; ########## 初期設定 ########## ;; 接続先ホスト/ユーザ名/パスワード設定 HOSTADDR = '192.168.10.5' USERNAME = 'nutanix' PASSWORD = 'nutanix/4u' ;; ############################## COMMAND = HOSTADDR strconcat COMMAND ':22 /ssh /2 /auth=password /user=' strconcat COMMAND USERNAME strconcat COMMAND ' /passwd=' strconcat COMMAND PASSWORD ;; CVM1にSSH接続 connect COMMAND ;;接続出来ない場合はマクロ終了 if result <> 2 then end endif ;; 5秒以内にプロンプトが表示されないとマクロ終了 timeout = 5 wait '$' if result = 0 then disconnect end endif ;; クラスター停止 sendln 'echo Y | cluster stop' ;; クラスター停止の待機時間(秒) pause 120 ;; SSH切断 sendln 'exit'
【2. CVMシャットダウン】
nutanix_cvm1_shutdown.ttl
;; ########## 初期設定 ########## ;; 接続先ホスト/ユーザ名/パスワード設定 HOSTADDR = '192.168.10.5' USERNAME = 'nutanix' PASSWORD = 'nutanix/4u' ;; ############################## COMMAND = HOSTADDR strconcat COMMAND ':22 /ssh /2 /auth=password /user=' strconcat COMMAND USERNAME strconcat COMMAND ' /passwd=' strconcat COMMAND PASSWORD ;; CVM1にSSH接続 connect COMMAND ;;接続出来ない場合はマクロ終了 if result <> 2 then end endif ;; 5秒以内にプロンプトが表示されないとマクロ終了 timeout = 5 wait '$' if result = 0 then disconnect 0 end endif ;; CVM1シャットダウン sendln 'sudo shutdown -h now' ;; SSH切断 sendln 'exit'
nutanix_cvm2_shutdown.ttl
;; ########## 初期設定 ########## ;; 接続先ホスト/ユーザ名/パスワード設定 HOSTADDR = '192.168.10.6' USERNAME = 'nutanix' PASSWORD = 'nutanix/4u' ;; ############################## COMMAND = HOSTADDR strconcat COMMAND ':22 /ssh /2 /auth=password /user=' strconcat COMMAND USERNAME strconcat COMMAND ' /passwd=' strconcat COMMAND PASSWORD ;; CVM2にSSH接続 connect COMMAND ;;接続出来ない場合はマクロ終了 if result <> 2 then end endif ;; 5秒以内にプロンプトが表示されないとマクロ終了 timeout = 5 wait '$' if result = 0 then disconnect 0 end endif ;; CVM2シャットダウン sendln 'sudo shutdown -h now' ;; SSH切断 sendln 'exit'
nutanix_cvm3_shutdown.ttl
;; ########## 初期設定 ########## ;; 接続先ホスト/ユーザ名/パスワード設定 HOSTADDR = '192.168.10.7' USERNAME = 'nutanix' PASSWORD = 'nutanix/4u' ;; ############################## COMMAND = HOSTADDR strconcat COMMAND ':22 /ssh /2 /auth=password /user=' strconcat COMMAND USERNAME strconcat COMMAND ' /passwd=' strconcat COMMAND PASSWORD ;; CVM3にSSH接続 connect COMMAND ;;接続出来ない場合はマクロ終了 if result <> 2 then end endif ;; 5秒以内にプロンプトが表示されないとマクロ終了 timeout = 5 wait '$' if result = 0 then disconnect 0 end endif ;; CVM3シャットダウン sendln 'sudo shutdown -h now' ;; SSH切断 sendln 'exit'
【3. AHVシャットダウン】
nutanix_ahv1_shutdown.ttl
;; ########## 初期設定 ########## ;; 接続先ホスト/ユーザ名/パスワード設定 HOSTADDR = '192.168.10.2' USERNAME = 'root' PASSWORD = 'nutanix/4u' ;; ############################## COMMAND = HOSTADDR strconcat COMMAND ':22 /ssh /2 /auth=password /user=' strconcat COMMAND USERNAME strconcat COMMAND ' /passwd=' strconcat COMMAND PASSWORD ;; AHV1にSSH接続 connect COMMAND ;;接続出来ない場合はマクロ終了 if result <> 2 then end endif ;; 5秒以内にプロンプトが表示されないとマクロ終了 timeout = 5 wait '#' if result = 0 then disconnect 0 end endif ;; AHV1シャットダウン sendln 'shutdown -h now' ;; SSH切断 sendln 'exit'
nutanix_ahv2_shutdown.ttl
;; ########## 初期設定 ########## ;; 接続先ホスト/ユーザ名/パスワード設定 HOSTADDR = '192.168.10.3' USERNAME = 'root' PASSWORD = 'nutanix/4u' ;; ############################## COMMAND = HOSTADDR strconcat COMMAND ':22 /ssh /2 /auth=password /user=' strconcat COMMAND USERNAME strconcat COMMAND ' /passwd=' strconcat COMMAND PASSWORD ;; AHV2にSSH接続 connect COMMAND ;;接続出来ない場合はマクロ終了 if result <> 2 then end endif ;; 5秒以内にプロンプトが表示されないとマクロ終了 timeout = 5 wait '#' if result = 0 then disconnect 0 end endif ;; AHV2シャットダウン sendln 'shutdown -h now' ;; SSH切断 sendln 'exit'
nutanix_ahv3_shutdown.ttl
;; ########## 初期設定 ########## ;; 接続先ホスト/ユーザ名/パスワード設定 HOSTADDR = '192.168.10.4' USERNAME = 'root' PASSWORD = 'nutanix/4u' ;; ############################## COMMAND = HOSTADDR strconcat COMMAND ':22 /ssh /2 /auth=password /user=' strconcat COMMAND USERNAME strconcat COMMAND ' /passwd=' strconcat COMMAND PASSWORD ;; AHV3にSSH接続 connect COMMAND ;;接続出来ない場合はマクロ終了 if result <> 2 then end endif ;; 5秒以内にプロンプトが表示されないとマクロ終了 timeout = 5 wait '#' if result = 0 then disconnect 0 end endif ;; AHV3シャットダウン sendln 'shutdown -h now' ;; SSH切断 sendln 'exit'
Nutanix シャットダウン サンプル.bat
ttlを実行して、最後に自分自身(Windows)がシャットダウンするbatファイルのサンプルです。Windowsをシャットダウンさせなくて良い場合は、最後の1行は削除すること。
nutanix_ahv_shutdown.bat
"C:\Program Files (x86)\teraterm\ttpmacro.exe" /I /V "C:\scripts\nutanix_cluster_stop.ttl" "C:\Program Files (x86)\teraterm\ttpmacro.exe" /I /V "C:\scripts\nutanix_cvm1_shutdown.ttl" "C:\Program Files (x86)\teraterm\ttpmacro.exe" /I /V "C:\scripts\nutanix_cvm2_shutdown.ttl" "C:\Program Files (x86)\teraterm\ttpmacro.exe" /I /V "C:\scripts\nutanix_cvm3_shutdown.ttl" "C:\Program Files (x86)\teraterm\ttpmacro.exe" /I /V "C:\scripts\nutanix_ahv1_shutdown.ttl" "C:\Program Files (x86)\teraterm\ttpmacro.exe" /I /V "C:\scripts\nutanix_ahv2_shutdown.ttl" "C:\Program Files (x86)\teraterm\ttpmacro.exe" /I /V "C:\scripts\nutanix_ahv3_shutdown.ttl" shutdown /s /f /t 0
batファイルを実行するタスクを作成する
タスク スケジューラを起動します。
タスク スケジューラ ライブラリを右クリックして、タスクの作成を選択します。
【全般】タブ
タスクの名前は、「nutanix_shutdown」とします。
「ユーザーがログオンしているかどうかにかかわらず実行する」を選択します。
「最上位の特権で実行する」にチェックを入れます。
◆重要◆ 構成は、必ず「Windows Server 2003、XP、2000」を選択します。
【トリガー】タブ
何もしません。
【操作】タブ
新規をクリックします。
参照を押して、C:\scripts\nutanix_ahv_shutdown.bat を選択します。
【条件】タブ
「コンピュータをAC電源で使用している場合のみタスクを開始する」のチェックを外します。
【設定】タブ
何もしません。
右下の「OK」を押すと、batを実行するタスクが作成されます。このタスクはトリガーが無いため、通常は動作しません。
タスクを実行するIPMの設定
一定時間バッテリー運転した時に、作成したタスクをIPMが実行する設定を行います。
[設定] > [シャットダウン] > [シャットダウン構成の編集]のシャットダウンのタイプを「スクリプト」に変更します。
シャットダウンスクリプトは、 schtasks.exe /run /tn “nutanix_shutdown” と入力します。
※パスが通っていない場合は、c:\windows\system32\schtasks.exe ~と絶対パスから入力します。
おわりに
「仮想マシンのシャットダウン」は、IPMのGUIで実行します。
その後の「クラスタ停止」→「CVMシャットダウン」→「AHVシャットダウン」は、IPMでスクリプトをキックします。
Nutanixの電源保護は、Eaton 9PX UPSと電源管理ソフトウェア IPMを提案させて頂きます。