LoginSignup
0
1

More than 1 year has passed since last update.

VMware ESXi7 スタンドアローンでUPS連動

Posted at

VMware ESXi7 スタンドアローンでUPS連動

前提

  • お金がない

要件

  • 電源喪失時に稼働している仮想環境上のシステム全体をクリーンシャットダウンしたい

環境

  • 対象システムの物理マシンは無停電電源装置(UPS)から給電している
  • 物理マシン上には無料で使える仮想化ハイパーバイザーVMware ESXi 7.0 Update 2(ESXiホスト)が稼働している
  • UPSは電源状況をUSB経由で通知する機能を有している
  • ESXiホストのUSBパススルー機能を用いてゲスト仮想マシンがUPSからの通知を受信できる
    (仮想環境関係ないので詳しくは『apcupsd』の設定記事を参照のこと)
  • 全てのゲスト仮想マシンにはVMWare Toolsがインストールされており、ESXiホストからのシャットダウン通知を受信できる

電源異常検出時のトリガー

ゲスト仮想マシンlinux-1は、UPSからの電源喪失通知を受けて下記スクリプトを実行する。

#!/bin/sh
sync
ssh root@192.168.1.2 poweroff
  • 電源喪失状態でもssh通信できるようにvSwitchを構成しておく:
    • 192.168.1.2 → 管理ネットワーク用ポートグループManagement Networkに属するVMkernelポートに割り当てられたIPアドレス
    • ゲスト仮想マシンlinux-1はポートグループVM Network 1に属している
    • Management NetworkVM Network 1ポートグループが同一vSwitchトポロジ内に属している
  • ゲスト仮想マシンlinux-1からESXiホストにsshログインできるように設定しておく:
    1. linux-1のスクリプト実行ユーザーで鍵ペアを作成
      スクリプト実行ユーザーのホームディレクトリがない場合はssh -i <id_rsaファイル>を活用
    2. VMware Host Client 上のナビゲータ>ホスト>アクション>サービス>SSHを有効化
    3. ESXiホストの/etc/ssh/keys-root/authorized_keysに公開鍵を追加

poweroffの挙動

ゲスト仮想マシンに対して『ナビゲータ>ホスト>管理>システム>自動起動>停止アクション』を実行した後、『停止遅延待機』に指定された時間だけ、『シャットダウン』にしておく(『パワーオフ』だとクリーンシャットダウンにならない)。

項目
有効 はい
起動遅延時間 0s
停止遅延時間 120s
停止アクション シャットダウン
ハートビートを待機 いいえ

電源回復後の挙動

  1. UPSから給電が再開
  2. BIOSの通電時自動起動する設定に従って物理マシンが起動
  3. ESXiが起動
  4. 各ゲスト仮想マシンが『自動起動』設定の内容に従ってお行儀よく起動

以上

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1