PVE配置UPS不间断电源

技术类12mos agorelease jjsds
476 0 0

1.列出USB
lsusb  在列表中找到UPS,确认已经接入系统

2.安装NUT
apt update
apt install nut nut-client nut-server nut-cgi

3.扫描UPS
nut-scanner -U

如果NUT安装成功,会在最后列出发现的UPS:
[nutdev1]
driver = “usbhid-ups”
port = “auto”
vendorid = “0463”
productid = “FFFF”
product = “UPS-ADC V1.0012”
serial = “1069957272”
vendor = “HDR”
bus = “003”

然后就要在PVE所在服务器配置UPS的信息,所有配置文件位于 /etc/nut 目录之下所有配置文件都会有注释说明作用,不建议删除注释,建议在文件的文末加入新的配置,并且注意有一些文件的配置会在中间没有注释。

ups.conf

这个文件填入刚刚得到的UPS信息,但是ups的名字可以自己取,我为了方便就叫ups:

maxretry = 3
[ups]
driver = “usbhid-ups”
port = “auto”
vendorid = “0463”
productid = “FFFF”
product = “UPS-ADC V1.0012”
serial = “1069957272”
vendor = “HDR”
bus = “003”

nut.conf

指定运行模式,如果需要局域网其他设备也获取ups信息并关机,选择netserver,如果只需要本机关机,选择standalone,客户机选择netclient
MODE=netserver

upsd.conf

局域网对外的端口(这里不能填127.0.0.1)

LISTEN 0.0.0.0 3493
LISTEN ::1 3493

upsd.user

设置UPS网络服务的用户名和密码,注意,新版NUT是primary,与旧版master不同,用户名密码根据自己喜好设置

[用户名]
password = 密码
action = SET
instcmds = ALL
upsmon primary

upsmon.conf

RUN_AS_USER root
MONITOR ups@localhost 1 用户名 密码 primary
MINSUPPLIES 1
SHUTDOWNCMD “/sbin/shutdown -h +0”
POLLFREQ 5
POLLFREQALERT 5
HOSTSYNC 15
DEADTIME 15
POWERDOWNFLAG /etc/killpower
RBWARNTIME 43200
NOCOMMWARNTIME 300
FINALDELAY 5

设置UPS网络服务的用户名和密码,注意,新版NUT是primary,与旧版master不同

RUN_AS_USER 以什么用户运行脚本

MONITOR 映射哪个UPS

MINSUPPLIES 给出必须接收电源以保持此系统运行的电源数量。大多数系统都有一个电源,所以你可以在这个字段中输入“1”。

SHUTDOWNCMD upsmon调用此函数在发生事情时发送消息

POLLFREQ 正常活动的频率,以秒为单位。UPS使用电池时的轮询频率(秒)。

POLLFREQALERT UPS使用电池时(断电)的轮询频率(秒)。

HOSTSYNC upsmon要等多久才能放弃另一个upsmon

DEADTIME 在宣布过时“死亡”之前等待的时间间隔

POWERDOWNFLAG 用于在主系统上强制关闭UPS的标志文件

RBWARNTIME 更换电池警告时间(秒)

NOCOMMWARNTIME 无通信警告时间(秒)

FINALDELAY 关闭系统前的最后一个睡眠间隔

upssched.conf

调用此脚本以调用触发计时器的命令。
CMDSCRIPT /bin/upssched-cmd
PIPEFN /etc/nut/upssched.pipe
LOCKFN /etc/nut/upssched.lock
AT ONBATT * START-TIMER power-off 40
AT ONLINE * CANCEL-TIMER power-off
AT ONLINE * EXECUTE power-on

重启服务
service nut-server restart
service nut-client restart
systemctl restart nut-monitor
upsdrvctl stop
upsdrvctl start

给予权限并启动upsmon

chown root:nut /etc/nut/upssched-cmd
chmod 750 /etc/nut/upssched-cmd
systemctl restart nut-monitor
systemctl status nut-monitor

重启服务

systemctl restart nut-server

查看当前UPS是否在线状态:

upsc ups@localhost ups.status

查看UPS详细参数

upsc ups@localhost

查看UPS monitor状态

systemctl status nut-monitor
参考:

启动 NUT 的守护进程:
sudo systemctl start nut-server
sudo systemctl start nut-monitor

设置 NUT 在系统启动时自动启动:
sudo systemctl enable nut-server
sudo systemctl enable nut-monitor

步骤 5: 检查状态和测试配置
sudo systemctl status nut-server
sudo systemctl status nut-monitor

测试 UPS 是否正确连接和工作:
sudo upsc ups@localhost

[nutdev1]
        driver = “usbhid-ups”
        desc = “HDR UPS-ADC102”   # 描述信息,自定义,不能为中文
        port = “auto”
vendorid = “0463”
        productid = “FFFF”
        product = “UPS-ADC V1.0012”
        serial = “1069957272”
        vendor = “HDR”
        bus = “003”
        # runtimecal = “600,100,1800,15”
        override.battery.voltage.high = 16.8
        override.battery.charge.low = 30
       # override.battery.runtime.low = 300
        override.ups.beeper.status = “disable”
RUN_AS_USER root
MONITOR ups@localhost 1 admin admin primary
NOTIFYMSG ONBATT “UPS %s on battery”
NOTIFYMSG ONLINE “UPS %s on line power”
NOTIFYMSG LOWBATT “UPS %s battery is low”
© Copyright notes

Related posts