ブログ内検索
Nutanix AHVの”クラスタ停止”、”CVMシャットダウン”、”AHVシャットダウン”をIPMの「クラスタのシャットダウン」を使用しないで、Tera Termでシャットダウンする手順です。
※Nutanixゲスト仮想マシンのシャットダウンは、IPMの「仮想マシンの電源操作(ゲストのシャットダウン)」を使用してください。
本解説の構成
ゲスト仮想マシンはシャットダウン完了しており、CVMとAHVだけ起動している状態です。
Tera Term インストール
最新版のTera Termをダウンロードしてインストールします
https://ja.osdn.net/projects/ttssh2/releases/
インストール途中で、.ttlファイルを ttpmacro.exe に関連付けます
Tera Termにて全CVMと全AHVにログイン
Tera Termをインストールしたら、全てのCVMとAHVにログインテストします。ログインできたら、何もせずに exit します。
※セキュリティ警告は[続行]を選択します
設定の流れ
- 「クラスタ停止 ⇒ CVMシャットダウン ⇒ AHVシャットダウン」を実行するマクロとバッチファイルを任意フォルダ(例:c:\scripts)に保存します
- バッチファイルを実行するタスクを作成します
- タスクを実行するIPMアクションを作成します
これら設定により、アクションが実行されるとシャットダウンマクロが実行されます
IPMのアクション実行 ⇒ タスク実行 ⇒ バッチファイル実行 ⇒ 各Tera Termマクロ実行
クラスタ停止、CVMシャットダウン、AHVシャットダウン 設定
Nutanix AHV シャットダウン フロー
「クラスタ停止 ⇒ CVMシャットダウン ⇒ AHVシャットダウン」の各コマンド
1. クラスタ停止
任意のCVM1台に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 に保存します。
各ttl内のIPアドレス、ユーザー名、パスワードは、環境に合わせて変更してください。
【1. クラスタ停止】
nutanix_cluster_stop.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 strconcat COMMAND ' /V' ;; CVM1にSSH接続 connect COMMAND ;;接続出来ない場合はマクロ終了 if result <> 2 then end endif ;; 5秒以内にプロンプトが表示されないとマクロ終了 timeout = 5 wait '$' if result = 0 then disconnect 0 end endif ;; クラスター停止 sendln 'echo Y | cluster stop' ;; クラスター停止完了を最大180秒待機 timeout = 180 wait '$' if result = 0 then goto ending endif :ending ;; SSH切断 unlink
【2. CVMシャットダウン】
※ノード数が4ノード以外の場合、ノード数に合わせてください。
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 strconcat COMMAND ' /V' ;; 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切断 unlink
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 strconcat COMMAND ' /V' ;; 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切断 unlink
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 strconcat COMMAND ' /V' ;; 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切断 unlink
nutanix_cvm4_shutdown.ttl
;; ########## 初期設定 ########## ;; 接続先ホスト/ユーザ名/パスワード設定 HOSTADDR = '192.168.10.8' USERNAME = 'nutanix' PASSWORD = 'nutanix/4u' ;; ############################## COMMAND = HOSTADDR strconcat COMMAND ':22 /ssh /2 /auth=password /user=' strconcat COMMAND USERNAME strconcat COMMAND ' /passwd=' strconcat COMMAND PASSWORD strconcat COMMAND ' /V' ;; CVM4にSSH接続 connect COMMAND ;;接続出来ない場合はマクロ終了 if result <> 2 then end endif ;; 5秒以内にプロンプトが表示されないとマクロ終了 timeout = 5 wait '$' if result = 0 then disconnect 0 end endif ;; CVM4シャットダウン sendln 'sudo shutdown -h now' ;; SSH切断 unlink
【3. AHVシャットダウン】
※ノード数が4ノード以外の場合、ノード数に合わせてください。
nutanix_ahv1_shutdown.ttl
;; ########## 初期設定 ########## ;; 接続先ホスト/ユーザ名/パスワード設定 HOSTADDR = '192.168.10.1' USERNAME = 'root' PASSWORD = 'nutanix/4u' ;; ############################## COMMAND = HOSTADDR strconcat COMMAND ':22 /ssh /2 /auth=password /user=' strconcat COMMAND USERNAME strconcat COMMAND ' /passwd=' strconcat COMMAND PASSWORD strconcat COMMAND ' /V' ;; 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切断 unlink
nutanix_ahv2_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 strconcat COMMAND ' /V' ;; 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切断 unlink
nutanix_ahv3_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 strconcat COMMAND ' /V' ;; 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切断 unlink
nutanix_ahv4_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 strconcat COMMAND ' /V' ;; AHV4にSSH接続 connect COMMAND ;;接続出来ない場合はマクロ終了 if result <> 2 then end endif ;; 5秒以内にプロンプトが表示されないとマクロ終了 timeout = 5 wait '#' if result = 0 then disconnect 0 end endif ;; AHV4シャットダウン sendln 'shutdown -h now' ;; SSH切断 unlink
Nutanix シャットダウン サンプル.bat
各ttlを5秒間待機しながら実行、最後にWindows Serverがシャットダウンするbatファイルのサンプルです。Windows Serverをシャットダウンさせない場合は、最後の1行を削除すること。
※ノード数が4ノード以外の場合、ノード数に合わせてください。
nutanix_ahv_shutdown.bat
"C:\Program Files (x86)\teraterm\ttpmacro.exe" /V /I "C:\scripts\nutanix_cluster_stop.ttl" timeout 5 /NOBREAK "C:\Program Files (x86)\teraterm\ttpmacro.exe" /V /I "C:\scripts\nutanix_cvm1_shutdown.ttl" timeout 5 /NOBREAK "C:\Program Files (x86)\teraterm\ttpmacro.exe" /V /I "C:\scripts\nutanix_cvm2_shutdown.ttl" timeout 5 /NOBREAK "C:\Program Files (x86)\teraterm\ttpmacro.exe" /V /I "C:\scripts\nutanix_cvm3_shutdown.ttl" timeout 5 /NOBREAK "C:\Program Files (x86)\teraterm\ttpmacro.exe" /V /I "C:\scripts\nutanix_cvm4_shutdown.ttl" timeout 5 /NOBREAK "C:\Program Files (x86)\teraterm\ttpmacro.exe" /V /I "C:\scripts\nutanix_ahv1_shutdown.ttl" timeout 5 /NOBREAK "C:\Program Files (x86)\teraterm\ttpmacro.exe" /V /I "C:\scripts\nutanix_ahv2_shutdown.ttl" timeout 5 /NOBREAK "C:\Program Files (x86)\teraterm\ttpmacro.exe" /V /I "C:\scripts\nutanix_ahv3_shutdown.ttl" timeout 5 /NOBREAK "C:\Program Files (x86)\teraterm\ttpmacro.exe" /V /I "C:\scripts\nutanix_ahv4_shutdown.ttl" timeout 5 /NOBREAK shutdown /s /f /t 0
バッチファイルを実行するタスクを作成する
タスク スケジューラを起動します。
タスク スケジューラ ライブラリを右クリックして、タスクの作成を選択します。
【全般】タブ
タスクの名前は、「nutanix_shutdown」とします。
「ユーザーがログオンしているかどうかにかかわらず実行する」を選択します。
「最上位の特権で実行する」にチェックを入れます。
◇◆重要◆◇ 構成は、必ず「Windows Server 2003、XP、2000」を選択します。
【トリガー】タブ
何もしません。
【操作】タブ
新規をクリックします。
参照を押して、C:\scripts\nutanix_ahv_shutdown.bat を選択します。
【条件】タブ
「コンピュータをAC電源で使用している場合のみタスクを開始する」のチェックを外します。
【設定】タブ
何もしません。
右下の「OK」を押すと、batを実行するタスクが作成されます。アカウント情報を求められた時は、ユーザー名とパスワードを入力します。
このタスクはトリガーが無いため、通常は動作しません。
タスクを実行するIPMアクションを作成する
アクションの作成
設定 > アクション/イベント > 新しいアクションの作成
アクション名:任意 (例:Nutanix AHV Shutdown Action)
イベントリスト:任意のイベントを選択 (例:Shutdown Start 180s)
イベントソース:任意のソース
アクションのタイプ:コマンド
コマンド:
schtasks.exe /run /tn "nutanix_shutdown"
再トリガ可能:はい
※ダブルクォーテーション内の[文字列]は、作成したタスクの[名前]と一致する必要があります。
※パスが通っていない場合は、c:\windows\system32\schtasks.exe ~と絶対パスから入力します。
おわりに
環境により、Tera Termのセッションが切断された時に[Application Fault]が発生しますが、シャットダウン動作に影響ありません。どうしてもx2消したい場合、全てのttl内13行目 strconcat COMMAND ‘ /V’ をコメントアウトアウトしてください。
;; strconcat COMMAND ' /V'
掲載しているスクリプトは、サンプルです。
ダイトロンは、このサンプルスクリプトに関する動作保証は致しかねます。ご了承ください。