飞牛NAS UPS选购指南:断电保护方案
为什么你的飞牛NAS必须配一台UPS
很多朋友在搭建飞牛NAS时,把预算全部砸在硬盘、网卡和机箱上,却忽略了一个至关重要的保命设备——UPS不间断电源。NAS最怕的不是性能不够,而是突然断电。一次非正常关机,轻则系统文件损坏需要重建存储池,重则直接导致硬盘出现坏道,数据全毁。尤其是你组了RAID5或RAIDZ阵列,重建过程本身就是对硬盘的极限考验,再叠加一次断电,那画面不敢想。
飞牛NAS系统基于Debian Linux,虽然对异常断电有一定容忍度,但底层ZFS或ext4文件系统元数据依然可能损坏。更现实的问题是,飞牛系统默认没有自动关机机制,断电后如果电池耗尽,NAS依然会硬断电。所以,选购UPS的核心逻辑不是“不断电”,而是“优雅关机”。
第一步:确定你的功率需求
UPS的容量单位是VA(伏安)或W(瓦特)。飞牛NAS的功耗主要取决于硬盘数量和CPU负载。一台四盘位NAS,搭载Intel N100或类似低功耗平台,满载功耗大约在30-50W;如果是八盘位,加上万兆网卡,功耗可能冲到80-120W。
计算公式: UPS额定功率(W) ≥ NAS实际功耗 × 1.5倍安全冗余。
以四盘位为例,50W × 1.5 = 75W。市面上最入门的300VA/180W UPS已经足够。但如果你的NAS还接了交换机、光猫,或者打算以后扩展硬盘,建议直接上600VA/360W级别。记住,UPS不是越大越好,太大反而因负载率过低导致电池寿命缩短,保持负载在30%-60%之间是最佳区间。
第二步:选在线互动式还是后备式
家用NAS场景,强烈推荐在线互动式(Line-Interactive)UPS。后备式(Standby)虽然便宜,但切换时间通常在4-8毫秒,对电源敏感的硬盘可能造成瞬间掉压。在线互动式通过自动稳压(AVR)功能,能在市电波动时先调整电压,只有在真正断电时才切换到电池,切换时间几乎为零,且价格只比后备式贵几十块。
至于在线双转换(Online Double Conversion),那是给服务器机房用的,价格贵、噪音大、风扇吵,放在家里纯属浪费。飞牛NAS用户直接跳过。
第三步:USB通讯是刚需,别买纯UPS
很多廉价UPS只有一个插座,没有数据通讯接口。这种设备只能防断电,不能告诉NAS“我要没电了,赶紧关机”。你必须选择带USB通讯口(通常为HID接口)的型号,这样才能通过NUT(Network UPS Tools)软件实现自动关机。
推荐品牌方面,国内用户优先考虑山特(SANTAK)、APC、施耐德。山特的TG-BOX系列和APC的BK650M2-CH都是经典款,支持USB通讯,驱动兼容性好。注意,不要买那种只有RJ45网口保护的型号,那不是通讯接口。
第四步:飞牛NAS系统配置自动关机
飞牛NAS基于Debian,所以我们可以直接用NUT工具。但飞牛系统本身没有内置UPS管理面板,需要手动安装配置。以下是完整步骤。
安装NUT
SSH登录飞牛NAS,使用管理员账户执行:
sudo apt update
sudo apt install nut -y
识别UPS设备
插入USB线后,查看设备是否被识别:
lsusb
你应该能看到类似 American Power Conversion 或 MEC (MGE UPS SYSTEMS) 的字样。然后确认系统识别出的HID设备:
ls /dev/usb/hiddev*
或
ls /dev/ups*
如果都没有,试试重启后重新插拔。
配置NUT驱动
编辑NUT主配置文件:
sudo nano /etc/nut/nut.conf
修改为:
MODE=standalone
然后编辑UPS驱动配置:
sudo nano /etc/nut/ups.conf
添加以下内容(以APC BK650M2为例):
[bk650]
driver = usbhid-ups
port = auto
desc = "APC UPS for fnOS"
保存后启动驱动测试:
sudo upsdrvctl start
查看UPS状态:
sudo upsc bk650
如果看到 battery.charge: 100 和 ups.status: OL 这样的输出,说明通讯成功。OL表示在线供电,OB表示电池供电。
配置自动关机策略
编辑upsmon配置文件:
sudo nano /etc/nut/upsmon.conf
添加监控用户和关机策略:
MONITOR bk650 1 monuser secret master
SHUTDOWNCMD "/sbin/shutdown -h +0"
MINSUPPLIES 1
POLLFREQ 2
POLLFREQALERT 1
然后设置密码认证:
sudo nano /etc/nut/upsd.users
添加:
[monuser]
password = secret
upsmon master
重启NUT服务:
sudo systemctl restart nut-server
sudo systemctl restart nut-monitor
sudo systemctl enable nut-server
sudo systemctl enable nut-monitor
测试自动关机
这一步非常关键。拔掉UPS的市电输入,观察飞牛NAS是否在电池供电状态下正常继续运行。等约15秒后,检查upsmon是否检测到断电:
sudo upsc bk650 ups.status
此时应显示 OB DISCHRG。然后手动模拟电池耗尽,或者直接执行:
sudo /sbin/shutdown -h +1
确认系统能正常关机。如果一切正常,再插回市电,重新开机。
第五步:进阶玩法——NAS关机后自动断电
很多UPS在负载关机后,自身仍会消耗电池电量,导致电池过度放电而损坏。通过NUT的upsmon配置,可以让UPS在NAS关机后也自动切断输出。在upsmon.conf中增加:
NOTIFYCMD /usr/sbin/upssched
然后创建自定义脚本处理ONBATT事件,在电池供电超过2分钟后发送关机指令,并在关机前通知UPS关闭输出:
sudo nano /etc/nut/upssched.conf
内容参考:
CMDSCRIPT /usr/sbin/upssched-cmd
PIPEFN /run/nut/upssched.pipe
LOCKFN /run/nut/upssched.lock
AT ONBATT * START-TIMER shutdown 120
AT ONLINE * CANCEL-TIMER shutdown
AT SHUTDOWN * EXECUTE shutdown
然后创建执行脚本/usr/sbin/upssched-cmd:
sudo nano /usr/sbin/upssched-cmd
写入:
#!/bin/sh
case $1 in
shutdown)
/sbin/shutdown -h +0
/usr/bin/upsdrvctl shutdown
;;
esac
赋予执行权限:
sudo chmod +x /usr/sbin/upssched-cmd
这样,当市电断电超过2分钟,飞牛NAS会先正常关机,随后UPS自动切断自身输出,防止电池耗尽。来电后,UPS恢复输出,NAS需要手动开机(或通过主板来电自启功能)。
总结
给飞牛NAS配UPS,本质上是给数据上保险。选购时记住三个核心点:功率够用留余量、必须带USB通讯、选择在线互动式。配置NUT自动关机并不复杂,跟着上述步骤操作,半小时内就能搞定。最后提醒一句,UPS电池寿命一般为2-3年,记得定期在upsc输出中检查battery.charge和battery.runtime,发现电池老化及时更换,否则关键时刻它可能掉链子。数据无价,一台几百块的UPS,换来的是整晚的安心。
暂无评论,来说两句吧