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

【IPM】 VxRailを停電時にシャットダウンする

このブログより新しいVxRailブログがあります。下記リンク先に移動して、最新のシャットダウンソリューションをご確認願います。

シャットダウン for VxRail by IPM 1.67


VxRailのシャットダウンは、通常、VxRail Managerの[シャットダウンクラスター]を実行します。こちらを利用すれば、数クリックでシャットダウンが完了します。
しかしながら、停電時にこのオペレーションを行う事ができません。[シャットダウンクラスター]を使用しない場合のシャットダウン手順を[ Dell EMC VxRail Shutdown ]等のキーワードでWeb検索しましたが、ナレッジベースしか情報が得られません。

【重要】新ライセンス販売のお知らせ

2020年9月、IPMの新ライセンス(Optimize License)を販売しました。
テクニカルブログ内の文章および画像の旧ライセンス(Silver License、Gold License)は、全てOptimize Licenseに置き換えてお読み下さい。よろしくお願い致します。

はじめに

このブログの手順は、VxRailの正規シャットダウン手順ではなく、障害発生時の緊急避難的シャットダウンであることをご理解ください。また、拡張バッテリーを増設して、UPSのバッテリー運転時間を長くする事を推奨致します。

※ブログ公開にあたり検証確認をおこなっておりますが、データ等の損失責任を負いかねますのでご了承下さい。専用のアプリケーションで定期的にバックアップの取得をお願いします。

前提条件

  • ESXi全ノードで[ESXi Shell]と[SSH]が有効化されていること
  • VxRAILの外部にWindows Server(物理,仮想問わず)が存在すること
  • Eaton UPS + Eaton Network Card + Eaton IPM with Silver License以上
  • VxRailシャットダウン用スクリプトを準備すること

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

  1. ゲスト仮想マシン グループ1 シャットダウン
  2. ゲスト仮想マシン グループ2 シャットダウン
  3. HAとDRSを無効化
  4. 管理仮想マシンをESXi Node 1にvMotion
  5. データ再同期(Re-sync)の有無を確認
  6. EMC Secure Remote Support (ESRS) シャットダウン「存在する場合」
  7. vRealize Log Insight シャットダウン
  8. VxRail Manager シャットダウン
  9. vCenter Server Platform Services Controller (PSC) シャットダウン
  10. vCenter Server Appliance (vCSA) シャットダウン
  11. vSANの状態確認
  12. ESXi全ノードをNo Actionのオプション付きでメンテナンスモードに移行
  13. ESXi全ノード シャットダウン
  14. UPS シャットダウン

※ 管理仮想マシン=(vCSA, PSC, VxRail Manager, Log Insight, ESRS)の5台

ゲスト仮想マシンのシャットダウンは、Eaton IPMの機能[ゲストシャットダウン]で実行します。例として2グループにしていますが、1グループでも5グループでも構いません。
上記以降のタスク(3~13)は、全てシャットダウン用スクリプトで実行します。
UPSのシャットダウンは、Network Cardで実行します。

検証環境

VxRail 4.7.110

  • Dell EMC VxRail V470F x4node
    • Hypervisor : VMware ESXi 6.7.0
    • VM vCSA 6.7.0
    • VM PSC
    • VM VxRail Manager
    • VM vRealize Log Insight
    • VM CentOS 7 x4

Windows Server

  • Dell EMC PowerEdge R340 x1
    • Windows Server 2016
    • Eaton IPM 1.66 with Silver License
    • Open JDK 1.8
    • Windows PowerShell
    • VMware PowerCLI
    • OpenSSH

UPS(無停電電源装置)

  • Eaton 9PX3000RT UPS + Eaton Network-MS Card x1set

環境スクリーンショット

vCenter

Node01

Node02

Node03

Node04

シャットダウン設定

ここから、実際の設定手順を解説します。
長くなるため、簡易な箇所・他サイトで入手可能な情報・繰り返しのオペレーションになる箇所は、手順を省略しております。

外部Windows Serverにシャットダウン用モジュール セットアップ

Open JDK 1.8 インストール

手順省略します

Eaton IPM 1.66 インストール

手順省略します

Windows PowerShell インストール

手順省略します

VMware PowerCLI インストール

手順省略します

OpenSSH インストール

手順省略します

VxRail シャットダウンスクリプト

シャットダウンフロー 3~12を実行するスクリプトを準備ください

ライセンス適用

シルバーまたはゴールドライセンスにアップグレードするには、「プロダクトキー」が必要となります。
弊社から届いた「プロモーションコード」をご準備の上、下記URLの手順に従って「プロダクトキー」を入手して下さい。

シルバーライセンス、ゴールドライセンスのプロダクトキー取得手順

IPM 初期設定

設定 > システム > 更新設定の編集

 [間隔なし]に変更します

設定 > システム > モジュール設定の編集

 シャットダウン、インフラストラクチャーコネクター、冗長性の3か所にチェックを入れて[有効]にします

インフラストラクチャーコネクター

設定 > インフラストラクチャーコネクター > コネクターの追加

プルダウンの中から、VMware vCenterを選択し、vCenterのIPアドレス、ユーザー名、パスワードを入力して保存します。

vCenterコネクターが追加されました

ノードリストに戻ると、vCenter, Cluster, ESXi, Virtual Machineが追加されています。

UPSを選択し、[ノードアクセスパラメーターの設定]を押します。ネットワークカードにログインするユーザー名とパスワードを入力して下さい。

[構成ポリシー]と[イベントルール]と[アクション]の作成手順

[構成ポリシー]、[イベントルール]、[アクション]の作成手順は、こちらのテクニカルブログにて解説しております。

ここから先は、最低限の画像のみを掲載しています。作成手順をよく読みながら設定を行ってください。

Guest VM Group 1 作成

構成ポリシー

管理 > 構成ポリシー > 新しいポリシーを作成

構成ポリシーネーム:任意。ただし、半角英数のみで作成のこと。全角NG。
ターゲットノード:編集ボタンを押して、グループ1に所属させたい仮想マシンを右側に移動します。
クラスリスト:設定しません。

保存します。

Guest VM Group 2 作成

構成ポリシー

同じ手順でグループ2に仮想マシンを所属させます。

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

※画面スクロールを減らすために、あえてここでシャットダウン シーケンスを掲載しています。

UPSが3分間バッテリー運転すると、シャットダウンシーケンスが開始する設定にしています。
 3分経過前に復電すると、何も実行されません。
 3分経過後に復電しても、UPSのシャットダウンまで全てのアクションが実行されます。

バッテリー運転開始を起点として、

3分後:Guest VM Group 1 シャットダウン開始。シャットダウン終了まで最大60秒と想定
4分後:Guest VM Group 2 シャットダウン開始。シャットダウン終了まで最大60秒と想定
5分後:VxRail シャットダウンスクリプト実行。スクリプト終了まで最大900秒(15分)と想定
18分後:UPSシャットダウン開始

※タイマーは環境・スクリプトによって大きく異なります。環境に適切なタイマーを設定して下さい。
※外部Windows Serverは意図的にシャットダウンしていません。シャットダウンが必要な場合、スクリプトの最後にシャットダウンコマンドを追記して下さい。

Guest VM Group 1 シャットダウン設定

1番最初に実行したいアクションには、[構成ポリシー]と[イベントルール]と[アクション]を作成します。そして3つを関連付けます。

構成ポリシー

管理 > 構成ポリシー > 新しいポリシーを作成

[パワーソース]のUPSが[タイマー]の秒数バッテリー運転したら、[ターゲットノード]がシャットダウン基準に到達するポリシーを作成します。
このポリシーはトリガーの役割しかないため、ノードリストの中からどこのグループにも所属していない任意の1個を選択(UPSはNG)すれば問題ありません。選択で迷うようであれば、vCSAで良いでしょう。

※ここで選択した[ターゲットノード]は、次に作成するイベントルールの[ソース]と一致する必要があります。

イベントルール

設定 > アクション/イベント > イベントルールの編集

ソースのノード(=構成ポリシーのターゲットノード)がシャットダウン基準に到達した時、イベントが発生するようにイベントを新規作成します。

アクション

設定 > アクション/イベント > 新しいアクションの作成

Guest VM Group 1に所属する仮想マシンをシャットダウンするアクションを作成します。

イベントリスト:上記で新規作成したイベントを選択して、イベントとアクションを関連付けます。

シャットダウンゲストタイムアウトは、ゲストのシャットダウン実行からxx秒後にパワーオフを実行します。シャットダウンを実行しても(フリーズ等で)落ちなかった時のためのソリューションです。短すぎるとシャットダウン終了を待たずにパワーオフしてしまいます。使用しない場合、0秒を設定します。

イベント連鎖 作成

イベントルール

設定 > アクション/イベント > イベントルールの編集

最初のイベントが発生した後、60秒毎にイベントが発生するようにイベントルールを新規作成します。1分後と2分後にイベントを発生させたいので、ここでは2連鎖にしています。本番環境は少し多めに作成しておくことを推奨します。

<ポイント>

  • イベント作成時、イベントのコピーは使用しない。常に新規作成する。
  • ルールトリガー(赤線)は、1つ前のイベントを選択。
  • ルールソース(青線)は、構成ポリシーのターゲットノードを選択。
  • 有効期間(緑線)は、イベントの連鎖間隔。※最大値300
  • 関連するアクションに[通知]と[イベントログ]を追加する。
  • イベント作成後、最下部の [OK] または [適用] を押す。

1分後に発生するイベント

2分後に発生するイベント

Guest VM Group 2 シャットダウン設定

イベント連鎖で[イベントルール]は作成したので、[アクション]を作成します。

アクション

設定 > アクション/イベント > 新しいアクションの作成

Guest VM Group 2に所属する仮想マシンをシャットダウンするアクションを新規作成します。

イベントリスト: イベント連鎖で作成したイベントの中から1分後イベントを選択して、イベントとアクションを関連付けます。

VxRail シャットダウンスクリプト 実行設定

スクリプト

Windows Serverの任意フォルダにVxRail シャットダウンスクリプトを配置します。

タスクスケジューラ

VxRail シャットダウンスクリプトを実行するタスクを作成します。

【重要】構成:Windows Server 2003、XP、2000に必ず設定して下さい

<全般>

名前:任意
ユーザーがログオンしているかどうかにかかわらず実行する:選択
最上位の特権で実行する:有効
構成:Windows Server 2003、XP、2000

<トリガー>

編集しません

<操作>

操作:プログラムの開始
プログラム/スクリプト:任意
引数の追加:任意

 

<条件>

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

<設定>

編集しません

[OK]を押すと、タスク スケジューラ ライブラリにタスクが1個追加されます

アクション

IPMで、タスクスケジューラを実行するアクションを作成します。

アクション名:任意
イベントリスト: イベント連鎖で作成したイベントの中から2分後イベントを選択して、イベントとアクションを関連付けます。
アクションタイプ:コマンド

コマンド

schtasks.exe /run /tn "タスクスケジューラの名前"

UPS シャットダウン設定

Network-MSの場合

UPS > シャットダウンパラメーター

バッテリーモードになった後、3min経過したらシャットダウンシーケンスに移行
シャットダウンシーケンスになった後、900秒待機してからシャットダウンする:有効

シャットダウンテスト

最初に、各アクションが想定した動作をするか確認します。アクションを選択し、[選択したアクションのテスト]を押すとそのアクションが動作します。
各アクションの正常動作を確認すると同時に、各アクションの所要時間を計測し、必要に応じて関連付けるイベント(アクションのイベントリスト)を変更します。アクションが実行されるタイミングを早くしたり遅くしたりできます。

次に、UPSのフロントパネル(またはネットワークカードのホーム画面)で停電時のバッテリーランタイムを確認します。バッテリーランタイムがシャットダウン処理時間より短い場合、バッテリーランタイムを延長する必要があります。拡張バッテリーをご購入願います。

最後に、UPSの入力電源ケーブルを抜いてバッテリー運転にします。

起動フロー (復電時)

全て手動で操作して下さい

  1. UPSはAC電源回復と同時にオンラインモードになります (デフォルト設定の場合)
  2. 電源ボタンを押してVxRail全ノードを起動します (iDRAC経由のパワーオンも可)
  3. ESXiにWebブラウザでログインして、全ノードがメンテナンスモードになっている事を確認します
  4. ノードの降順にメンテナンスモードを解除します
  5. vCenter Server Platform Services Controller (PSC)をパワーオン
  6. 1~2分後、vCenter Server Appliance (vCSA) をパワーオン
  7. PSCとvCSAの起動完了を待ちます
  8. vCenterにログインして、vSANの健全性を確認します
  9. VxRail Manager, vRealize Log Insight, ESRSをパワーオン
  10. 起動完了を待ちます
  11. HAとDRSを「有効」にします
  12. ゲスト仮想マシンを起動します

※ 外部Windows Serverをシャットダウンしていれば、VxRailより先にパワーオンします

おわりに

本検証にあたり、検証環境を提供して頂きましたDell様に心より御礼申し上げます。Dell EMC VxRailの電源保護は、Eaton UPSとEaton IPMを提案させて頂きます。

ページの先頭へ