はい、可能です。同様のセットアップの詳細を以下に示します。
ハードウェア構成:
USB経由でESXi 5.1ホストに接続されたAPC Smart-UPS 1500。このESXiホストで実行されているLinux仮想マシン。UPSは、ESXi USBパススルーオプションを使用してこのVMに接続されます。
ソフトウェア構成:
VMで実行されているNUT(ネットワークUPSツール)マスター、およびESXiホストで実行されているネイティブESXi NUTスレーブ。
シャットダウンロジック:
VMは、USBを介したUPSとの通信を担当するUPSドライバーusbhid-upsを実行しています。UPSD USBHIDアップドライバとモニターUPSの状態を介してUPSに処理コネクト。upsmonに同じマシンが接続する上で実行されているマスター・プロセスUPSDとを開始シャットダウン。ESXiホストは、内部ネットワークを介して同じVM upsdにも接続するupsmonの2番目のインスタンスを実行しています。
停電時には、次のシーケンスが発生します。
- usbhid-ups経由のUPSは、停電についてupsdに報告します。
- (オプション、低バッテリーの代わりに数分でシャットダウンしたい場合に便利です)VMのupsmonはupsched 5 minutesタイマーを開始します。電源が回復すると、タイマーは中止されます。
- タイマーが作動するか、UPSがバッテリー低下を報告すると、upsmonはFSD(強制シャットダウン)フラグをupsdに上げます。
- スタンドアロンのNUT構成では、FSDフラグがマシンをシャットダウンします。ただし、ここでは、shutdownコマンドは、「今すぐシャットダウンする必要がありますが、代わりにホストを待機しています」などの単純なログに置き換えられます。そして何もしません。
- FSDフラグは、ESXiホストのシャットダウンを開始するESXi upsmonによっても読み取られます。
- ESXiホストは、すべての仮想マシンを1つずつシャットダウンします。重要なことは、upsdを実行するVMを最後にシャットダウンする必要があることです(ESXiの起動/シャットダウンシーケンス構成を使用)。
- 重要:このVMにはvmwareツールがインストールされている必要があります。ホストからゲストシャットダウンコマンドを受信すると、vmware-toolsシャットダウンスクリプトが開始されます。このスクリプトは、/ etc / killpowerフラグを確認します。フラグがない場合、何もしません(これは、UPSイベントではなく、ユーザーがLinuxシャットダウンをアクティブ化したことを意味します)。ただし、フラグが存在する場合(FSDがアクティブ)、このスクリプトはUPSに遅延パワーダウンコマンドを送信します(3分以内など)。
- vmware-toolsスクリプトを実行した後、ゲストVMがシャットダウンします。
- ESXiは、最後のVMの電源オフ状態を確認して自動的にダウンします(現在実行中の他のマシンがないため、約1分かかります)。
- 残り2分で、UPSは電源を切ります。
- 電源が復旧すると、ESXiが起動し、すべてのVMの電源が入ります。UPS監視マシンを最初に起動する必要があります(シャットダウン順序と同じ構成)。
ダウンロード:
Linux用のNUTはパッケージからインストールできます。
ESXiサーバーのネイティブNUTクライアントは、次のページの最後のリンクを使用してダウンロードできます:http : //www.networkupstools.org/download.html
いくつかのスクリプトとconfファイルはここにあります(変更された行のみが表示されます):http : //pastebin.com/KkEeanK1
ノート:
もちろん、詳細がありますが、これを正常に機能させるのに時間がかかりました。しかし、今では非常にうまく機能しています。このシステムは、内部から監視VMをシャットダウンした場合(vmware-toolsスクリプトが実行されていない場合)、またはVMシャットダウンを開始したESXiホストである場合(/ etc / killpowerフラグがないため、UPSがオフロードしない場合)、またはESXiシャットダウンの場合(同じ)。唯一重要なのは、ホストの起動後にこのVMをできるだけ早く実行し、最後にシャットダウンすることです(したがって、ホストのダウン時間は予測可能です-上記のように、私にとっては約1分、念のためにさらに2分予約します)。
私のUPS監視Linux VMは、バックアップストレージ用のSamba / NFS共有サーバー、VM用のNAT / DHCPサーバー、およびその他の軽量サービスでもあります。アイドル状態の場合、約22MHzのESXi CPUシェアと約10MBのアクティブRAMが必要です。NUTを使用しているため、必要に応じて同じUPSからより多くのデバイスに電力を供給でき、すべてのデバイスを正常にシャットダウンできます。PowerChuteや高価なNetwork Monitor Cardは必要ありません。