求一款 EXSI 虚拟机或者 PVE 虚拟机可以用的 UPS 电源

2023-03-04 12:21:01 +08:00
 xingye163

因为个人家里经常断电,导致服务器多次损坏,而家里的又有需要用到软路由管理需要,因此求助最后觉得选购一个 UPS 电源最为实际具体帖子如下: https://www.v2ex.com/t/920924#reply17

但是在网上搜索了一圈都是 APC BK650 的教程,现在这款商家已经停售了,新款是 BK650M2 CH 的了,问了店家说不支持 PVE 的系统停电关机

求教下各位 V 友,有哪些 UPS 电源可以支持 EXSI 和 PVE 虚拟机停电关机功能的。 万分感谢。

1946 次点击
所在节点    问与答
10 条回复
sNullp
2023-03-04 12:22:29 +08:00
装个 apcupsd 自己配置一下,所有的 apc ups 都可以用。
xingye163
2023-03-04 12:24:05 +08:00
@sNullp 第一次玩这个,倒不是很懂了,请问有相关的操作资料教程吗,如果没有也没事,我自己搜索下,再次感谢。
cjpjxjx
2023-03-04 12:37:41 +08:00
其实问题都不大,可以写一个 shell 脚本,开机自动运行,每五分钟 ping 一下没接 ups 的设备的 ip ,ping 不同就等几分钟再 ping 一下防止设备是在重启或网络波动,还是 ping 不通说明停电了,执行 shutdown 命令
xingye163
2023-03-04 12:49:56 +08:00
@cjpjxjx 不懂脚本语音,刚找 ChatGPT 写了个,这样可以吗?

#!/bin/bash

# 设置需要 ping 的 UPS 的链接 IP
UPS_IP="192.168.1.1"

# 计数器
count=0

# 无限循环
while true
do
# ping UPS 的链接 IP ,等待 1 秒后超时
if ping -c 1 -W 1 "$UPS_IP" > /dev/null 2>&1
then
# 如果 ping 通,则打印提示信息
echo "UPS 链接正常,等待 1 分钟后再次尝试"
# 等待 1 分钟
sleep 60
else
# 如果 ping 不通,则增加计数器
count=$((count+1))
# 打印提示信息
echo "UPS 链接不通,等待 1 分钟后再次尝试,已尝试$count 次"
# 等待 1 分钟
sleep 60
# 如果连续 3 次 ping 不通,则执行关机命令
if [ $count -eq 3 ]
then
echo "连续 3 次 ping 不通,准备关机"
shutdown -h now
fi
fi
done
fredcc
2023-03-04 13:30:57 +08:00
换个思路,网上有卖路由器充电宝,多电压直流输出,在线充电。不比两次逆变来得成本低
caola
2023-03-04 15:56:01 +08:00
https://www.cnblogs.com/LandWind/articles/pve-nut-config.html 是不可以参考一下这个,直接使用 NUT 协议
PrinceofInj
2023-03-04 19:52:16 +08:00
BK650M2 的话小心一点。在不少主机上都有随机断链的风险。我目前遇到的有威联通 NAS ,零刻 EQ59.用的都是 NUT ,目前遇到的没问题的是树莓派 4B 还有华硕的路由器。我自己的目前是插在路由器上作为 nut server 使用。
xingye163
2023-03-05 09:24:11 +08:00
@caola 感谢帮助,昨天也有个 V 友是类似思路,还是一样的问题,因为路由器 all in one 了,所以断电路由器其实还有电,这个方法 ping 路由不成立,不过我昨天琢磨了下,可以通过 ping 自己家里的智能家居设备实现,比如家里的智能浴霸,并且为了避免因为其他原因手动关闭插座,我加到了三个设备,必须同时连续三次 ping 不通才能断电,并且测试成功了,不过还在研究怎么把脚本设置为开机启动和进程守护,不过应该问题不大了,这样的话,市面任何一个 UPS 电源应该都可以用了,可以通过 PVE 脚本检测家庭其他设备断电来自动关机,UPS 只要保证有 3~5 分钟的供电间歇时间就可以了。
xingye163
2023-03-05 09:26:10 +08:00
@PrinceofInj 谢谢,这个确实倒没注意到这些说法,不过既然提醒了,确实要去看下。
caola
2023-03-06 14:16:38 +08:00
@xingye163 支持 NUT 的 UPS 不用 ping 了,配置好 NUT 是直接跟 UPS 交互通讯,可以获取到 UPS 当前的状态信息电量信息,然后自动写个脚本获取并判断这些信息后,再做关机或其他关机前的处理任务。

有支持 USB 或 SNMP 协议的 UPS ,虽然我没弄过,但看网上是这样说的,应该配置起不算太难。
我现在自己也有一个小的 UPS 本身是支持群晖 USB 的,所以我就没去折腾了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/921045

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX