孙亮亮
返回 NAS 系统

NAS 系统

NAS 接 UPS 断电自动保护实战:USB 通讯、NUT 网络供电监控与停电安全关机

2026年10月19日

NAS 接 UPS 实现停电自动安全关机与供电监控

NASUPS断电保护NUT

NAS 接 UPS 断电自动保护实战:USB 通讯、NUT 网络供电监控与停电安全关机

摘要:NAS 最怕突然断电——RAID 阵列降级、文件系统元数据损坏、未写完的写入丢失,严重时整套存储直接掉盘。本文用一台几百元的 UPS 配 USB 通讯,配合群晖/飞牛自带功能或开源 NUT,实现“市电中断 → 撑到安全阈值 → 自动有序关机”,并延伸到多设备联动断电,把意外停电对数据的伤害降到最低。

为什么 NAS 必须配 UPS

机械硬盘在读写时磁头悬浮在盘片上方,突然掉电会让磁头紧急归位,长期如此增加坏道概率;更危险的是文件系统层面:btrfs/ext4 的日志还没落盘,阵列便处于“脏”状态,来电后需长时间 fsck 或阵列重建,期间再断电就可能丢数据。企业级经验是“Storage 必须接 UPS”,家庭和小企业 NAS 同样适用——一台 500–1000 元的后备式 UPS 足以让 2–4 盘位 NAS 撑 10–30 分钟,足够触发自动关机。

UPS 选型与三种通讯方式

  • 后备式(Off-line):性价比高,断电瞬间切换,适合桌面 NAS。注意标称“多少 W”是功率,要看电池容量(VA×0.6 左右才是实际可用瓦时)。
  • 通讯接口决定自动化能力:
    1. USB HID:绝大多数 APC、山特、雷迪司支持,插上 Linux 即识别为 /dev/hidraw*,无需驱动即可读电量。
    2. 网口 SNMP:机房级 UPS(如 APC Smart-UPS),通过网络读状态,适合多设备集中管理。
    3. 串口/干接点:老设备,需配线缆,今已少见。

本文以最普遍的 USB HID 为主线。

方案 A:群晖 / 飞牛自带 UPS 支持

群晖 DSM 路径:控制面板 → 硬件和电源 → 不断电系统。把 UPS 的 USB 线插到 NAS,系统会自动识别型号。关键设置:

  • 勾选“启用 UPS 支持”;
  • “安全模式”阈值:建议设为“UPS 电量低于 15% 或断电 5 分钟”再关机,避免短暂停电误关机;
  • 勾选“网络 UPS”,可让同网段其他设备把这台当 UPS 服务器。

飞牛 fnOS 在 系统设置 → 电源 → UPS 同样支持 USB 自动识别与断电关机。对单台 NAS,这是最省事的选择,10 分钟搞定。

方案 B:用 NUT 在任意 Linux NAS 接管 UPS

如果你的 NAS 是 Debian/Ubuntu 或飞牛的底层 Linux,想更可控,用开源 NUT(Network UPS Tools)。

安装:

sudo apt install nut nut-client nut-server

编辑 /etc/nut/ups.conf 定义设备:

[myups]
  driver = usbhid-ups
  port = auto
  desc = "APC Back-UPS BX"

编辑 /etc/nut/upsd.conf 允许监听:

LISTEN 0.0.0.0 3493

编辑 /etc/nut/upsd.users 建用户:

[monuser]
  password = yourpass
  upsmon = slave
[admin]
  password = adminpass
  actions = SET
  instcmds = ALL

编辑 /etc/nut/upsmon.conf:

MONITOR myups@localhost 1 monuser yourpass slave
SHUTDOWNCMD "/sbin/shutdown -h +0"

启动并测试:

sudo systemctl enable --now nut-server nut-monitor
upsc myups@localhost

能看到 battery.charge、input.voltage、ups.status: OL(在线)即成功。

停电安全关机:阈值、延时与顺序

NUT 默认在 ups.status 变 OB(On Battery,离网)时并不立刻关机,需在 upsmon.conf 配 NOTIFYCMD 或用 upssched 做延时。典型策略:

  • 断电 2 分钟内 市电恢复 → 不动作;
  • 超过 5 分钟 仍离网,或电量 < 20% → 执行 SHUTDOWNCMD;
  • 关机前先停 Docker 服务、卸载存储池,再关系统,避免写入中断。

这样短暂停电(如跳闸)不会误关,真正长时间停电才安全落盘。

网络 UPS:多设备联动关机

家里若还有软路由、迷你主机、PoE 交换机,可让它们都当 NUT 客户端,指向 NAS 这台 NUT 服务端(MONITOR myups@nas-ip 1 ... master)。市电一断,所有设备按同一阈值有序关机;来电后 BIOS 设“断电恢复自动开机”即可批量复活。这是小企业“单 UPS 保多设备”的低成本方案。

常见坑

  • 误关机:阈值设太低或没延时,跳闸一下就关;一定加 upssched 延时。
  • 电池老化:铅酸电池 2–3 年衰减,用 upsc 看 battery.runtime,低于额定一半就换。
  • 假在线:UPS 插了 USB 却被识别成普通 HID,检查 lsusb 与 driver 是否匹配。
  • Hypervisor:若在 PVE/ESXi 上跑 NAS 虚拟机,要让宿主机先优雅关虚拟机再关机,可用 NUT 的 EXECUTE 脚本调 virsh shutdown。

小结

给 NAS 配 UPS 不是“锦上添花”而是“底线保护”。单台设备用群晖/飞牛自带功能 10 分钟搞定;想统一管理多设备,NUT 是免费且强大的方案。核心是三点:识别 UPS、设好延时阈值、关机前有序停服务。把这套配好,以后跳闸停电你都能睡个安稳觉。

本模块其他文章

家庭与小企业 NAS 文件共享实战:SMB 多用户挂载、权限隔离与 Windows/Mac 访问指南NAS 容器化应用纳管实战:用 Docker Compose + Watchtower 编排多服务并自动安全更新NAS 硬盘健康监控实战:用 smartmontools + Scrutiny 提前发现坏盘与温度预警NAS 用 Syncthing 搭建多设备实时文件同步:手机电脑 NAS 自动互备实战NAS 数据备份 3-2-1 策略实战:rsync 本地快照 + rclone 加密同步对象存储NAS 搭建 Nginx Proxy Manager 反向代理中枢:统一证书、域名分发与内网服务安全暴露飞牛/群晖 NAS 搭建家庭下载中心:qBittorrent + Aria2 + Transmission 容器化部署实战飞牛/群晖 NAS 自建家庭音乐中心:Navidrome 部署、歌词刮削与多端无损串流NAS 搭建家庭电子书与文档中心:Calibre-Web 部署、Kindle 推送与全文检索飞牛/群晖 NAS 自建 Vaultwarden 密码库:容器部署、HTTPS 反代与加密备份实战飞牛群晖 NAS 搭建家庭监控系统:Frigate 接管 RTSP 摄像头做本地录像与智能回放飞牛/群晖 NAS 部署 Jellyfin 媒体中心:影片刮削、硬件转码与手机远程播放用 NAS 搭建家庭私有云相册:Immich 部署、手机备份与多端同步群晖/飞牛 NAS 远程访问实战:Tailscale 组网与反向代理安全配置NAS 快照实战:用 Btrfs 子卷快照挡住误删和勒索,5 分钟回滚NAS 异地访问怎么选:Tailscale 零配置组网与 WireGuard 自建隧道的实战对比用 Immich 把全家照片搬回 NAS:自建家庭相册的部署、备份与避坑在 NAS 上用 Docker 跑自建服务NAS 阵列与 3-2-1 备份策略
NAS 接 UPS 断电自动保护实战:USB 通讯、NUT 网络供电监控与停电安全关机 · 孙亮亮