跳转到内容

接入 UPS:NUT 插件 ​

完成后,市电中断时 NAS 能在 UPS 电池耗尽之前自己干净地关机,并给你发邮件;来电后,你也能在仪表盘上看到电池状态。

先说清楚 UPS 的作用:它给你的是几分钟的缓冲时间,让系统有机会正常关机,不是让 NAS 在停电时一直跑下去。没有 UPS 的 NAS 突然断电,轻则要做文件系统检查,重则损坏数据,RAID 和 Btrfs、ZFS 这类冗余手段防不了断电造成的损坏,它们不是备份,见备份策略。选型和容量估算见UPS 与供电。

插件信息 ​

项内容
包名openmediavault-nut
来源官方插件,底层是 Network UPS Tools(NUT)
OMV 8 状态截至 2026-10-22 的官方软件源(synchrony)为 8.0.8-1,要求 openmediavault 8.5.11 或更高
菜单位置服务 → UPS(Services → UPS)、诊断 → 服务 → UPS(Diagnostics → Services → UPS)、诊断 → 性能统计 → UPS(Diagnostics → Performance Statistics → UPS)
依赖nut、udev

准备 ​

  1. 买的 UPS 要有 USB 数据口,用一根 USB 线连到 NAS。只接电源线、不接数据线,NAS 就不知道停电了。
  2. 在 NUT 的硬件兼容列表里查你的型号,看支持哪个驱动。插件默认配置的是最常见的 USB HID 驱动。
  3. 把 NAS 和硬盘柜接到 UPS 的备电插座上。路由器和交换机也接上,这样停电时网络还在,邮件才发得出去。不要把激光打印机之类的大功率设备接在 UPS 上。

安装与配置 ​

  1. 打开 系统 → 插件(System → Plugins),检查新插件,安装 openmediavault-nut。菜单没出现时,在浏览器里硬刷新(Ctrl+Shift+R)。

  2. 打开 服务 → UPS,填写表单:

    字段说明
    已启动默认关闭,要勾选
    模式(Mode)单机版(Standalone):UPS 直接接在这台机器上,默认;网络版(Netclient):连到别处的 NUT 服务器
    标识符(Identifier)UPS 的名字,默认 ups。只能用字母、数字、下划线和连字符,不能叫 default
    注释备注
    驱动配置指令仅单机版。默认是两行:driver = usbhid-ups 和 port = auto,适合大部分 USB 接口的 UPS。其他型号查 NUT 文档的 ups.conf
    关机模式(Shutdown mode)见下一节,默认 UPS 使用电池供电
    关机计时器(Shutdown timer)秒,默认 30,至少 1
    远程监控见下面「多台设备共用一个 UPS」
  3. 保存,点黄色提示条上的 应用。

验证通信 ​

先确认 NAS 和 UPS 能说上话,再谈别的:

  • 打开 诊断 → 服务 → UPS(Diagnostics → Services → UPS),页面显示 UPS 的各项参数,有刷新按钮。

  • 或者在 OMV 的 shell 里,以 root 身份运行(只读命令),标识符用你填的那个:

    sh
    upsc <标识符>
    upsc <标识符> ups.status
    upsc <标识符> battery.charge
    upsc <标识符> battery.runtime

    ups.status 常见的值:OL 表示市电正常,OB 表示正在用电池,LB 表示电池电量低。battery.runtime 是 UPS 估算的剩余秒数,电池老化后会偏乐观,不要全信。不同型号的 UPS 报告的变量不一样,有的没有 battery.runtime。

读不到数据时,先检查 USB 线、驱动配置和 UPS 的 USB 通信是否开启,见本篇的常见问题。

插件还提供 诊断 → 性能统计 → UPS 的图表和两个仪表盘小部件(UPS 的电池和信息),见仪表盘、系统信息与性能统计。

什么时候关机 ​

关机模式决定倒计时从哪一刻开始,关机计时器决定倒计时多长。按插件生成的配置:

关机模式过程
UPS 使用电池供电(默认)一转到电池供电就开始倒计时,并在系统日志里写一条含 Shutdown imminent in N seconds 的记录。倒计时结束前来电,就取消关机;倒计时结束,就发起关机
UPS 电池电量低转到电池时只通知,等 UPS 自己报告电池电量低,再开始倒计时,其余同上

另外,UPS 自己发出强制关机(FSD)信号时会立即关机。关机命令是 /sbin/shutdown -h +0。

默认设置意味着:市电中断超过 30 秒,NAS 就会关机,哪怕 UPS 还剩很多电。 如果你的 UPS 续航比较长、停电多是几十秒的小波动,可以把计时器调大,但是要满足:

计时器 + NAS 完整关机所需的时间,必须明显小于 UPS 在你这台 NAS 的实际负载下的续航,并且留出电池老化的余量。

续航要自己测,别用标称值。想要不浪费电池容量,用「电池电量低」模式的话,要知道 UPS 报「电量低」时通常只剩很短时间,计时器就更不能设长。

多台设备共用一个 UPS ​

一个 UPS 只有一根 USB 线,只能接一台机器。这台机器做服务器,其他机器做客户端:

  1. 服务器上用单机版,勾选 远程监控 的 已启动,设置用户名和密码。插件会让 NUT 服务监听 TCP 3493 端口。
  2. 其他 OMV 上用网络版,填 网络版主机名(服务器的地址)、网络版用户名、网络版密码,标识符填服务器上 UPS 的名字,电源值一般是 1。
  3. 服务器和客户端各自按自己的计时器关机。建议让客户端比服务器先关,所以客户端的计时器设得短一些。

插件没有提供对这个通信加密(TLS)的选项,端口只应该在可信的局域网里开放,不要暴露到公网,见远程访问。

NAS 如果是 Proxmox 虚拟机,一种做法是在 PVE 宿主机上跑 NUT 服务器,OMV 虚拟机用网络版连宿主机,让宿主机统一关机。

通知邮件 ​

UPS 事件会写进系统日志,在 诊断 → 系统日志(Diagnostics → System Logs)的 系统日志 里搜 upssched-cmd,能看到「市电中断」「正在关机」「关机已取消」这类记录。

要收邮件,先配置好邮件通知,再到 系统 → 通知 → 事件(System → Notification → Events)里勾选 UPS。邮件主题形如「UPS notification from 主机名」。

测试断电 ​

真实测试会让 NAS 关机

  • 影响范围:下面的测试会让 UPS 转电池,NAS 会在计时器到时真的关机,所有服务中断。配置错了还会造成意外关机。
  • 前置条件:选一个不赶时间的时段,没有备份、scrub、同步在跑,没有人在用共享;确认主板 BIOS 里「来电后自动开机」的行为,否则关机后要靠人去按电源键。
  • 怎么回退:测试中途想中止,在倒计时结束前把 UPS 接回市电即可取消关机。已经关机的,按电源键开机。
  1. 先测通信:上一节的 upsc 能读到数据,ups.status 是 OL。
  2. 测「来电取消」:拔掉 UPS 的电源线(不是 NAS 的),看 upsc <标识符> ups.status 变成 OB,系统日志里出现关机提示;在倒计时结束前把电源线插回,日志里应出现「Shutdown cancelled」。
  3. 测真正的关机(可选,但强烈建议做一次):拔掉 UPS 的电源线,等计时器结束,NAS 应该干净地关机。再接回市电,看 NAS 会不会自己开机,不会的话去 BIOS 里找「Restore on AC Power Loss」之类的选项,设置成来电后开机。
  4. 测试之后看一眼系统日志和邮件,确认事件都记录了。

电池维护 ​

  • UPS 的电池会老化,几年后续航会明显缩短。NUT 在电池需要更换时会通知,之后大约每 12 小时再提醒一次(RBWARNTIME 的默认值是 43200 秒)。
  • 每季度看一次电池电量,每年做一次实测续航。
  • 搬动或更换 UPS 后,重新做一遍上面的测试。

检查结果 ​

  1. upsc <标识符> 有输出,ups.status 是 OL。
  2. 诊断 → 服务 → UPS 页面能刷新出数据,仪表盘上能看到 UPS 小部件。
  3. 做过一次「来电取消」测试,日志里有对应记录。
  4. 收到过一封 UPS 通知邮件(或者你明确知道它没配置)。
  5. 你知道你的 UPS 在这台 NAS 的负载下能撑多久,并且计时器明显小于它。

常见问题 ​

upsc 读不到数据。 检查 USB 线是否接在数据口;在 shell 里 dmesg -T | tail -n 30 有没有识别到 USB 设备;驱动配置是否适合你的型号;有的 UPS 要在面板上开启 USB 通信。

保存时提示标识符无效。 只能用字母、数字、下划线、连字符,且不能是 default。

一停电 NAS 就关机,UPS 还有很多电。 这是默认的「UPS 使用电池供电」加 30 秒的组合,按上面的方法调整关机模式和计时器。

NAS 关机后,UPS 一直在响或不断电。 UPS 在系统关机后是否断电,由 NUT 和 UPS 的型号共同决定,插件为它配置了关机标志文件。如果影响使用,查你的型号在 NUT 文档里的说明。

网络版连不上服务器。 检查服务器的 远程监控 是否开启,用户名和密码、标识符是否对得上,防火墙是否放行 TCP 3493。

参考资料 ​

OpenMediaVault 非官方中文使用指南,与 openmediavault 项目及其开发者无隶属关系。