公司宿舍电力不稳定,老是闪断,担心近五万小时的硬盘挂掉,开始折腾PVE和NAS共用一台UPS。
设备:1、蜗牛星际黑群晖;2、PVE;3、山特 TG BOX UPS
连接:UPS的USB线接PVE,使用NUT监控触发自动关机。
配置:
1、安装NUT
sudo apt install nut nut-client nut-server
2、扫描UPS
ups-scanner -U
扫描结果如图:
3、将扫描结果复制,粘贴在/etc/nut/ups.conf
中(后续操作文件都在/etc/nut文件夹中),为了黑群能连上,需要修改中括号的内容为UPS。
[ups]
driver = "usbhid-ups"
port = "auto"
vendorid = "0463"
productid = "FFFF"
product = "SANTAK TG-BOX"
serial = "Blank"
vendor = "EATON"
bus = "003"
ignorelb
override.battery.charge.low = 80
override.battery.runtime.low = -1
4、装载驱动程序
upsdrvctl start
如图,最后一句不影响使用。
5、设置监听,修改upsd.conf
文件,最后一行添加LISTEN 0.0.0.0 3493
6、修改nut.conf
,因为使用PVE作为服务器,所以MODE=netserver
7、修改upsd.users配置用户,黑裙需要连接,用户名和密码必须为monuser和secret
[monuser]
password = secret
actions = SET FSD
instcmds = ALL
upsmon master
8、修改upsmon.conf,配置关机监控
RUN_AS_USER root
MONITOR ups@10.0.0.254:3493 1 monuser secret master
SHUTDOWNCMD "/sbin/shutdown -h +0"
NOTIFYMSG ONLINE "UPS %s on line power"
NOTIFYMSG ONBATT "UPS %s on battery"
NOTIFYMSG LOWBATT "UPS %s battery is low"
NOTIFYMSG FSD "UPS %s: forced shutdown in progress"
NOTIFYFLAG ONLINE SYSLOG+WALL+EXEC
NOTIFYFLAG ONBATT SYSLOG+WALL+EXEC
NOTIFYFLAG LOWBATT SYSLOG+WALL+EXEC
9、编写配置文件upssched.conf
,使用shutdown,很多教程里的power_off不起作用。
MDSCRIPT /etc/nut/upssched-cmd #编写此脚本设置
PIPEFN /etc/nut/upssched.pipe
LOCKFN /etc/nut/upssched.lock
# 断电使用电池开始计时800秒,计时后,执行upssched-cmd脚本,带shutdown_all参数
AT ONBATT * START-TIMER shutdown_all 800
# 来电后,停止shutdown_all计时
AT ONLINE * CANCEL-TIMER shutdown_all
# 来电后,执行脚本,带start_all参数
AT ONLINE * EXECUTE start_all
# 低电量,执行脚本,带shutdown_self参数
AT LOWBATT * EXECUTE shutdown_self
10、编写执行脚本upssched-cmd,需要自己创建文件
#! /bin/sh
case $1 in
shutdown_self)
#关闭所有
upsmon -c fsd
;;
shutdown_all)
pvesh create /nodes/pve/qemu/100/status/stop
pvesh create /nodes/pve/qemu/102/status/stop
pvesh create /nodes/pve/qemu/103/status/stop
;;
start_all)
#开启所有
pvesh create /nodes/pve/qemu/100/status/start
pvesh create /nodes/pve/qemu/103/status/start
pvesh create /nodes/pve/qemu/102/status/start
;;
*)
logger -t upssched-cmd "Unrecognized command: $1"
;;
esac
11、重启服务
systemctl restart nut-server
systemctl restart nut-monitor
完工,可以尝试断电测试了。
有个 ups 的确能撑一会儿。
@obaby 主要怕年老的机械硬盘突然挂掉,也是好几百块的资产呢
mark~
另外群晖通过ping路由也可以实现自动关机
@acevs ping路由的脚本我这没实现,所以就搞了共享的
再等等,我估计也得上ups
@网友小宋 我是频繁断电,公司附近电路负荷太高,电力公司走流程一时半会也修不了
一般UPS可以供多久的电呀?还是在二十年前用过,是给电脑用的,那个时候每天都会断电,保护电脑用的。
@老张博客 我的是一个N100主机加蜗牛星际,可以待机半小时