UPSで自動シャットダウン
2016年12月26日
停電したらサーバーをシャットダウンするようにした。
UPSにただ繋いでるだけだったので。
1.KVMの各サーバーをシャットダウンするようにする。
libvirtに仮想マシンを追加して管理できるようにして、
1 |
virsh define /etc/libvirt/qemu/file-server.xml |
1 2 3 4 5 6 |
# virsh list --all Id 名前 状態 ---------------------------------------------------- 1 Windows01 実行中 2 web-server 実行中 3 file-server 実行中 |
/etc/sysconfig/libvirt-guestsにシャットダウンの設定をする。
1 2 |
ON_SHUTDOWN=shutdown SHUTDOWN_TIMEOUT=180 # ゲストのシャットダウンが終わるまで、サーバーのシャットダウンを待つ時間 |
2.APCの管理ツールapcupsdをインストールする。
http://apcupsd.com/より最新のモジュールをダウンロードして、make
1 2 3 4 |
tar xvf apcupsd-3.14.14.tar.gz ./configure --enable-usb --with-upstype=usb --with-upscable=usb make make install |
/etc/apcupsd/apcupsd.confを修正
1 2 3 4 5 6 |
UPSCABLE usb UPSTYPE usb DEVICE /dev/usb/hiddev0 # DEVICEは/dev/usbにでてくるUPSを繋いだところ MINUTES 10 # バッテリー残量がこの時間(分)になったらシャットダウンする。 TIMEOUT 0 # バッテリー駆動になってこの秒数が来たらシャットダウンする。0は無効 # 通常は0。テスト時は60とかにしてテストする。 |
apcupsdを開始
1 |
service apcupsd start |
apcaccess statusでステータスが見れる。
—
試しにUPSの電源を抜いてみる。
STATUS : ONBATTになって、時間が来たらシャットダウンされた。(o^-‘)b グッ!
APC ES500は、停電が多いところに住んでた時に買った10年ものなのでバッテリー交換しないとなぁ。
—
追記(2017.2.3)
apcupsd.confの修正にTIMEOUTとコメントを追記