ブログ内検索
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
シャットダウンフロー (停電時)
- 仮想マシン(IPM2以外)のシャットダウン
- IPM2停止
- クラスター停止
- ノード1とノード2をシャットダウン
- UPS シャットダウン
起動フロー (復電時)
起動は手動で操作して下さい
- UPS 起動 (デフォルト設定で、UPSは自動的にPower ONになります)
- 全ノード起動 (手動で電源ボタンON、もしくは、管理ポートを使用したリモート操作)
- クラスター開始 (開始されていれば不要)
- 仮想マシンの起動
シャットダウン シーケンス
本記事の解説では、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のシャットダウン設定
ノード1のWindows Serverにて、クラスタ停止とノード1のシャットダウン設定を行います。実施する内容は、以下の4項目です。
- クラスタ停止とノード1のシャットダウンを実行するPower Shell(.ps1ファイル)の作成
- ps1ファイルを実行するタスクスケジューラの作成
- タスクスケジューラを実行するスクリプト(.batファイル)の作成
- 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
- カテゴリー


