找回密码
 加入我们
搜索
      
查看: 3758|回复: 26

[外设] 有人实现过山特TG-BOX850配置NUT-Server停电时使网络中的多台服务器自动关机吗?

[复制链接]
发表于 2024-5-11 12:53 | 显示全部楼层 |阅读模式
想买个山特TG-BOX850不间断电源,停电时使家里的一台ESXi服务器和三台Windows Server服务器自动关机,但看产品介绍上说TG-BOX850仅支持一台设备停电自动关机,而且山特官方的WinPower软件也不支持Linux系统
看到网上一篇教程,Linux UPS配置详解 (山特SANTAK TGBOX-850)
  1.                nut-client
  2.              ┌─────────────┐                  ┌────────────┐ nut.conf 只配置运行模式
  3.        ┌──── │ nut-monitor │ ───────────────► │ nut-server │ upsd.*
  4.        │     └─────────────┘                  └────────────┘
  5.        │
  6.        │                                            │
  7.        │                                            │
  8.        ▼                                            ▼
  9. ┌─────────────┐                              ┌────────────┐
  10. │  upssched   │                              │ nut-driver │ ups.conf
  11. └─────────────┘                              └────────────┘

  12.         │                                           │
  13.         │                                           │
  14.         │                                           │
  15.         ▼                                           ▼
  16. ┌────────────────┐                            ┌─────────────┐
  17. │  user scripts  │                            │   UPS(HW)   │
  18. └────────────────┘                            └─────────────┘
复制代码

通过Network UPS Tools实现多台设备自动关机,不知有没有坛友用过,效果怎么样,是否比那种ping网关的歪门邪道方法强呢?
发表于 2024-5-11 13:04 | 显示全部楼层
本帖最后由 edgeskypay 于 2024-5-11 13:08 编辑

来看看我们是怎么干的。
从前:
ROS->dude->monitor target->触发notifaction动作->run script on server->http(GET/POST)->msg_api(企微、短信、电话、钉钉、webhook)统一接口->落库记录+告警推送+执行动作。

现在:
把ROS的dude换成了prometheus+夜莺,比dude麻烦也重,但是好歹比dude多了个统一管理界面。后端http(GET/POST)到msg_api的逻辑没变。

没变的原因,就是因为记录落库、分类统计、报表等用途,云端推送SDK重封装一下,比直接推出去,好用些。

我们不仅SD-WAN网关用的ping,服务器也用,还监控了服务端口、API的URL、返回JSON值,传参后业务逻辑等。

所以,ping不是野路子我觉得,能解决问题就是好路子。

甚至,某些分公司没有UPS电话告警,只有短信的情况,叫他们做了路由器或者ubuntu的PC丢办公区,常开,如果ping不通,就触发电话告警API去。也用的ping啊。。。

//------------------------------------------------
因为你这不需要发告警出去,所以不用考虑断电以后网络不通,必须走4G发消息的情况。
但是你要考虑的是链路断电,ping网关,有网关断电的情况,交换机断电的情况,网关假死的情况等多种误判,脚本逻辑写if else考虑的全面点。
发表于 2024-5-11 13:05 来自手机 | 显示全部楼层
我用的群晖,USB接UPS,然后自己当server就行了
发表于 2024-5-11 13:07 来自手机 | 显示全部楼层
edgeskypay 发表于 2024-5-11 13:04
来看看我们是怎么干的。
从前:
ROS->dude->monitor target->触发notifaction动作->run script on server-> ...

楼主觉得“ping是野路子”是因为ping会占用系统资源(按照楼主之前的贴所理解)
发表于 2024-5-11 13:09 | 显示全部楼层
kevinho86 发表于 2024-5-11 13:07
楼主觉得“ping是野路子”是因为ping会占用系统资源(按照楼主之前的贴所理解) ...

他写的一台esxi和三台windows,不至于在乎ping的消耗吧
发表于 2024-5-11 13:32 | 显示全部楼层
edgeskypay 发表于 2024-5-11 13:09
他写的一台esxi和三台windows,不至于在乎ping的消耗吧

20L

这里
发表于 2024-5-11 13:45 | 显示全部楼层
用一台黑群晖折腾连接BOX850做sever,
然后esxi安装NutClient连接黑群晖配置完。
后来黑群晖关机定期开机备份数据,
也没有啥停电的情况发生,
而且现在小区停电都有微信消息推送,
也来得及手机远程关机
 楼主| 发表于 2024-5-11 14:12 | 显示全部楼层
edgeskypay 发表于 2024-5-11 13:04
来看看我们是怎么干的。
从前:
ROS->dude->monitor target->触发notifaction动作->run script on server-> ...

你这企业需求没有整套方案吗,还要自己开发,常年运行下来稳定可靠性怎么样,有没有误报过?

还有你那个定时循环ping的脚本有没有加入管控功能,比如可以启用禁用,修改间隔时间,修改IP地址等,毕竟有时候需要对主机进行维护,要暂停这些脚本的运行
还有一种情况是,假如将这个ping的脚本放在ESXi服务器上运行,并配置成开机自启动,如果不采取一些管控机制,当ping的网关失效或关闭维护时,这台ESXi服务器会陷入开机启动后又会自动关机的死循环之中

我的情况比较简单,可以同时ping主路由和主交换机,两个设备同时假死的概率极低,现在正在考虑把这个ping脚本放到一**立的主机上运行,通过ssh远程登录发送关机命令,这样就避免了开关机死循环。
 楼主| 发表于 2024-5-11 14:17 | 显示全部楼层
yan1990_y 发表于 2024-5-11 13:05
我用的群晖,USB接UPS,然后自己当server就行了

那其它机器需要装什么工具实现自动关机
 楼主| 发表于 2024-5-11 14:26 | 显示全部楼层
kevinho86 发表于 2024-5-11 13:07
楼主觉得“ping是野路子”是因为ping会占用系统资源(按照楼主之前的贴所理解) ...

我现在担心的不是会占用系统I/O资源的问题,之前测试脚本时一下子运行了几个进程,也没感觉到有什么影响,真正担心的是对ESXi系统的安全问题,具体详见8#楼的回帖……
发表于 2024-5-11 17:24 来自手机 | 显示全部楼层
红色狂想 发表于 2024-5-11 14:17
那其它机器需要装什么工具实现自动关机

Windows是NUT,跟你说的一样,Linux没用过
发表于 2024-5-11 18:38 来自手机 | 显示全部楼层
用的山特的tg1000,不支持nas自动关机。

我的方法比较战斗,以前买的几十块的arm开发板,画了个小板子:1.检测墙插的电压 2.管理两节18650当作这一套东西的ups。1s的周期检测电压,检测不到之后等待1分钟,再次检测几次要是还是没有电压,就直接通过ssh把群晖关了。
虽然有种脱了裤子放屁的感觉,但是因为东西都是已经有了的,倒是无所谓。
发表于 2024-5-13 13:27 | 显示全部楼层
没有用过山特这个牌子,用apc这个品牌的ups,搭建nut试过,可以一个nut服务器管理多态nut客户端关机。这个软件的逻辑似乎是nut服务端与ups通讯,收到市电断开的信号后,就按照配置信息,给客户端发指令xx秒后关机。如果在xx秒内有市电了,会再次发指令通知客户端不用关机。
 楼主| 发表于 2024-5-13 14:00 | 显示全部楼层
syf_alan 发表于 2024-5-11 13:45
用一台黑群晖折腾连接BOX850做sever,
然后esxi安装NutClient连接黑群晖配置完。
后来黑群晖关机定期开机备 ...

能用上市政供电就是舒服,我这07年的破小区是开发商自己架设的变压器,物业加高电费售电,设施老化陈旧,平均一个月必停一次电
发表于 2024-5-13 14:12 | 显示全部楼层
2021年05月04号,买过一台山特TG-BOX850,接群晖用到现在。

山特.png
 楼主| 发表于 2024-5-20 13:34 | 显示全部楼层
cholin 发表于 2024-5-13 13:27
没有用过山特这个牌子,用apc这个品牌的ups,搭建nut试过,可以一个nut服务器管理多态nut客户端关机。这个 ...

是的,就是不知道搭建NUT是否运行稳定可靠,按理说应该比用脚本ping网关的方法可靠多了
 楼主| 发表于 2024-5-20 13:42 | 显示全部楼层
shiangyeh 发表于 2024-5-11 18:38
用的山特的tg1000,不支持nas自动关机。

我的方法比较战斗,以前买的几十块的arm开发板,画了个小板子:1. ...

你这个方案对服务器主机来说是最灵活安全的,淘宝闲鱼上能买到成品套件吗,既然有arm开发板,为什么不烧录一个NUT-Server系统实现网络报文控制呢,这样不更完美吗?
发表于 2024-5-20 13:55 | 显示全部楼层
本帖最后由 wxlg1117 于 2024-5-20 14:08 编辑

我也搞过一套,跑了好多年了:

1,伊顿pw9130的USB接树莓派,树莓派配置nut服务器,配置剩余多少电量后发出自动关机信号(剩余电量要稍微留点余量,因为设备执行关机动作时有几分钟还是在要耗电),配置好执行关机动作后ups自身是否关机,树莓派rj45口接交换机(有线更稳);
2,windows机器装nut win版,监听主机设置为树莓派ip;
3,esxi母鸡装nut for esxi版,同样监听主机设置为树莓派ip,且esxi配置好虚拟机关机队列(配置好的虚拟机接收到esxi母鸡的关机指令后会按配置顺序正常关闭系统,不配置的话所有虚拟机等于强制断电);
4,其他linux机器也装nut,同样监听主机设置为树莓派ip;

以上树莓派win机器esxi母鸡指定网卡以及交换机都在同一个vlan,且供电都走伊顿ups下接的PDU.



 楼主| 发表于 2024-5-20 13:55 | 显示全部楼层
yan1990_y 发表于 2024-5-11 17:24
Windows是NUT,跟你说的一样,Linux没用过

你是在Windows上运行的nut-client还是nut-server,可靠稳定吗?我看很多用户都是把UPS接到群晖上,通过群晖实现nut-server,不知是否也可以把UPS控制功能的USB口接到一台运行Windows系统的PC上,在Windows环境下实现nut-server
发表于 2024-5-20 14:06 | 显示全部楼层
红色狂想 发表于 2024-5-20 13:55
你是在Windows上运行的nut-client还是nut-server,可靠稳定吗?我看很多用户都是把UPS接到群晖上,通过群 ...

win下的nut好像只有client端,nut server for win端 貌似没有人编译,一般nut server端能跑在linux下.比如arm路由器,群晖,unraid,linux主机之类的系统里面...

如果是apc的ups的话那个apcupsd有win版, 可以配置为server端,也可以实现nut差不多的功能.
发表于 2024-5-20 17:24 来自手机 | 显示全部楼层
红色狂想 发表于 2024-5-20 13:42
你这个方案对服务器主机来说是最灵活安全的,淘宝闲鱼上能买到成品套件吗,既然有arm开发板,为什么不烧 ...

说来惭愧,我当时搞的时候并没有了解过NUT-Server之类的,纯粹就是稿嵌入式的习惯,临时手搓了一个。
然后俗话说得好:永久方案往往是最临时的方案。
就一直用到现在懒得改了。
发表于 2024-5-20 17:42 | 显示全部楼层
红色狂想 发表于 2024-5-20 13:55
你是在Windows上运行的nut-client还是nut-server,可靠稳定吗?我看很多用户都是把UPS接到群晖上,通过群 ...

1.在Windows上运行的是nut-client
2.群晖的控制面板“硬件和电源”〉不断电系统页面中勾选启用“网络不断电系统服务器”,然后在nut-client中输入群晖的IP,端口按nut的默认,就能实现Windows也关机

2.这一点,我在我的威联通上实现到

其他详细的网上也有很多教程
发表于 2024-5-20 19:21 | 显示全部楼层
红色狂想 发表于 2024-5-20 13:34
是的,就是不知道搭建NUT是否运行稳定可靠,按理说应该比用脚本ping网关的方法可靠多了 ...

可靠,用了几年了。用之前测试过,没有出现过bug。不过实际也没怎么停过电,偶尔停电。
发表于 2024-5-21 12:22 来自手机 | 显示全部楼层
红色狂想 发表于 2024-5-20 13:55
你是在Windows上运行的nut-client还是nut-server,可靠稳定吗?我看很多用户都是把UPS接到群晖上,通过群 ...

我有群晖所以就是用群晖当server了
 楼主| 发表于 2024-6-3 17:05 | 显示全部楼层
yan1990_y 发表于 2024-5-21 12:22
我有群晖所以就是用群晖当server了

你有ESXi主机吗,ESXi系统是不是也可以安装nut-client实现停电时自动关机呢?
 楼主| 发表于 2024-6-3 17:11 | 显示全部楼层
cholin 发表于 2024-5-20 19:21
可靠,用了几年了。用之前测试过,没有出现过bug。不过实际也没怎么停过电,偶尔停电。 ...

ESXi系统也可以安装nut-client实现停电自动关机吗,哪怕当前正在运行着多个虚拟机,他也能正常按顺序安全关机是吗?
发表于 2024-6-3 17:15 来自手机 | 显示全部楼层
红色狂想 发表于 2024-6-3 17:05
你有ESXi主机吗,ESXi系统是不是也可以安装nut-client实现停电时自动关机呢? ...

没试过,github上有,你可以搜一下
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

Archiver|手机版|小黑屋|Chiphell ( 沪ICP备12027953号-5 )沪公网备310112100042806 上海市互联网违法与不良信息举报中心

GMT+8, 2025-5-3 17:10 , Processed in 0.013831 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2007-2024 Chiphell.com All rights reserved.

快速回复 返回顶部 返回列表