先日QNAPのNUTを利用してクライアントに商用電源の状態を共有していたのですが、QNAPで送信出来るクライアントの数が6個までしか設定できません。
直接/etc/config/ups/upsd.confを編集してもWEB GUIから制御できなかったりしたので、raspiをnutdにしてQNAPをクライアントに変更します。
qanpの設定を見比べながら設定していきます。
まず、UPSをraspiに接続してlogを見てみます。
[103417.777158] usb 1-1.5: new full-speed USB device number 4 using dwc_otg [103417.910716] usb 1-1.5: New USB device found, idVendor=051d, idProduct=0003 [103417.910735] usb 1-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [103417.910746] usb 1-1.5: Product: Smart-UPS 750 FW:UPS 08.3 / ID=18 [103417.910758] usb 1-1.5: Manufacturer: American Power Conversion [103417.910769] usb 1-1.5: SerialNumber: AS1317214978 [103417.941831] hid-generic 0003:051D:0003.0001: hiddev96,hidraw0: USB HID v1.00 Device [American Power Conversion Smart-UPS 750 FW:UPS 08.3 / ID=18] on usb-3f980000.usb-1.5/input0
USBの状態も確認しておく
$ lsusb Bus 001 Device 004: ID 051d:0003 American Power Conversion UPS
$ sudo apt-get updatesudo apt-get install nut nut-client nut-server
Reading package lists… Done
Building dependency tree
Reading state information… Done
nut is already the newest version (2.7.4-5).
nut-client is already the newest version (2.7.4-5).
nut-server is already the newest version (2.7.4-5).
nut-server set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n]
[/code]
クライアントとしてインストールしていたので、なにもインストールされないです。
Driver Setting
設定ファイルを書き換えていく。
ups.confに書くのは、UPSのドライバと接続方法を記載する。
/etc/ups/ups.conf
# cp ups.conf ups.conf.org /etc/ups/ups.conf [qnapups] driver = usbhid-ups port = auto desc = "APC ES-750" pollinterval=1
ドライバサービスを再起動する。
# systemctl restart nut-driver # systemctl status nut-driver Oct 16 16:10:39 ras systemd[1]: Starting Network UPS Tools - power device driver controller... Oct 16 16:10:39 ras upsdrvctl[9680]: interrupt pipe disabled (add 'pollonly' flag to 'ups.conf' to g Oct 16 16:10:39 ras upsdrvctl[9680]: Using subdriver: APC HID 0.96 Oct 16 16:10:39 ras upsdrvctl[9680]: Network UPS Tools - Generic HID driver 0.41 (2.7.4) Oct 16 16:10:39 ras upsdrvctl[9680]: USB communication driver 0.33 Oct 16 16:10:39 ras upsdrvctl[9680]: Network UPS Tools - UPS driver controller 2.7.4 Oct 16 16:10:39 ras systemd[1]: Started Network UPS Tools - power device driver controller. Oct 16 16:10:39 ras usbhid-ups[9685]: Startup successful
サーバーの設定
upsd.confに書くのは、主にアクセス権に関するもので、今回はアクセス制限をしたいので、追記する。最後に、LISTENを記載するのを忘れずに。
/etc/ups/upsd.conf
ACL all 0.0.0.0/0 ACL localhost 127.0.0.1/32 ACL localnet 192.168.0.0/24 ACL client_1 192.168.10.1/32 ACL client_2 192.168.0.232/32 ACL client_3 192.168.0.235/32 ACL client_4 192.168.0.236/32 ACL client_5 192.168.0.237/32 ACCEPT localhost ACCEPT localnet ACCEPT client_1 ACCEPT client_2 ACCEPT client_3 ACCEPT client_4 ACCEPT client_5 REJECT all MAXAGE 20 LISTEN 0.0.0.0
UPSdに接続するユーザーの登録
本来なら、権限ごとにIDとパスワードを設定すべきだが、一括管理するので、IDは全てadminを利用することにする。
/etc/ups/upsd.users
[admin] password = [passwd] allowfrom = localhost actions = SET instcmds = ALL upsmon master # or upsmon slave
サーバーモードの設定
サーバーモードは、standalone , netserver , netclientとある。
/etc/nut/nut.conf
MODE=netserver
nut-serverの再起動を行い、upscでUPSの状況を確認してみる。
# service nut-server restart # upsc es750 Init SSL without certificate database battery.charge: 100 battery.charge.low: 10 battery.charge.warning: 50 battery.runtime: 1620 battery.runtime.low: 120 battery.type: PbAc battery.voltage: 27.1 battery.voltage.nominal: 24.0 device.mfr: American Power Conversion device.model: Smart-UPS 750 device.serial: AS1317214978 device.type: ups driver.name: usbhid-ups driver.parameter.pollfreq: 30 driver.parameter.pollinterval: 1 driver.parameter.port: auto driver.parameter.synchronous: no driver.version: 2.7.4 driver.version.data: APC HID 0.96 driver.version.internal: 0.41 ups.beeper.status: enabled ups.delay.shutdown: 20 ups.firmware: UPS 08.3 / ID=18 ups.mfr: American Power Conversion ups.mfr.date: 2013/04/27 ups.model: Smart-UPS 750 ups.productid: 0003 ups.serial: AS1317214978 ups.status: OL ups.timer.reboot: -1 ups.timer.shutdown: -1 ups.vendorid: 051d
nut-serverの設定が終わったので、nut-server自体が電源状態を受け取れるようnut-clientの設定も行う。
設定は、/etc/nut/upsmon.confに記述する。
$ sudo vi /etc/nut/upsmon.conf MONITOR qnapups@localhost 1 admin 123456 master
一通りの設定と接続確認が終わったので、nutを再起動する。
# service nut-server restart # service nut-client restart # service nut-monitor restart
別host(別hostのnut-client)の設定
$ sudo vi /etc/nut/upsmon.conf MONITOR qnapups@localhost 1 admin 123456 master