很多UPS(例如APC的大部分产品)都支持串口上报数据,但是很多时候你会用它支持不止一个设备。这时候你就需要通过某些网络协议来共享UPS状态。Synology DSM的网络UPS共享功能其实不仅支持把UPS状态共享给另一台DSM,而且还支持第三方操作系统。下面是一个能用的配置例子。
配置
DSM一侧
首先启用DSM的UPS网络分享功能:在控制面板->硬件和电源->UPS中,勾选启用网络UPS服务器,并在下面的允许访问的设备列表中填入目标Linux服务器的IP地址,点击应用更改。
Linux服务器一侧
以Debian 10为例。首先安装nut客户端:
1 |
apt install nut-client |
然后在nut客户端的配置文件/etc/nut/upsmon.conf
里面加入配置,默认用户名为monuser
,密码为secret
:
1 |
MONITOR ups@your.diskstation.domain.or.ip 1 monuser secret slave |
最后重启一下nut客户端服务:
1 |
systemctl restart nut-monitor.service |
故障排除
有的时候DSM会错误判断它的本机IP,导致UPS服务器没有在网络上开放,而是只监听了localhost。这时候就需要通过DSM Shell(Telnet或SSH)手工配置一下:
1 2 |
echo -e "LISTEN 0.0.0.0\nLISTEN ::" | sudo tee /usr/syno/etc/ups/upsd.conf sudo synoservice --restart ups-usb |
注意每次在控制面板更改UPS设置的时候,这个文件都会被重置,可能需要手工重新改回来。
参考: