CyberPowerはUPSの管理ツールを無料で配布してるから、apcupsdとかNUTは使わない。
Linuxで動く管理ツールは次の二種類。
- PowerPanel Business
- PowerPanel Linux(簡易版)
BusinessはWebのコントロールパネルから操作できるので良いなと思ったけど、VMの中からProxmox(ホストOS)をシャットダウン出来ないっぽいのでPowerPanel Linux(簡易版)を使う。
PowerPanel Linuxの中身はpwrstatというコマンドとpwrstatdというデーモン。
インストール
公式ではDebian系(.deb)とRHEL系(.rpm)、汎用の.tarが配布されている。
.tarに入ってるinstall.sh
はArchLinuxだと上手く動かなかった。(rc.dにファイル置こうとしてたよう)
探してみるとArchWikiに書いてあった。AURでpowerpanel
という名前でパッケージが配布されてる。
$ wget https://aur.archlinux.org/cgit/aur.git/snapshot/powerpanel.tar.gz $ tar xzf powerpanel.tar.gz $ cd powerpanel/ $ makepkg -si
インストールが終わったらsystemdのサービスを動かす。
# systemctl enable pwrstatd # systemctl start pwrstatd
pwrstatdを動かすとUPSからピッってビープ音がなります。
設定
詳しくはArchWIKIと設定ファイル見て下さい。
とりあえずhibernateとメール通知をoffにしました。
Proxmoxをシャットダウン
pwrstatdはシャットダウン条件が揃った時/etc/powerpanel/shutdown.sh
を実行するみたいです。
中身はsystemctl poweroff
Proxmoxへpoweroff
コマンドを送る方法ですが、無難にsshすることにしました。
sshするときにパスワードを要求されると困るのでPublic keyの設定をする。(pwrstatd
はRootで動いているので/root/.ssh
で作業する)
# mkdir /root/.ssh # ssh-keygen -t ed25519 -C ""
/root/.ssh/config
Host pve HostName 10.11.12.13 //ProxmoxのIP User root IdentityFile /root/.ssh/id_ed25519
これでssh pve
と打つだけでProxmoxにSSH接続できるように。一度接続してFingerprintの確認を済ませておく。
先程のshutdown.sh
をいじる
#!/bin/bash # systemctl poweroff ssh pve "poweroff"
これでshutdown.sh
が実行されProxmoxがシャットダウンされる。