ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

UPS选型与NUT联动关机:PVE/TrueNAS实战

UPS选型与NUT联动关机:PVE/TrueNAS实战 1. 从一个深夜的断电电话说起UPS到底在保什么凌晨两点接到电话说机房全黑了值班同事第一句话是服务器不是有UPS吗。赶到现场打开柜门面板上红灯一片负载还挂着只是电池组已经鼓包三年没换——这种场面我遇到过不止一次。很多人对UPS的理解就是停电了还能撑一会儿但真正把它用对的人关心的从来不是那一会儿而是这一会儿里系统有没有把该做的事做完。UPS也就是不间断电源它的价值不在于电池而在于它给你争取到的那段可控时间窗口。这篇文章我想把它讲透UPS到底铺在哪些领域、什么场景该用哪种、它和常被混为一谈的EPS差别在哪、以及最容易被忽略的一段——怎么把UPS接进你的系统里让PVE 9.2上的虚拟机和TrueNAS SCALE上的存储池在电池见底前自动、有序地停下来。前半段讲选型和场景后半段直接给配置和排错链路家里一台NAS、公司一个机柜、厂里一条产线都能对号入座。先说一个反直觉的结论大部分UPS事故不是UPS坏了而是没人管它。电池是消耗品三到五年一轮监控是空白的掉电了才知道关机顺序没设计结果存储比计算先死数据比断电更受伤。所以这篇文章的重心会放在选对之后的用对。1.1 停电其实有三种形态不是一种很多人的认知里停电就是灯灭了。实际在供电侧扰动分三档UPS要处理的也是三档不同的东西。第一档是毫秒级到几百毫秒的电压暂降和闪断。负载端表现为设备的开关电源里那颗大电容还能不能扛住。典型ATX电源的保持时间hold-up time在额定负载下是12到20毫秒所以10毫秒的切换窗口它是能顶住的但如果电压只是掉到160V持续半秒电源就会进入欠压保护直接重启。半导体产线最怕的就是这一档一次几十毫秒的暂降整批晶圆可能就报废了损失远大于一台在线式UPS的价格。第二档是分钟级到小时级的计划外停电。这是家庭NAS、办公机柜最常遇到的情况也是NUT这类软件关机能派上用场的场景——UPS给的不是继续工作而是体面收尾。第三档是长时间停电或者市电质量问题比如偏远站点、山区基站、户外机柜这时候UPS只是过渡真正的主力是油机或者光伏储能。UPS的角色变成在油机启动并稳定输出的这30到60秒里不断电。注意把UPS当发电机用是新手最常见的误判。绝大多数UPS的电池只为十几分钟到一小时的后备设计深循环放电会加速电池老化循环寿命断崖式下跌。1.2 UPS的三层目标保设备、保服务、保数据我习惯把UPS的作用拆成三层因为三层对应三种完全不同的选型和配置思路。最底层是保设备防止硬件因为反复上下电而损伤。硬盘在掉电瞬间磁头归位靠的是自身旋转惯性问题不大但SSD的FTL映射表、RAID卡的写缓存、主板BIOS的掉电时序就不好说了。这一层只需要后备式UPS撑5到10分钟足够。中间层是保服务比如收银台、门禁、监控录像、通信链路这些设备不能中断中断就意味着业务停摆或者合规问题。这一层需要在线互动式以上并且后备时间通常要算到30分钟以上。最上层是保数据文件系统一致性、数据库事务完整、虚拟机磁盘不出现半写状态。这一层的实现方式不是靠电池撑而是靠联动关机——UPS通过USB或者网络把我在放电电池快没了这两个信号传给主机主机按预设顺序停下来。三层目标经常被混在一起谈结果就是要么花了双变换在线式的钱买了个只撑5分钟的电池组要么指望后备式UPS去保护一条不能停的产线。分开看选型立刻清晰。2. UPS真正铺开的场景从书桌下的NAS到万吨产线说使用领域容易说空我按功率段和真实需求把它摊开讲。2.1 家庭与个人工作室NAS、软路由、监控主机这是这几年增长最快的一块因为家庭里自建存储和虚拟化的人多了。典型配置是一台四盘位NAS、一台跑PVE的迷你主机、一个软路由或者PoE交换机总功率常在80到200W之间。这个场景的诉求其实很朴素别让ZFS池在写入时断电。ZFS本身是写时复制的断电后大概率能回滚到最近一次事务组但如果你开了同步写关闭syncdisabled或者跑着iSCSI、虚拟机磁盘掉电就可能导致虚拟机磁盘损坏、iSCSI目标需要重新校验。所以家用场景我强烈建议把NAS和虚拟化主机都接到同一台UPS上用NUT做联动关机哪怕后备时间只有10分钟也足够把十几台虚拟机干净地停下来。家用选型上600VA到1500VA的在线互动式是主流价格适中、输出接近正弦波对主动PFC电源友好。要避开的坑是那种标称模拟正弦波的廉价后备式——主动PFC电源接到阶梯波输出上轻则发热异响重则直接保护关机。2.2 中小企业机柜、工位、收银与门禁中小企业机柜的特点是负载杂。一台塔式服务器、一台NAS、交换机、路由器、防火墙、可能还有一台小型的门禁控制器功率可能在500W到2000W之间。这里的核心矛盾是预算和规范之间的拉扯。我的经验做法是分两级核心机柜用一台2到3kVA的在线式或者在线互动式覆盖所有网络和存储设备办公工位上的电脑用几百VA的后备式只保证不因为闪断重启不需要联动关机。这样预算集中在关键点不至于全铺开。零售和餐饮场景要注意一个细节收银机、电子秤、打印机这类设备很多是外置电源适配器输入范围窄、没有PFC对波形不敏感但对切换时间敏感。收银台断电重启一次当天流水可能要重录所以这里的UPS优先看切换时间其次才看容量。2.3 工业与公共设施产线、医疗、安防、交通这块是UPS最能体现价值的地方也是最容易被简化对待的地方。工业产线上PLC、伺服驱动器、工控机、视觉系统对电压暂降极其敏感。很多工厂的做法是在关键工位加装小容量在线式UPS而不是全厂铺开因为全厂铺开的成本会失控。我见过比较聪明的做法是按控制回路和动力回路分开UPS只挂在控制回路上动力回路由接触器在断电时直接释放这样既保住了PLC的程序和状态又不用为几百千瓦的电机买单。医疗场景里手术室、ICU、检验科设备对供电连续性有明确要求通常需要在线式双变换UPS并且要配旁路柜和定期带载测试。这里的选型不是IT人员决定的而是和医疗设备厂商的供电要求挂钩别自己拍脑袋。安防监控是我见过最容易踩坑的场景。NVR加十几路PoE摄像机的总功率经常被低估。PoE交换机的标称功率是满配端口的上限实际每路摄像机可能只有5到8W但加上NVR的硬盘阵列和交换机自身损耗一台16路NVR加PoE交换机的实际功耗很容易超过300W。更麻烦的是很多人在摄像机端单独加小UPS以为更保险实际上是增加了故障点和维护成本正确做法是集中在一处做UPS把供电线路的可靠性做扎实。交通和通信比如路口信号机、隧道照明控制、基站这些点位分散、维护困难选型时要优先考虑宽温、防尘、远程可监控。这类场景里SNMP网卡几乎是刚需因为没人会为了看一块面板灯专门开车去山上的机柜。2.4 数据中心与算力集群数据中心里UPS的形态完全不同它是整个供配电链路的一环市电双路进线、ATS切换、UPS、列头柜、机柜PDU、最后到服务器双电源。UPS在这里通常用模块化或者大功率在线式按N1或者2N配置后备时间不追求长10到15分钟足够因为背后还有柴发。这块的关键词是冗余和可维护性。旁路要能在线投切电池要能单组更换模块要能热插拔。至于怎么把UPS状态接进DCIM或者监控平台SNMP几乎是唯一选择这也是后面我会重点讲的一段。场景典型功率常用拓扑后备时间最关注的点家庭NAS/虚拟化80~300W在线互动式10~30分钟联动关机、正弦波输出中小企业机柜0.5~3kVA在线互动/在线式20~60分钟负载兼容性、扩展性零售收银/门禁0.3~1kVA后备/在线互动15~30分钟切换时间、体积噪音工业控制回路1~10kVA在线式10~30分钟宽输入范围、工业环境医疗手术/ICU3~30kVA双变换在线式30~120分钟冗余、旁路、测试规范数据中心100kVA以上模块化在线式10~15分钟N1/2N、可维护性3. UPS和EPS不是一家人切换时间、负载性质与标准的分水岭热词里ups与eps出现频率很高说明混淆的人很多。我用一句话概括差别UPS保信息EPS保逃生和保运转。这两个词看起来像兄弟实际上从设计目标开始就分岔了。3.1 切换时间一个看毫秒一个看秒UPS的切换时间是毫秒级。后备式典型在4到10毫秒在线互动式2到6毫秒双变换在线式理论上0毫秒因为逆变器一直在供电市电只是给整流器供能。EPS应急电源的切换时间通常在0.1到0.25秒某些场合允许更长。这个时间差不是技术做不到而是需求不同消防应急照明、排烟风机、消防水泵这些负载0.25秒的断电完全能接受而为了达到毫秒级切换需要付出的成本和损耗要高得多。反过来说把EPS用在IT负载上就是灾难。一台服务器在0.1秒的断电里会直接重启重启过程中UPS的容量在启动冲击电流面前可能直接被拖垮。3.2 负载性质决定归属感性、容性还是开关电源EPS的设计重心是带感性负载和电机负载。消防水泵、风机、电梯这类设备的启动电流是额定电流的5到7倍EPS要能承受这种冲击所以它的逆变器过载能力通常做到120%长期、150%短时甚至更高输出波形为了驱动电机通常是大功率正弦波或者准正弦。UPS的设计重心是带开关电源类负载。服务器的输入级是整流加PFC属于非线性负载会产生谐波功率因数接近1但波形是尖峰状的。UPS的逆变器要能承受这种峰值电流同时对输出波形的THD总谐波失真要求更严一般要求线性负载下低于3%。这就解释了一个常见现象一台标称6kVA的UPS带不动机器设备或者一台EPS带服务器会莫名其妙的报错关机。不是容量不够是负载匹配错了。3.3 三个我见过的典型误用第一个把EPS当UPS买回家接NAS。结果电池是阀控式铅酸深循环设计放电曲线陡切换时NAS重启来回几次硬盘就出坏道了。第二个给消防应急照明用UPS。虽然能亮但UPS的消防联动接口、消防认证、耐高温要求都不满足验收根本过不去。这类场合必须用符合消防标准的集中电源或者EPS。第三个用后备式UPS带一台带主动PFC的高功率服务器。空载测试一切正常一带载就随机重启最后查出来是阶梯波输出导致PFC电路工作异常。这类问题在低压小容量场景里非常隐蔽很多人会把锅甩给服务器电源。提示选型前先看一眼负载铭牌上有没有Active PFC或者功率因数≥0.9的字样有的话就必须选正弦波输出的UPS别省这笔钱。4. 三条拓扑路线后备式、在线互动式、双变换在线式按内部结构分UPS就三类。搞清楚这三类的差别选型基本不会走偏。4.1 后备式便宜、够用、但有明显天花板后备式的结构最简单市电正常时直接旁路给负载同时用一个小充电器给电池充电市电异常时切换到逆变器输出。切换靠继电器所以有毫秒级的断点。优点是效率高市电模式下接近99%、噪音小、价格便宜、体积小。缺点是输出波形差多为阶梯波或方波、切换有断点、输入电压范围窄、没有稳压能力、不适合长期带载。我的定位很清楚它只适合个人电脑、路由器、监控主机这类对波形不敏感、且不需要长时间运行的设备。一旦负载里有主动PFC电源、激光打印机、NAS就直接跳过它。4.2 在线互动式家用和中小场景的主力在线互动式在后备式的基础上加了一个**自动稳压AVR**的抽头变压器市电偏高偏低时通过切换变压器抽头来稳定输出只有超出范围才切到电池。输出波形大多是正弦波。它的优势是稳压范围宽、切换时间短、输出波形好、效率仍然很高。价格比后备式贵一些但比双变换在线式便宜很多。对于家庭NAS、办公机柜这是我认为性价比最高的路线。要注意的是在线互动式在面对频率漂移时表现一般如果配发电机需要选输入频率窗口宽的型号有些能做到40到70Hz自动识别否则发电机启动后UPS会一直在电池和市电之间来回切换。4.3 双变换在线式0毫秒切换代价是效率和发热双变换在线式的原理是把市电整流成直流再用逆变器重新生成纯净的交流电。负载永远由逆变器供电所以市电出问题的时候不需要切换输出零中断。代价是市电到负载要经过整流和逆变两次变换效率通常在90%到95%之间损耗变成热量所以要有风扇散热噪音比前两类大价格也明显更高。它适合的场景是工业控制、医疗设备、数据中心、以及对电压质量和切换时间有硬要求的场合。还有一类容易被忽略的用户电网质量差、电压经常在170V到250V之间晃的地区在线式能把这部分问题全部吃掉。4.4 一张表说清怎么选维度后备式在线互动式双变换在线式切换时间4~10ms2~6ms0ms输出波形阶梯波/方波正弦波纯净正弦波稳压能力无有抽头式全程稳压效率最高高中90~95%噪音发热低低中高价格低中高适合负载PC、路由器NAS、办公机柜工控、医疗、机房选型决策我想给一个简单的三步法先看负载能不能接受毫秒级断点再看负载对波形有没有要求最后看市电质量好不好。三问下来答案基本就锁定在某一类了不需要纠结参数表。5. 把UPS接进系统PVE 9.2、TrueNAS SCALE 与 SNMP 网卡前面都是选型这一段开始是实操。很多人UPS买回来插上USB线就完事了以为装个厂商软件就行结果是软件只保护本机、关机顺序也不对。我用得最顺手的是NUTNetwork UPS Tools它是跨平台的Linux、BSD、部分NAS系统都自带或者可以装而且天生支持一台UPS多台主机的主从架构。5.1 先把NUT的架构讲清楚后面配起来就不迷路NUT由几个组件构成理解了它们的分工配置文件就不会配错。驱动driver直接跟UPS通信的进程比如usbhid-ups走USB、snmp-ups走网络、blazer_usb走一些国产机型。它负责把硬件协议翻译成NUT的统一变量。upsd数据服务监听3493端口把所有UPS的状态变量对外发布。upsc / upsrw / upscmd客户端工具分别用来读状态、读写参数、下发命令比如电池自检。upsmon守护进程负责监控电源状态、触发关机。它分master和slave两种角色。一台直连UPS的机器同时跑驱动、upsd和upsmon叫standalone模式只读远端数据、自己触发关机的机器只跑upsmon叫netclient模式。家里和公司的小型场景我建议把那台7×24小时常开的NAS设成master其他机器设为slave因为NAS通常最先开机最后关机。5.2 在PVE 9.2上把NUT客户端配起来PVE 9.x 基于 Debian 13软件源里直接就有NUT不需要额外加源。假设我们有一台NASIP 192.168.10.20已经直连UPS并且跑着upsd现在要把PVE主机接进来做从机。第一步装包apt update apt install -y nut-client第二步修改/etc/nut/nut.conf声明这台机器是网络客户端MODEnetclient第三步配置/etc/nut/upsmon.confMONITOR nasups192.168.10.20 1 nutuser yourpassword slave MINSUPPLIES 1 POLLFREQ 5 POLLFREQALERT 5 HOSTSYNC 15 DEADTIME 15 POWERDOWNFLAG /etc/killpower SHUTDOWNCMD /sbin/shutdown -h 0 NOTIFYCMD /usr/sbin/upssched NOTIFYFLAG ONBATT SYSLOGWALLEXEC NOTIFYFLAG LOWBATT SYSLOGWALLEXEC NOTIFYFLAG ONLINE SYSLOGWALL这里有几个参数值得解释因为配错了会出大问题。MONITOR那一行的第一个数字是供电路数老老实实写1最后的master/slave必须和UPS服务端的upsd.users里定义的权限一致写反了会被拒绝连接。POLLFREQALERT表示进入电池模式后的轮询间隔我把它设成5秒因为低电量告警来得很快采样太慢可能来不及关机。HOSTSYNC是等待从机断开的时间多机场景下这个值要给足否则主机会在从机还没关完的时候就切断了。第四步如果这台PVE是直连UPS的主机还需要在/etc/nut/upsd.users里给从机开账号[nutuser] password yourpassword upsmon slave第五步启动并设为开机自启systemctl enable --now nut-client systemctl restart nut-monitor # 直连主机还要 restart nut-server upsc nasups192.168.10.20 # 验证能读到变量upsc能输出一堆变量就说明链路通了。重点看ups.status正常情况下是OLOnline切到电池时变成OB低电量时是OB LBLB就是触发关机的那一位。可以用upsc nasups192.168.10.20 ups.status单独看这一项。PVE特有的一个坑主机执行shutdown的时候PVE的pve-guests.service会先把所有虚拟机按ACPI方式优雅关机再关主机。所以你要关注的是虚拟机的关机超时时间如果某台虚拟机卡在关机流程里主机会等它超时然后强制断电等于白配。我的做法是给关键虚拟机设置合理的onboot和关机超时或者在guest内部也装一个NUT客户端收到ONBATT就开始自己收尾。提示从机上的SHUTDOWNCMD不要写成重启写-h关机。断电场景下重启没有意义反而可能在市电还没稳定时二次掉电。5.3 TrueNAS SCALE 自带的UPS服务怎么用TrueNAS SCALE内置了UPS服务界面在系统设置 → 服务 → UPS里不同版本位置略有差别核心参数是一致的。它内部就是NUT所以配好之后PVE那台机器可以直接把它当服务端。本机直连UPS的情况下配置项大致是这些驱动DriverUSB连接选usbhid-ups网卡连接选snmp-ups老式串口型号可能是blazer_ser或者厂商专用驱动。端口PortUSB选autoSNMP填UPS网卡的IP串口填/dev/ttyS0之类。标识符Identifier给这台UPS起个名字比如nasups。这个名字就是远程主机MONITOR那行里后面的部分必须一致。监控用户 / 密码用于本机upsmon随便设一个强密码写进界面里就好。远程监控Remote Monitor如果要让TrueNAS作为从机去监控另一台NUT服务端就勾上它然后填远程主机IP、远程端口默认3493、远程UPS名称、以及远程端的用户名密码。关机模式一般选电池电量低时关机UPS reaches low battery因为进入电池模式就关机太激进了闪断一下就把NAS关了得不偿失。关机计时器可以额外设一个固定秒数比如300秒作为低电量信号的兜底。这里的重点是互补关机Complementary Shutdown。在一个既有虚拟化主机又有存储的AIO环境里正确的次序是计算节点先关存储节点后关。如果两者都监听同一台UPS可以通过给不同的FINALDELAY和不同的关机触发条件来实现——计算节点在OB LB时立刻关存储节点额外加一个延迟或者在TrueNAS端把关机计时器设得比计算节点长几十秒。这个几十秒的差值就是让iSCSI和NFS的写入彻底落盘的时间。我自己踩过的一次坑是PVE主机和TrueNAS同时收到LB信号一起关机结果TrueNAS的iSCSI target在PVE的虚拟机还没完全停掉的时候先下线了虚拟机报了IO错误重启后有两块虚拟磁盘需要fsck。后来把TrueNAS的关机计时器调到比PVE晚60秒问题再没出现过。5.4 SNMP网卡远程UPS接入的正确姿势如果你的UPS装了网络管理卡主流品牌都有选配件那就走SNMP路线。好处很明显不受USB线长限制一台UPS可以让十几台主机同时监控而且能直接接进现有的监控系统。NUT侧配置长这样[snmpups] driver snmp-ups port 192.168.10.50 mibs apcc community public pollfreq 30 desc Rack UPS via NMCmibs这个参数是SNMP路线里最关键也最容易配错的一项。不同品牌的UPS用的是不同的MIB结构MIB取值对应品牌/标准说明apcc主流美系品牌网卡私有MIB变量最全mge部分欧系品牌私有MIBeaton部分工业品牌私有MIBietfRFC 1628标准UPS MIB通用但变量较少netvision特定网卡系列老型号常用配错了mibs的典型表现不是连不上而是连上了但读到的值是错的比如剩余电量永远是0、输入电压显示成输出电流。排查方法是用调试模式跑一遍驱动/usr/lib/nut/snmp-ups -DD -a snmpups看它实际抓到的OID和映射结果一眼就能看出哪个变量对不上。如果标准MIB能读到基本状态ups.status、battery.charge但读不到详细参数说明该型号只支持标准MIB这时候接受现实能用状态做联动关机就够了。另外安全上别用public团体字跑在公网上。现代网卡基本都支持SNMPv3NUT侧可以这样写[snmpups] driver snmp-ups port 192.168.10.50 mibs apcc secLevel authPriv secName nutmon authPassword authpass privPassword privpass pollfreq 30SNMPv3配置里有两个坑一是secLevel必须是authPriv、authNoPriv、noAuthNoPriv之一写别的直接报错二是密码长度有下限通常认证密码至少8位太短会被静默拒绝。5.5 关机编排谁先死、谁后死这一段是我认为整篇文章最值钱的部分因为大多数教程讲到能监控了就结束了。正确的关机顺序取决于依赖关系不取决于设备大小应用层数据库、虚拟机、容器。它们上面的数据最脏必须最先收尾。虚拟化层PVE、其他Hypervisor。等Guest停完再停自己。存储层NAS、SAN、共享存储。等所有写入方下线后再停。网络层交换机、路由器可以最后停因为前面几层停止的过程中还要通信。实现方式有三种我按推荐度排序第一种全用NUT靠延迟错开。所有机器都监听同一台UPS计算节点用默认的LB触发存储节点通过TrueNAS的关机计时器延后60秒网络设备如果支持NUT也接入并延后更久。优点是简单、没有额外组件。第二种用upssched做事件脚本。NUT自带upssched可以按事件触发自定义脚本。比如在/etc/nut/upssched.conf里给不同事件配不同命令收到ONBATT时先给管理员发通知、把非关键虚拟机迁移或停掉收到LOWBATT时执行关机。这种方式适合逻辑复杂的场景。第三种上层编排工具统一调度。如果你有Ansible之类的工具可以让UPS主机收到告警后调用一个清单任务按依赖顺序逐台关机。复杂度最高但可控性最好。6. 容量与后备时间怎么算VA、W和电池组的那点事选型的时候最常见的两个问题是我这些设备要买多大的和这电池能撑多久。这两个问题都不难但需要知道几个概念。6.1 VA和W不是一回事功率因数要先算清UPS标称容量有两个数VA视在功率和W有功功率。两者的比值就是功率因数。老式UPS的输出功率因数常常只有0.6到0.7也就是说一台1000VA的UPS实际只能带600到700W。现在的机型大多标0.9甚至1.0。计算方法是把负载的有功功率加起来再留30%的裕量给启动冲击和后期扩展所需UPS有功功率(W) 负载总功率 × 1.3 所需UPS容量(VA) 所需有功功率 / UPS标称功率因数举个实际的例子一台NAS约80W一台迷你主机约60W一个8口PoE交换机带4路摄像机约120W光猫加软路由约30W合计290W。乘1.3是377W。如果选的UPS功率因数是0.9那么VA数需要419VA向上取一款600VA/360W的就不太够360W 377W应该选800VA或1000VA的型号。注意激光打印机、带压缩机的设备、大功率音箱这类有冲击电流的负载启动瞬间功率可能是标称的3到7倍。这类设备我建议不接UPS或者单独接一台并留足裕量。6.2 后备时间的估算以及为什么厂商表格更靠谱理论估算的公式是这样的可用能量(Wh) 电池组容量(Ah) × 电池组电压(V) × 逆变效率(约0.85~0.9) × 有效放电系数(约0.6~0.7) 后备时间(分钟) 可用能量(Wh) / 负载功率(W) × 60拿一组常见的双12V/9Ah电池举例容量就是216Wh。乘0.9乘0.65可用能量约126Wh。带200W负载理论时间是38分钟。但实测往往比这个短原因是铅酸电池存在Peukert效应——放电电流越大实际能放出的能量越少。所以真实的数字应该查厂商给出的负载-时间曲线表一般在产品手册里。经验上让负载控制在UPS额定有功功率的**30%到50%**之间后备时间和电池寿命都会比较舒服。还有一点新电池的前几次放电容量会略低于标称需要几次充放循环才能达到峰值这不是故障。6.3 电池是消耗品温度决定它的寿命蓄电池的寿命对温度极其敏感。以常见的阀控密封铅酸电池为例设计浮充寿命通常是5年25℃条件下温度每升高10℃寿命大约减半。放在机柜底部的UPS夏天柜内温度到40℃的话理论寿命就只剩两年多。我一般建议这样管理每季度做一次自检大部分UPS面板或者upscmd -u user -p pass 设备 test.battery.start.quick可以触发。每年做一次带载放电测试放电到50%左右就恢复市电记录实际后备时间和去年对比。掉到初始值的60%以下就该考虑换电池了。电池组整组更换不要只换坏的那一节。混用新旧电池会导致新电池被拖垮这是我在现场见得最多的错误。关注环境温度机柜加装温控风扇的成本远低于三年换一次电池组。7. 装完才是开始验收、排错和几个反直觉的坑7.1 上电验收该测哪几件事新装或者换电池之后我固定会做这四件事第一空载和满载状态下的输出电压。用万用表量一下输出插座市电模式应该在220V±5%以内电池模式也要在这个范围。第二手动拔掉市电掐表看切换。连接的设备如果有重启说明切换时间不够或者波形不兼容这时候换UPS比换设备便宜。第三验证联动关机。别等真停电。可以用upsmon -c fsd模拟一次强制关机流程这会真的关机所以要在维护窗口做或者临时把负载设备拔掉观察监控和告警是否按预期触发。第四核对关机顺序。特别是存储和计算分离的架构一定要实测一次看存储是不是最后停的。7.2 排错链路从没反应到关机顺序乱套我把常见现象、原因和排查顺序整理成一张表遇到问题按这个路子走基本能定位现象可能原因排查动作upsc无输出MODE配错、服务没起看nut.conf的MODEsystemctl status nut-server认不到USB UPS驱动不匹配、被内核hid驱动占用换usbhid-ups/blazer_usb试看dmesg读到状态但电量恒为0mibs配错或者机型不支持该变量调试模式跑驱动核对OID从机连不上3493防火墙、upsd.users权限ss -lntp看端口核对master/slave收到LB但不关机SHUTDOWNCMD写错、权限不足看/var/log/syslog里upsmon的输出关机顺序乱所有机器同一时刻触发给存储节点加延迟或改互补关机频繁在OL/OB之间跳输入电压临界、灵敏度设太高调灵敏度档位或检查线路压降带载就重启波形不兼容、容量不足、电池老化换正弦波机型重新算容量测电池7.3 几个反直觉的坑第一个坑UPS不是越灵敏越好。很多UPS有灵敏度档位高档位对电压波动特别敏感电网稍微一抖就切电池。结果市电质量一般的地方UPS一年切几百次电池两年就报废。我的做法是把灵敏度调到中低档让UPS在小幅波动时用AVR扛过去真掉电了再切电池。当然这个前提是你的输入电压范围够宽。第二个坑在线式UPS的漏电流可能让漏电保护器跳闸。在线式UPS内部的EMI滤波电路对地有漏电流多台设备叠加上去如果配的是30mA的漏电保护器可能一合闸就跳。这种情况要用工业型漏电保护器带延时或者更高阈值或者单独给UPS回路。但这不是让你取消漏电保护而是要做好回路划分。第三个坑多台UPS不能简单并联。想通过加一台UPS来扩容如果两台UPS的输出直接并联相位和电压的微小差异会产生环流轻则报错重则损坏。要扩容必须用支持并联的机型配并联套件或者干脆换成一台更大容量的。第四个坑只监控不通知等于没监控。NUT配好了日志里一堆事件但没人看。我现在固定会把ONBATT和LOWBATT两个事件接到通知渠道哪怕只是一封邮件。断电这种事早三十秒知道和晚三十秒知道处理方式完全不同。再说个我自己的习惯每台UPS都贴一张卡片写清楚安装日期、电池更换日期、监控主机IP、UPS名称、以及上一次带载测试的实际后备时间。这东西看起来土但真出事的时候新接手的同事能在五分钟内搞清楚状况比翻配置文件和文档快得多。最后分享一个我用了很久的小技巧在PVE或者TrueNAS上把upsc的输出定期存一份到日志里比如每个小时跑一次记录电池电压和负载率。这些数据攒上一年你就能看出电池的衰减曲线什么时候该换电池不再是感觉不太行了而是有数据支撑的判断。电池这东西换早了浪费钱换晚了可能就是一个凌晨两点的电话。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进