群晖-虚拟机ups不断电系统

PVE 配置群晖网络UPS

在这里插入图片描述

后面的都不用看,直接看前面的链接(别人写的更好)

前言

目的: 在只有一个ups通信端口的情况下,实现多个设备在断电后都能够接收到关机命令。
原理: ups通信端口接入群晖,让群晖成为ups服务器然后其他设备通过网络接入。

群晖ups

此部分很简单,将ups通信端口的usb接入群晖系统的usb端口即可。
然后在控制面板硬件和电源开启ups支持即可
在这里插入图片描述
在最后要启用网络ups服务器,让其他设备能够通过网络接入。

虚拟机ups

参考博文1
参考博文2
感谢作者的教程

首先需要ssh登录虚拟机的后台
然后

  • 下载NUT套件
    apt install nut -y
  • 编辑NUT配置文件
    vim /etc/nut/nut.conf (可以使用winscp连接上,在windows环境下面更换)
  • 将“MODE=”后面修改成如下参数
    MODE=netclient(然后输入“:wq”保存退出)
  • 更改连接配置
    vim /etc/nut/upsmon.conf
  • 找到 MONITOR 在下方增加一行
    MONITOR ups@nas的ip 1 upsmon pass slave(将nas的ip换成你nas的ip,其他参数都不要更改,原因参考博文1!,请注意此句MONITOR 前面没有#号,#代表注释!)

原因图片
在这里插入图片描述

原因结束


  • 启动nut-client服务,并设置自动启动
    systemctl start nut-client && systemctl enable nut-client
  • 测试是否成功连接UPS服务器
    upsc ups@NAS IP
    如果有输出信息,那么就成功

效果

  • 在断电后,首先会群晖收到通知,然后群晖立马会通知虚拟机等其他设备关机,实现同时开始关机安全模式。

要实现关机通过ssh连接群晖

sudo vim /usr/syno/bin/synoups
在这里插入图片描述

参考文章3-详细说明了参数

在这里插入图片描述

参考文章4
nut官网
在这里插入图片描述
在这里插入图片描述

如果pve不关机,修改配置如下

/etc/nut/upsmon.conf

MINSUPPLIES 1
SHUTDOWNCMD "/sbin/shutdown -h"
NOTIFYCMD /usr/sbin/upssched
POLLFREQ 2
POLLFREQALERT 1
HOSTSYNC 15
DEADTIME 15
POWERDOWNFLAG /etc/killpower

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"
NOTIFYMSG COMMOK    "Communications with UPS %s established"
NOTIFYMSG COMMBAD   "Communications with UPS %s lost"
NOTIFYMSG SHUTDOWN  "Auto logout and shutdown proceeding"
NOTIFYMSG REPLBATT  "UPS %s battery needs to be replaced"
NOTIFYMSG NOCOMM    "UPS %s is unavailable"
NOTIFYMSG NOPARENT  "upsmon parent process died - shutdown impossible"

NOTIFYFLAG ONLINE   SYSLOG+WALL+EXEC
NOTIFYFLAG ONBATT   SYSLOG+WALL+EXEC
NOTIFYFLAG LOWBATT  SYSLOG+WALL
NOTIFYFLAG FSD      SYSLOG+WALL+EXEC
NOTIFYFLAG COMMOK   SYSLOG+WALL+EXEC
NOTIFYFLAG COMMBAD  SYSLOG+WALL+EXEC
NOTIFYFLAG SHUTDOWN SYSLOG+WALL+EXEC
NOTIFYFLAG REPLBATT SYSLOG+WALL
NOTIFYFLAG NOCOMM   SYSLOG+WALL+EXEC
NOTIFYFLAG NOPARENT SYSLOG+WALL

RBWARNTIME 43200

NOCOMMWARNTIME 600

FINALDELAY 5

/etc/nut/nut.conf

MODE=netclient

/etc/nut/upssched.conf

CMDSCRIPT /etc/nut/upssched-cmd
PIPEFN /etc/nut/upssched.pipe
LOCKFN /etc/nut/upssched.lock

AT ONBATT * START-TIMER onbatt 30
AT ONLINE * CANCEL-TIMER onbatt online
AT ONBATT * START-TIMER earlyshutdown 30
AT LOWBATT * EXECUTE onbatt
AT COMMBAD * START-TIMER commbad 30
AT COMMOK * CANCEL-TIMER commbad commok
AT NOCOMM * EXECUTE commbad
AT SHUTDOWN * EXECUTE powerdown
AT SHUTDOWN * EXECUTE powerdown

/etc/nut/upssched-cmd

#!/bin/sh
 case $1 in
       onbatt)
          logger -t upssched-cmd "UPS running on battery"
          ;;
       earlyshutdown)
          logger -t upssched-cmd "UPS on battery too long, early shutdown"
          /usr/sbin/upsmon -c fsd
          ;;
       shutdowncritical)
          logger -t upssched-cmd "UPS on battery critical, forced shutdown"
          /usr/sbin/upsmon -c fsd
          ;;
       upsgone)
          logger -t upssched-cmd "UPS has been gone too long, can't reach"
          ;;
       *)
          logger -t upssched-cmd "Unrecognized command: $1"
          ;;
 esac

chmod +x /etc/nut/upssched-cmd

systemctl restart nut-client

上述来源链接

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一WILLPOWER一

你的鼓励是我创作最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值