马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
前言
之前发了一篇文,讲了下绿联新推出的NUT功能,当时设置的时候以为已经设置好了,没有做断市电实测。文章发出后有网友反馈这样的设置是不行的,我实测之后发现确实市电断开后威联通不会关机。所以把上次那篇文章删除了,最近也一直在找可行的方法。
经过多天的查找,找到了这篇文章,果然是高手在民间。2020年就有大神解决了这个问题。虽然我的设备是绿联接UPS做NUT主机,威联通做NUT客户端,但是思路和方法是一样的,都是在威联通上做设置调整。
再次感谢:Edward Kong 一、硬件连线
硬件接线方面很简单,大多数家用UPS都是USB通讯线,把通讯线插入绿联NAS的USB口。这里说明下,绿联刚刚升级增加NUT服务的时候,UPS的识别不太好,我的这个科华USP识别不出来。所以当时是想用威联通做NUT服务器,给绿联NAS用,但是失败了,原因就是威联通里NUT服务的UPS名是qnapups,而不是通用的ups。当然绿联的NUT服务也是不是标准名,是ups0,后面会讲。
局域网的威联通NAS硬件方面接同一个局域网就可以了。需要说明的是,因为要依靠局域网通讯,所以要把交换机电源也插到UPS上。
二、绿联的设置
接好线后,先去绿联NAS做设定,控制面板-硬件与电源-不断电系统 UPS类型选择USB,看到UPS信息就代表已经识别出UPS了,底下有个NUT Server的选项,勾选启用,这样就开启了绿联的NUT服务。解释下,就是绿联NAS作为NUT主机,在检测到市电断开的时候,给局域网的其他NAS发出信号,以达到共用UPS的效果。
然后我们还要去查看绿联的upsmon.conf这个文件 可以看到最后一行
MONITOR ups0@localhost 1 nut nut master 这个ups0是绿联NUT的UPS名 nut是用户名 nut是密码 。可以用个文本记下来,后面有用。
绿联方面的设置就完成了,下面开始设置威联通的NAS。
三、威联通的设置
控制台的外部设备还是这样设置。 1.养成好习惯,干活前先备份!(特别是通过SSH的操作)
- cd /etc/config/ups/mkdir bak && cp ups* ./bak
复制代码
2.修改upsd.users文件
通过SSH进入威联通,打开/etc/config/ups/upsd.users文件,将其中关于admin的部分注释掉。
添加上绿联UPS的信息(注释部分可以删减) - # 绿联DXP480 UPS专用用户(用于威联通连接)
- [nut] # 与绿联UPS的用户名一致(必须)
- password = nut # 与绿联UPS的默认密码一致(必须)
- allowfrom = localhost # 允许本地(威联通)连接,无需修改
- upsmon slave # 声明该用户是“从设备(威联通)”权限(必须)
- # 可选:添加基础操作权限(确保能读取UPS状态)
- actions = SET # 允许修改UPS基础参数(如状态查询)
- instcmds = test.battery.start,test.battery.stop # 允许电池测试(可选)
复制代码
3.复制重命名一份upsmon.conf文件
复制/etc/config/ups/upsmon.conf配置文件为 /etc/config/ups/upsmon_dxp.conf,以免在威联通控制台设置UPS后upsmon.conf被覆盖。
修改upsmon_dxp.conf中的MONNITOR一行为: 修改upsmon_dxp.conf中的SHUTDOWNCMD一行为: - SHUTDOWNCMD "/sbin/poweroff"
复制代码
4.新建/etc/config/ups/upsmon.sh文件
代码如下: - #! /bin/bash
- UPSMONSH="/usr/sbin/upsmon"
- case "$1" in
- start)
- # Start demons.
- if upsc -c [email protected] | grep -q "192.168.10.55"; then
- echo "ups already runned"
- else
- rm /etc/config/ups/upsmon.conf
- cp /etc/config/ups/upsmon_dxp.conf /etc/config/ups/upsmon.conf
- killall upsutil
- killall upsmon
- $UPSMONSH
- fi
- ;;
- stop)
- # Stop demons.
- $UPSMONSH -c stop
- ;;
- *)
- echo "Usage: $0 {start|stop|restart}"
- exit 1
- esac
复制代码
说明,192.168.10.55为绿联的ip地址,192.168.10.155为威联通的ip地址,要根据自己的实际情况进行替换。 强烈建好这个sh文件后,运行验证下。 - /etc/config/ups/upsmon.sh start
复制代码
无错误后继续,有错误则可以发送错误提示到豆包来询问解决方法。我遇到过两个错误,一个是sh文件权限问题,一个是编码问题。
5.修改crontab文件
由于威联通crontab -e命令在重启后失效,所以需要直接修改/etc/config/crontab文件,在其中加入: - * * * * * /etc/config/ups/upsmon.sh start
复制代码
6.重启crontabd
- /etc/init.d/crond.sh restart
复制代码
7.使用命令,验证设置是否成功
查看返回列表中是否有威联通的ip(192.168.10.155为绿联的ip地址),如有下图则设置成功。
如果只有127.0.0.1则是没有设置成功,请逐一排查相关设置脚本是否正确,这也是为什么要在上面启动一次sh脚本的原因,因为大概率问题出在脚本上(比如我)。
四、断电实测
如图所示,在拔掉UPS插头后,绿联检测到市电断开,并执行关机,同时威联通通过NUT服务收到了市电断开的信息,开始关机。 到这里这次的教程就结束了,也总算是解决了这个UPS共用的问题。希望有同样需求的网友们一起交流探讨,有没有更简易的办法。
|