APC UPS RS550SをASUSTOR AS3304T v2 NASにつなげてマスターにし、ubuntuサーバをスレーブにする(NUT)

ASUSTORのNAS、AS3304T v2には当然のようにネットワークUPSの設定はあって、ネットワーク経由で他のNASやサーバを停電時などに安全にシャットダウンさせることができる。できるのだが、やり方とか設定方法とかの記述が一切ない。ヘルプにもマニュアルにも無くて、どうすればいいのだ?!という感じなのだが、ECOFLOW River3 PlusのUPS機能はさらにひどくて待てど暮せど実装されそうに無いので重い腰を上げて手探りでやってみたのの、メモ。

とにかく情報が少なすぎる

やってる人が少ないのか、そもそもBLOGとかに公開している人が少ないのかASUSTORユーザが少ないのか。多分全部(笑)かとは思うが、結構試行錯誤が必要だった。

まず、ASUSTOR AS3304T v2がどういう仕組でやってるんだろう?ということから調べんといかんのだけど、色々ググっていくとどうもNUTみたいだということまでは分かった。ので、SSHでアクセスして構造を確認。

ちなみに、ASUSTORへのSSH接続は管理者権限のユーザIDとパスワードでアクセスで公開鍵などは特に設定していないが、2段階認証をONにしていればパスワードの後にGoogle Authenticatorでの認証も加わるので、たまに使うぐらいならそれはそれで良いかと思う

/etc/ups/

というディレクトリ発見。中身は

ups.conf, upsd.users, upssched-cmd, upsd.conf, upsmon.conf, upssched.conf

はい、NUT確定。ユーザーズマニュアルのNASのところに書いてある「ユーザー名はadminでパスワードは11111です」ってのはNUTのことってことだ。まぁ文言からなんとなく想像はついたが、これでハッキリしたので、ubuntuサーバの方はNUT-clientの設定をすればいい、ということもハッキリした。

NUT Master(ASUSTOR NAS)の設定値を調べる

すでにSSH接続しているのでそのまま/etc/ups/の中の設定を確認する。

/etc/ups/ups.conf

ふむ。「asustor」がユーザネームね。・・・って最低限そんぐらいマニュアルに書いとけよっ!

/etc/ups/upsd.users

念の為に確認してみたら、パスワードがマニュアルに書いてある「11111」じゃなくて一桁少ない「1111」じゃねーか!むぅ。

で普通ならこのファイルに

[monslave]
password = [パスワード]
upsmon slave

とか書きたして、スレーブのマシンに記述すればよさそ?・・・って、ひっさびさにviで編集しててふと気がついた。この設定ってASUSTORのこの画面のチェックボックス

「ネットワークUPSサポートを有効にする」のON/OFFで幾らviで修正したとしても元にもどっちまうんじゃね?

viで書き足したあと、「ネットワークUPSサポートを有効にする」をOFFにしてからONにし直してみたら・・・。はい。修正前に戻ってました。修正せずにマニュアル通りに「ユーザ名はadmin、パスワードは11111」(※マニュアルは間違っていて設定でのパスワードは「1111」だが)で使えってことね。わかった。とりあえず言う通りにする。(※ 「ネットワークUPSサポートを有効にする」を今後ON/OFFしないようにしてupsd.usersを編集するほうが安全かとは思います。が、ADMアップデートのときとかにまたデフォルトに戻る可能性はあるのでそこは注意)

あとはポートか。

/etc/ups/upsd.conf

ふむ。「3493」っすね。

ASUSTOR AS3304T v2での確認はこれで終わりというか記述を直してもむだそうなので確認だけでSSHログアウトする。

ubuntuサーバのNUTスレーブ設定

APCを使ってる場合、シャットダウン対象が1台だけとか複数台でもapcupsdで簡単なんだけど、先の通りAPC UPSを繋いだASUSTOR NASがNUTなのでとにかくubuntuにNUTを入れる。

$ sudo apt install nut

/etc/nut/にnut.conf ups.conf upsd.conf upsd.users upsmon.conf upssched.confが出来てるので、とりあえずnut.conf upsmon.conf の2つを編集(念の為編集前にコピー取っとく)。

naut.conf

MODE=netclient

upsmon.cof

MONITOR asustor@[ASUSTOR NUSのIPアドレス]:3493 1 admin 1111 master

※この行を書くためだけにあれこれやってたが、やっと解決。ASUSTORではこうしないとうまくいかんかった。

nut-clientを再起動

$ sudo service nut-client restart

nut-clientのステータスを確認。activeが確認できれば動いているが、一応他のエラーメッセージがないかどうかも確認。エラーが出てればじっくり眺めて各所修正しエラーが出ないようにする。

$ service nut-client status

↑こんな感じね。最後にupscコマンドでサーバーと通信テストしてUPSデータが見えるか確認。

$ upsc asustor@[ASUSTOR NASのIPアドレス]

↑こんなのね。

ふう。。。

接続が確認できたら、実際の細かい設定するのだけれど、こちらのブログがよくまとまっているので(感謝)こちらを参照して設定すると良いかと(まるなげ)。

UPS と NAS, Linux サーバを連携させる

設定し終わったら、実際にシャットダウンになるか、テストするとよろし。テスト。。。OK。無事連携してシャットダウンされたのをを確認。

てことで

↑が待ってるだけ馬鹿らしくなってきた(2025.2.27時点でもまだComing Soon)ので、使ってたAPC UPSを引っ張り出してきてECOFLOW River3 plusの後ろにつなぎ、APC UPSにNASとubuntuサーバーをつなげやした。River3 Plusは電力放出を20%までに制限し、停電したらRiver3 Plusのバッテリーが20%までは動作、20%になったらAPC UPSのバッテリーに切り替わり、NASとubuntサーバがシャットダウンするというふうにした。これだと停電時以外にも出先からシャットダウンしたいときにはRiver3 Plusの電源をリモートでOFFにすればAPC UPSに即座に切り替わりNASとubuntuサーバがシャットダウンされます。(つか出先からACをOFFにするだけなら別にRiver3 Plusでなくても良いのだけれど、ねぇ(苦笑))

ほんとは、River3 plusだけでこんな感じにできればよかったんだけどねぇ。いつになることやら。。。

One thought on “APC UPS RS550SをASUSTOR AS3304T v2 NASにつなげてマスターにし、ubuntuサーバをスレーブにする(NUT)”

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

コメントは日本語で入力してください。(スパム対策)

CAPTCHA