OMRON製のUPS自動シャットダウンソフトPower Act Pro(以下PowerAct)で、停電時に、QNAPのNASを「SSH経由で」自動シャットダウンさせる場合のメモです。自動シャットダウンで一番簡単なのは、UPSとNASをUSB接続し、NASの標準機能を使う方法ですが、UPSのUSB端子は1つしかなく、このUSBはPowerActを動かしているPCと接続しているため、今回はネットワーク経由でシャットダウンを行います。
以前うまくいかず諦めていたのですが、最近改めて確認するとOMRONさんのブログ
で別機種での事例が紹介されていたのを参考に、ようやく実現しました。
環境
- UPS: OMRON BW55T
- NAS: QNAP TS-431P QTS 5.0.1.2425 Build 20230609
- 自動シャットダウンソフト: OMRON Power Act Pro Ver 5.16 (Windows版)
- NASと同じネットワーク上のPCにインストールされている
- PowerAct自体の設定は完了し、UPSとの通信が正常に行われている、ものとします
NASの設定
- シャットダウン用に専用のユーザーアカウントを作成し、SSH接続を許可する(上記OMRONさんの記事と同じです)
PowerActの設定
- PowerActのマスターにログインし、環境設定→シャットダウンパラメータ→スクリプトシャットダウン→「追加」
- 各項目を入力
OS Linux プロトコル SSH_V2 IPアドレス シャットダウンさせたいNASのIPアドレス 接続機器名 適当な名称 一般ユーザID シャットダウン用に作成したユーザー名 一般ユーザパスワード シャットダウン用に作成したユーザーのパスワード 管理者ユーザID 空欄にする 管理者ユーザパスワード 空欄にする リトライ回数 0(初期値)※この項目は未検証 タイムアウト 60(初期値)※この項目は未検証 コマンドライン qcli -l user=(一般ユーザID) pw=(一般ユーザパスワード) saveauthsid=yes;qcli_admin -d - シャットダウンのテストを行う。スクリプトシミュレーション「テスト」を押すと、設定内容に問題がない場合は「合格」が表示され、そのうえでコマンドラインが適切な場合、NASがシャットダウンされる。
参考までに以前ハマってた点
- NASのシャットダウンコマンド
- poweroffコマンドで試していたため、パスワード認証の扱いに難儀(sudoersとかSSH_ASKPASSとか深入りできず)→qcli_adminコマンドでOK
- PowerActの設定
- 管理者ユーザID/管理者ユーザパスワードに入力していたため「テスト」を押すと「不合格」となっていた→管理者は空欄で、一般ユーザのみに入れればOK