先日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
QNAPの設定は、このような感じになる。