返回列表 发布新帖

[用户教程] 绿联DXP连接UPS后与威联通QNAP共用的教程

294 1
发表于 2026-4-30 11:49:06 | 查看全部 阅读模式 IP:–湖北 /全省通用

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
前言
640.jpg
wechat_2025-08-28_092859_899.png
之前发了一篇文,讲了下绿联新推出的NUT功能,当时设置的时候以为已经设置好了,没有做断市电实测。文章发出后有网友反馈这样的设置是不行的,我实测之后发现确实市电断开后威联通不会关机。所以把上次那篇文章删除了,最近也一直在找可行的方法。
经过多天的查找,找到了这篇文章,果然是高手在民间。2020年就有大神解决了这个问题。虽然我的设备是绿联接UPS做NUT主机,威联通做NUT客户端,但是思路和方法是一样的,都是在威联通上做设置调整。
再次感谢:Edward Kong
一、硬件连线

微信图片_20250828142726_51_580.jpg
硬件接线方面很简单,大多数家用UPS都是USB通讯线,把通讯线插入绿联NAS的USB口。这里说明下,绿联刚刚升级增加NUT服务的时候,UPS的识别不太好,我的这个科华USP识别不出来。所以当时是想用威联通做NUT服务器,给绿联NAS用,但是失败了,原因就是威联通里NUT服务的UPS名是qnapups,而不是通用的ups。当然绿联的NUT服务也是不是标准名,是ups0,后面会讲。
局域网的威联通NAS硬件方面接同一个局域网就可以了。需要说明的是,因为要依靠局域网通讯,所以要把交换机电源也插到UPS上。

二、绿联的设置
绿联设置.png
接好线后,先去绿联NAS做设定,控制面板-硬件与电源-不断电系统  UPS类型选择USB,看到UPS信息就代表已经识别出UPS了,底下有个NUT Server的选项,勾选启用,这样就开启了绿联的NUT服务。解释下,就是绿联NAS作为NUT主机,在检测到市电断开的时候,给局域网的其他NAS发出信号,以达到共用UPS的效果。
dxp-vi.png
DXP-upsmon.png
然后我们还要去查看绿联的upsmon.conf这个文件
  1. vi /etc/nut/upsmon.conf
复制代码
可以看到最后一行
MONITOR ups0@localhost 1 nut nut master    这个ups0是绿联NUT的UPS名  nut是用户名 nut是密码  。可以用个文本记下来,后面有用。
绿联方面的设置就完成了,下面开始设置威联通的NAS。

三、威联通的设置
控制台的外部设备还是这样设置。
1.养成好习惯,干活前先备份!(特别是通过SSH的操作)
  1. cd /etc/config/ups/mkdir bak && cp ups* ./bak
复制代码

2.修改upsd.users文件
通过SSH进入威联通,打开/etc/config/ups/upsd.users文件,将其中关于admin的部分注释掉。
qnap-upsd.users.png
添加上绿联UPS的信息(注释部分可以删减)
  1. # 绿联DXP480 UPS专用用户(用于威联通连接)
  2. [nut]                       # 与绿联UPS的用户名一致(必须)
  3.     password = nut          # 与绿联UPS的默认密码一致(必须)
  4.     allowfrom = localhost   # 允许本地(威联通)连接,无需修改
  5.     upsmon slave            # 声明该用户是“从设备(威联通)”权限(必须)
  6.     # 可选:添加基础操作权限(确保能读取UPS状态)
  7.     actions = SET           # 允许修改UPS基础参数(如状态查询)
  8.     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.png
修改upsmon_dxp.conf中的MONNITOR一行为:
  1. MONITOR [email protected] 1 nut nut slave
复制代码
修改upsmon_dxp.conf中的SHUTDOWNCMD一行为:
  1. SHUTDOWNCMD "/sbin/poweroff"
复制代码

4.新建/etc/config/ups/upsmon.sh文

代码如下:
  1. #! /bin/bash
  2. UPSMONSH="/usr/sbin/upsmon"
  3. case "$1" in
  4.   start)
  5.         # Start demons.
  6.         if upsc -c [email protected] | grep -q "192.168.10.55"; then
  7.                 echo "ups already runned"
  8.         else
  9.                 rm /etc/config/ups/upsmon.conf
  10.                 cp /etc/config/ups/upsmon_dxp.conf /etc/config/ups/upsmon.conf
  11.                 killall upsutil
  12.                 killall upsmon
  13.                 $UPSMONSH
  14.         fi
  15.         ;;
  16.   stop)
  17.         # Stop demons.
  18.         $UPSMONSH -c stop
  19.         ;;
  20.   *)
  21.         echo "Usage: $0 {start|stop|restart}"
  22.         exit 1
  23. esac
复制代码

说明,192.168.10.55为绿联的ip地址,192.168.10.155为威联通的ip地址,要根据自己的实际情况进行替换。
强烈建好这个sh文件后,运行验证下。
  1. /etc/config/ups/upsmon.sh start
复制代码

wechat_2025-09-03_173159_151.png
无错误后继续,有错误则可以发送错误提示到豆包来询问解决方法。我遇到过两个错误,一个是sh文件权限问题,一个是编码问题。

5.修改crontab文件
由于威联通crontab -e命令在重启后失效,所以需要直接修改/etc/config/crontab文件,在其中加入:
  1. * * * * * /etc/config/ups/upsmon.sh start
复制代码
wechat_2025-09-26_145320_457.png

6.重启crontabd
  1. /etc/init.d/crond.sh restart
复制代码
wechat_2025-09-03_173557_389.png

7.使用命令,验证设置是否成功
复制代码
查看返回列表中是否有威联通的ip(192.168.10.155为绿联的ip地址),如有下图则设置成功。
显示IP.png
如果只有127.0.0.1则是没有设置成功,请逐一排查相关设置脚本是否正确,这也是为什么要在上面启动一次sh脚本的原因,因为大概率问题出在脚本上(比如我)。

四、断电实测

wechat_2025-09-25_211218_322.png
wechat_2025-09-25_210547_068.png
如图所示,在拔掉UPS插头后,绿联检测到市电断开,并执行关机,同时威联通通过NUT服务收到了市电断开的信息,开始关机。
到这里这次的教程就结束了,也总算是解决了这个UPS共用的问题。希望有同样需求的网友们一起交流探讨,有没有更简易的办法。


绿联设置.png
nut目录.png

评论1

夏夏子Lv.7绿联NAS社区会员用户 发表于 2026-5-3 10:30:29 | 查看全部 IP:–湖南
太厉害了

评论

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2026 绿联NAS私有云社区 版权所有 All Rights Reserved. 粤公网安备44030002002555号| 粤ICP备12028978号
关灯 在本版发帖
联系技术支持
返回顶部
快速回复 返回顶部 返回列表