ブログ内検索
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
- カテゴリー