空空裤兜 空空裤兜
  • 首页
  • 分类目录
    • 博客建设
    • 兜兜转转
    • 每月一帖
    • 技术存档
  • 留言
  • 人气文章排行榜
  • 热门标签
  • 博客大事记
  • 开往
首页 › 技术存档 › PVE和NAS共享一台UPS停电自动关机

PVE和NAS共享一台UPS停电自动关机

空空裤兜
1 年前

公司宿舍电力不稳定,老是闪断,担心近五万小时的硬盘挂掉,开始折腾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

扫描结果如图:

PVE和NAS共享一台UPS停电自动关机-空空裤兜

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

如图,最后一句不影响使用。

PVE和NAS共享一台UPS停电自动关机-空空裤兜

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

完工,可以尝试断电测试了。

5
13
宝塔无法启动fail2ban解决方法
上一篇

评论 (13)

取消
  • obaby

    有个 ups 的确能撑一会儿。

    1 年前 回复
    • 空空裤兜

      @obaby 主要怕年老的机械硬盘突然挂掉,也是好几百块的资产呢

      1 年前 回复
  • acevs

    mark~
    另外群晖通过ping路由也可以实现自动关机

    1 年前 回复
    • 空空裤兜

      @acevs ping路由的脚本我这没实现,所以就搞了共享的

      1 年前 回复
  • 网友小宋

    再等等,我估计也得上ups

    1 年前 回复
    • 空空裤兜

      @网友小宋 我是频繁断电,公司附近电路负荷太高,电力公司走流程一时半会也修不了

      1 年前 回复
  • 老张博客

    一般UPS可以供多久的电呀?还是在二十年前用过,是给电脑用的,那个时候每天都会断电,保护电脑用的。

    1 年前 回复
    • 空空裤兜

      @老张博客 我的是一个N100主机加蜗牛星际,可以待机半小时

      1 年前 回复
  • Huo

    宿舍里 UPS 的风扇声音不会影响休息吗?
    经常性的断电的确很恼火,也没办法!

    1 年前 回复
    • 空空裤兜

      @Huo 能接受,主要还是对吵闹声不是很敏感

      1 年前 回复
  • 部落志

    24年因为物业原因断过一次电,马上就来电了。这个概率UPS没啥用了

    1 年前 回复
    • 空空裤兜

      @部落志 小黄鱼搞得硬盘都很老了,突然的断电可能就报废了

      1 年前 回复
  • zeruns

    还能这么玩,学到了

    1 年前 回复

猜你喜欢

  • 宝塔无法启动fail2ban解决方法
  • 自建随机图片API
  • 使用msmtp进行邮件通知
  • 源码搭建tiny tinyrss订阅系统
  • Gravatar头像缓存本地化

空空裤兜

和过去过不去,跟未来合不来。
260
文章
1K
评论
556
获赞

随缘推荐

利用SNMP监控VPS性能
一语惊醒植物人(5)
甲骨文linux7.9重装为debian
有种友谊不低于爱情,不叫暧昧,叫蓝颜
win8的备份和还原

专题展示

中国式熊孩子
13 年前
第一次丢数据
12 年前
一语惊醒植物人(13)
13 年前
道道通出现“no mapdb1”错误
11 年前
80后小电影——《玩大的》
14 年前
Copyright © 2010-2026 空空裤兜. Designed by nicetheme.
  • 首页
  • 分类目录
    • 博客建设
    • 兜兜转转
    • 每月一帖
    • 技术存档
  • 留言
  • 人气文章排行榜
  • 热门标签
  • 博客大事记
  • 开往