Proxmox VE联动UPS实现自动关机
创作时间:
作者:
@小白创作中心
Proxmox VE联动UPS实现自动关机
引用
1
来源
1.
https://blog.xuegaogg.com/posts/proxmox-ve-integration-with-ups-for-automatic-shutdown/
为了避免突然断电导致文件系统乃至硬盘损坏,本文将介绍如何将UPS与Proxmox VE(简称PVE)联动起来。当UPS电量低到设定值或断电超过设定时间时,系统将按照特定顺序关闭虚拟机,并最终关闭PVE和主机,以保护数据安全。
安装依赖
首先需要安装相关的软件包:
apt update
apt install nut-snmp
接入UPS
SNMP连接
编辑 /etc/nut/ups.conf 文件,添加以下内容。这里以带SNMP卡的UPS为例,使用 snmp-ups 驱动。
# vim /etc/nut/ups.conf
[sk_sc1k]
driver = snmp-ups
port = 100.97.73.22
community = public
snmp_version = v2c
pollfreq = 15
desc = "SK SC1K SNMP"
# 忽略UPS本身的Low Battery阈值,
ignorelb
# 还剩80%电就标记为低电量,就要关机了
override.battery.charge.low = 80
# 或者等待了5分钟,就要关机
override.battery.runtime.low = 300
USB线连接
如果你是第一次运行,可以使用以下命令扫描生成配置文件。注意,一定要等命令执行出结果,或者直接加 -U 参数扫描USB。
# nut-scanner -U
SNMP library not found. SNMP search disabled.
Neon library not found. XML search disabled.
IPMI library not found. IPMI search disabled.
Scanning USB bus.
[nutdev1]
driver = "blazer_usb"
port = "auto"
vendorid = "0665"
productid = "5161"
vendor = "INNO TECH"
bus = "001"
对于USB连接的UPS,需要将扫描结果中的相关参数复制到 /etc/ups/ups.conf 文件中。
# vim /etc/ups/ups.conf
[ups]
driver = "blazer_usb"
port = "auto"
vendorid = "0665"
productid = "5161"
# bus设置后最好测试一下,有些机器重启后,bus编号会变动,导致无法连接UPS
bus = "001"
# 忽略UPS本身的Low Battery阈值,
ignorelb
# 还剩80%电就标记为低电量,就要关机了
override.battery.charge.low = 80
# 或者等待了5分钟,就要关机
override.battery.runtime.low = 300
接入监控报警
为了实现更全面的监控和报警功能,可以将UPS接入ZABBIX、Grafana等系统。以下是接入后的效果示例:
配置监听
编辑 /etc/nut/nut.conf 文件,设置模式为 standalone(如果只有PVE一台机器使用)。
# vim /etc/nut/nut.conf
MODE=standalone
编辑 /etc/nut/upsd.users 文件,添加一个用户。
# vim /etc/nut/upsd.users
[upsmon]
password = password
upsmon secondary
编辑 /etc/nut/upsd.conf 文件,设置只监听本地接口。
# vim /etc/nut/upsd.conf
LISTEN 127.0.0.1 3493
编辑 /etc/nut/upsmon.conf 文件,添加本地的UPS服务。
# vim /etc/nut/upsmon.conf
MONITOR sk_sc1k@127.0.0.1 1 upsmon password secondary
启动相关服务并设置开机自动启动。
systemctl start nut-server.service
systemctl start nut-monitor.service
systemctl enable nut-server.service
systemctl enable nut-monitor.service
使用 upsc <UPS名称> 命令可以查看当前系统接入的UPS信息。
# upsc sk_sc1k
Init SSL without certificate database
battery.charge: 100
battery.charge.low: 80
battery.current: 0
battery.runtime: 22440
battery.runtime.low: 300
battery.temperature: 28
battery.voltage: 27.20
# ...省略
此时,当UPS断开后,电量低于设定阈值或断电超过设定时长时,系统将自动关闭。如果PVE上有开启的虚拟机,将按照设定的顺序和等待时间依次关闭。
测试配置
为了确保配置正确,需要进行实际测试。拔掉UPS的市电,等待满足设定的电量阈值或断电时长,观察PVE是否开始批量关机。如果在PVE中看到 Bulk shutdown VMs and Containers 的提示,说明配置符合预期。
参考资料
热门推荐
全球首次!中国钢研攻克纯氢冶金钒钛磁铁矿分离技术
常见的道路试验检测方法有哪些?
舞台繁花今灿烂:中国舞台艺术的创新与繁荣
如何利用市场心理学提高投资成功率
PNAS速递:大规模人类行为数据揭示社交媒体信息传播物理规律
墨子:反对儒家思想的第一人,为何要批判孔子的“礼乐”制度?
钢化膜材质与性能研究
国产超景深显微镜的重要性
精耕十数年,专攻大脑里致郁“机关枪”
成语故事里,如何激发孩子学习兴趣?
经济补偿金和赔偿金怎么区分
公司财务报表的法律合规性
投资组合管理的最佳策略与实用技巧分享
看地图学历史:春秋战国局势演变全解析
硫化氢中毒急救和护理
“世界双遗产”黄山:主要景点轮流“放假”
专业文章丨中小企业合同管理常见问题及建议
减肥最快最健康的方法
甲减能否治好
房产继承怎么办需要回事手续
钢筋检测取样标准是多少?
试论唐诗繁荣发展的原因
H5(HTML5)的介绍以及各种应用
地转风是什么 地转风的形成过程
硒鼓和墨盒有啥区别
建筑工程项目管理的竣工验收流程与注意事项
开罗:千塔之城的古今魅力
黄金作为保值工具的优缺点是什么?这种优缺点对投资决策有何影响?
一部具有多重新意的银行史
《猫猫的奇幻漂流》:一场团队协作与自我探索之旅