Eaton UPS(イートン 無停電電源装置) テクニカルブログ

【IPM/IPP】 シャットダウン for Azure Stack HCI by IPM2 and IPP

Windows Server 2022ベースAzure Stack HCIの2ノード構成をIPM2とIPPを使ってシャットダウンしました。
本記事では、こちらの設定内容について解説いたします。

はじめに

IPM2とIPPの基本設定(IP設定、ライセンス適用、UPS検出など)は済んでいる前提で話が進みます。
また、IPM2とWindows Serverの接続にはWinRMを利用します。下記の記事を参考に設定してください。

【IPM2】Windows Serverへのコネクタ接続(WinRM) | 無停電電源装置(UPS) | イートン (eaton-daitron.jp)

Network-M2の基本設定
NETWORK-M2 / EMPDT1H1C2 | 無停電電源装置(UPS) | イートン (eaton-daitron.jp)
IPPの基本設定
Intelligent Power Protector | 無停電電源装置(UPS) | イートン (eaton-daitron.jp)
IPM2の基本設定
Intelligent Power Manager 2 | 無停電電源装置(UPS) | イートン (eaton-daitron.jp)

検証環境

Azure Stack HCI 2ノード
 ・Windows Server 2022 DataCenter ×2
 ・Virtual Machine ×6

Virtual Machine
 ・Windows Server 2022 ×5
 ・IPM2 ×1

Eaton UPS
 ・9PX700 + Network-M2 Ver 3.1.8

Eaton Software
 ・Intelligent Power Protector (IPP) Ver 1.72
 ・Intelligent Power Manager 2 (IPM2) Ver 2.6.0-1

シャットダウンフロー (停電時)

  1. 仮想マシン(IPM2以外)のシャットダウン
  2. IPM2停止
  3. クラスター停止
  4. ノード1とノード2をシャットダウン
  5. UPS シャットダウン

起動フロー (復電時)

起動は手動で操作して下さい

  1. UPS 起動 (デフォルト設定で、UPSは自動的にPower ONになります)
  2. 全ノード起動 (手動で電源ボタンON、もしくは、管理ポートを使用したリモート操作)
  3. クラスター開始 (開始されていれば不要)
  4. 仮想マシンの起動

シャットダウン シーケンス

本記事の解説では、UPSの電源障害後、下記のシーケンスに沿ってシャットダウンを行います。

1分経過:IPM2以外のVMをシャットダウン⇒IPM2をシャットダウン開始
5分経過:クラスタ停止コマンドを実行
6分経過:ノード1とノード2のシャットダウン開始
10分経過:UPSシャットダウン開始

UPS(Network-M2)のシャットダウン設定

Network-M2にて、UPS本体のシャットダウン設定を行います。

「保護」-「停電時のシャットダウン」画面にて、「電力供給戦略を選択する:部分的送電停止」に変更し、「実行基準」-「バッテリーが次の時間使用中の場合はシーケンスを開始する」にチェックを入れ、時間を「60秒」に変更したあと画面下部の「保存」をクリックします。

「保護」-「エージェントはシーケンスをシャットダウンします」画面にて、「ローカル」のOSシャットダウン時間(秒)を540に設定し、画面下部の「保存」をクリックします。

以上で、Network-M2でのUPS本体シャットダウン設定は終了しました。

仮想マシン(IPM2含む)のシャットダウン設定

IPM2にて、仮想マシン(IPM2含む)のシャットダウン設定を行います。

・ダイナミックグループ作成

IPM2のみのダイナミックグループとIPM2以外のダイナミックグループを作成します。
「アセット」-「ダイナミックグループ」画面から「作成」をクリックします。

以下のようにダイナミックグループのルールを編集し、「Save」をクリックします。

Name:VM_IPM2
Name 含む IPM

IPMのみのダイナミックグループが作成されました。

次に、IPM以外のVMを指定するダイナミックグループを作成します。
「アセット」-「ダイナミックグループ」画面から「作成」をクリックし、以下のようにダイナミックグループのルールを編集し、「Save」をクリックします。

Name:VM_except_IPM2
Name 含まれていません IPM

IPM2以外を指定したダイナミックグループが作成されます。

以上で、ダイナミックグループの作成は完了です。

次に、オートメーション設定を行います。

・オートメーション設定

「オートメーション」画面から「新規作成」-「オートメーション」をクリックします。

「自動化名」に任意の名前を入力し、「電力の問題」をクリックします。

「UPSのAC停電」を選択し、「次へ」をクリックします。

トリガーとするUPSを選択し、「終了」をクリックします。

アクションのトリガーが追加されました。

次に、待機アクションを追加します。「遅延タイム」をクリックします。

「待機時間」に60秒を指定し、「終了」をクリックします。

60秒待機するアクションが追加されました。

次に「初期トリガーの有効性チェック」をクリックします。

「自動化を終了します」にチェックを入れ、「終了」をクリックします。

初期トリガーの有効性確認アクションが追加されました。

次に、「ITアクション」をクリックします。

「VMアクション」を選択し、「次」をクリックします。

「ゲストをシャットダウン」にチェックを入れ、「タイムアウト」の値を180秒に変更します。その後、「次」をクリックします。

「動的」にチェックを入れ、「VM_except_IPM2」を選択し「次」をクリックします。

「タイムアウト(期限切れ)後」を120秒に変更し、「現在の自動化を続行します(デフォルトの動作)」にチェックを入れ、「終了」をクリックします。

IPM2以外のVMをシャットダウンするアクションが追加されます。

次に、「ITアクション」をクリックします。

「VMアクション」にチェックを入れ、「次」をクリックします。

「ゲストをシャットダウン」にチェックを入れ、「タイムアウト」の値を180秒に変更します。その後、「次」をクリックします。

「動的」にチェックを入れ、「VM_IPM2」を選択し「次」をクリックします。

「タイムアウト(期限切れ)後」を240秒に変更し、「現在の自動化を終了します」にチェックを入れ、「終了」をクリックします。

IPM2のみをシャットダウンするアクションが追加されます。

「Save」をクリックし、オートメーション設定を保存します。

作成されたオートメーションは初期状態だと無効化状態になっていますので、ボタンをクリックし有効化します。

以上で、IPM2での仮想マシン(IPM2含む)のシャットダウン設定が完了しました。

クラスタ停止とノード1のシャットダウン設定

ノード1Windows Serverにて、クラスタ停止とノード1のシャットダウン設定を行います。実施する内容は、以下の4項目です。

  1. クラスタ停止とノード1のシャットダウンを実行するPower Shell(.ps1ファイル)の作成
  2. ps1ファイルを実行するタスクスケジューラの作成
  3. タスクスケジューラを実行するスクリプト(.batファイル)の作成
  4. IPPで.batファイルを実行する設定

IPP.ps1を実行するまでに2 STEP経由します。
IPP .batファイル ⇒ タスクスケジューラ ⇒ .ps1ファイル実行

1.クラスタ停止とノード1のシャットダウンを実行するPower Shell(.ps1ファイル)の作成

任意のフォルダにps1ファイルを作成します。

ps1ファイル記載のコマンドは、以下の通りです。

Stop-Cluster -Force -name (クラスタ名)
Sleep 60
Shutdown -f -s -t 0

次に、作成したPowershellコマンドを実行するタスクスケジューラを作成します。

2.ps1ファイルを実行するタスクスケジューラの作成

〇全般タブ

ユーザがログオンしているかどうかにかかわらず実行する:ON

最上位の特権で実行する:ON

構成:Windows Server 2003,Windows XP,Windows 2000

〇トリガータブ(トリガーの設定は行いません。)

〇操作タブ

プログラム/スクリプト:C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

引数の追加:”C:\Script\Cluster_Host_Stop.ps1″(作成したスクリプトのファイルパス)

〇条件タブ

次の時間アイドル状態の場合のみタスクを開始する:OFF

コンピュータをAC電源で使用している場合のみタスクを開始する:OFF

タスクを実行するためにスリープを解除する:ON

〇設定タブ

デフォルト設定のまま

次に、作成したタスクスケジューラを実行するbatファイルを作成します。

3.タスクスケジューラを実行するスクリプト(.batファイル)の作成

「C:/Program Files (x86)/Eaton/IntelligentPowerProtector/configs/actions/」フォルダにbatファイルを作成します。

batファイル記載のコマンドは、以下の通りです。

schtasks.exe /run /tn "(作成したタスクスケジューラ名)"

次に、IPPのシャットダウン構成を編集します。

4.IPPで.batファイルを実行する設定

IPPの「設定」-「シャットダウン」-「シャットダウン構成の編集」にて、以下の設定を行います。

Remote sequence shutdown delay(秒):240

シャットダウンタイマー(秒):なし

シャットダウン継続時間(秒):120

シャットダウンのタイプ:スクリプト

シャットダウンスクリプト:C:/Program Files (x86)/Eaton/IntelligentPowerProtector/configs/actions/task_start.bat

これで、クラスタの停止とノード1Windows Serverのシャットダウン設定は終了しました。

ノード2のシャットダウン設定

ノード2のWindows Serverでは、IPPの設定のみを行います。

・IPPのシャットダウン設定
IPPの「設定」-「シャットダウン」-「シャットダウン構成の編集」にて、以下の設定を行います。

Remote sequence shutdown delay(秒):300

シャットダウンタイマー(秒):なし

シャットダウン継続時間(秒):120

シャットダウンのタイプ:シャットダウン

これで、ノード2Windows Serverのシャットダウン設定は終了しました。

シャットダウンテスト

UPSへ給電している入力電源ケーブルを抜き、電源障害を発生させます。60秒経過後にIPM2以外の仮想マシンのシャットダウン処理が実行され、その後IPM2のシャットダウン処理が実行されます。

オートメーション設定のとおり、IPM2以外の仮想マシンのシャットダウン⇒IPM2のシャットダウンの順で実行されました。

続いて、UPSの電源障害から5分経過後、ノード1にてクラスタの停止処理が実行されました。

その後、UPSの電源障害から6分経過後、ノード1とノード2のシャットダウン処理が開始されました。

〇ノード1

〇ノード2

その後、UPSの電源障害から10分後にUPS本体のシャットダウン処理が開始され、Network-M2のPING応答が停止しました。

以上で、仮想マシンの停止→クラスタの停止→ノード2台の停止→UPSの停止まで行うことができました。

起動後のクラスタ開始と仮想マシンの起動

ノード1とノード2を起動し、任意のノードにログインします。

「フェールオーバークラスターマネージャー」を起動し、クラスター名を右クリック⇒「クラスターの起動」をクリックします。

クラスターの起動が終わると、クラスター名配下に「役割」などの項目が表示されます。「役割」をクリックし、起動したい仮想マシンを選択後に右クリックして「開始」をクリックします。

 

仮想マシンが起動しました。

以上で、復電後のクラスタの起動と仮想マシンの起動が完了しました。

おわりに

X(旧Twitter)とYouTubeでEaton UPSの情報を配信しております。よろしくお願い致します。

X(旧Twitter): https://twitter.com/eaton_daitron

YouTube : https://www.youtube.com/user/EatonDaito

ページの先頭へ