
NAS的不断电需求
在NAS搭建好之后,可能大多数玩家都考虑过UPS电源的需求,毕竟突然掉电对于硬盘的影响还是很难预知的。而有了UPS,就可以在遭遇突然断电时提供充足的安全关机时间。还有带通讯功能的UPS,可以实现断电后自动延时关机、电力恢复后自动开机等高级功能,让NAS能够在无人值守的情况下24小时安全运行。
传统UPS电源方案
如果在网上搜索包含“NAS”和“UPS电源”等关键字的资料,大概率会和我一样发现APC的BK650这个型号,因为有通讯接口可以被群晖识别,所以自动开关机这些功能都不在话下,不过仔细看了下,发现和我对UPS电源的需求好像还有些不一样的地方:
首先是断电后的自动关/开机方式,在群晖的“不断电系统”里可以看到这样的描述:“当断电时,系统将进入安全模式”。而进入“安全模式”后NAS是没有关机的,可以理解为在这种状态下就算突然断电也不会对系统和硬盘造成影响。

当连接上带通讯功能的UPS电源,并启用UPS支持后,可以设置在断电后NAS进入“安全模式”之前的等待时间,然后在“当系统进入安全模式时将不断电系统关机”。

所以,断电后UPS和NAS之间的通讯和关机过程大概是这样的:
- UPS检测到断电,切换到电池供电的同时发送信号给NAS;
- NAS接收到断电信号后,会等待5分钟(自定义时间);
- 在5分钟内没有收到电力恢复信号,NAS就进入“安全模式”;
- 进入“安全模式”时,发送信号让UPS关机;
- UPS收到关机信号,关机断电。
需要注意的是,NAS并不是自己关机的,而是因为UPS关机后断电了,NAS才停止运行的。其实这时候NAS的状态应该是“非正常关机”,不过在“非正常关机”的状态下,供电恢复后是可以自动重启的(正常关机后断电再恢复不会自动重启),因此来电后自动开机的功能也就顺便实现了,很适合24小时开机的无人值守模式。

但是我是关机派啊,我不会24小时开机,我的需求是在遇到停电时能自动安全关机,并且在关机后保持NAS的网卡不断电(网卡完全断电后再恢复无法远程唤醒),要说这两条其实倒是能基本满足或变通的,但是还有几个问题容易导致强迫症发作:
- 这类用铅酸蓄电池的UPS,体积和重量都很不友好,想了半天我都没找到合适的地方放;
- UPS运行时的自耗电都和一台NAS差不多了,以后我还怎么吹嘘DS218+只有17W的功耗;
- NAS是由电源适配器直流供电的,但在UPS供电时,却要先把蓄电池的直流逆变为交流(还是方波)送给电源适配器,电源适配器又把交流转为直流供给NAS……这,很纠结。
锂电池UPS解决方案
直流交流的转来转去这么麻烦,那是不是可以在电源适配器和NAS中间串一个电池就行了,于是在万能的某宝一顿搜索之后,找到了这个:

容量15Ah,由6节2500mAh的18650锂电池组成,输出可选最大12V/5A,卖家的介绍是:“自动充放电,带充电/过放电保护,电池充满后自动切换到适配器供电”。
价格只有前面那个BK650的大概三分之一,重量和体积也都合适,大概2包烟的大小,直接串联在原装电源适配器和NAS之间就可以了。

在UPS充满电之后测试了一下,断电后80分钟,第2个电量指示灯熄灭(充满时亮4个灯),估计电池电量可以支持NAS运行2小时没问题。

断电检测/延时关机
电池供电毕竟只是提供应急和保护,但是没有通讯接口,在断电后怎么让NAS安全关机?
还好早就已经有人想到了变通的解决办法,只需要在NAS上定时运行一个脚本,检测路由器是否能ping通(路由器需要直接接市电),以此来判断是否停电,确认停电后执行关机命令安全关机。
因为这是NAS自己执行关机命令后的正常关机,而且在关机后电池会确保NAS的网卡不会断电,所以在供电恢复后,远程唤醒仍然有效。

在“控制面板”-“任务计划”中新增一个自定义脚本,名称随便,用户账号选“root”,运行频率我设置为20分钟。
脚本中“MonitorIP”后面的IP改为你的路由器IP地址,“DelayTime”是在ping不通路由器后的等待时间,我设置的600秒,也就是在第一次ping不通后,等待10分钟再ping,如果还是不通,就执行关机命令。
#!/bin/sh
MonitorIP=192.168.1.1
DelayTime=600s
ping -c 2 $MonitorIP > /dev/null
result=$?
if [ $result -eq 0 ]
then
echo "AC Power online."
else
synologset1 sys warn 0x11600036
echo "AC Power maybe offline, check again after 5 minutes. "
sleep $DelayTime
ping -c 2 $MonitorIP > /dev/null
result=$?
if [ $result -eq 0 ]
then
synologset1 sys warn 0x11600037
echo "AC Power restored."
else
synologset1 sys warn 0x11600035
shutdown -h now
fi
fi
exit 0
至此,UPS配置完成,不再担心意外停电对NAS系统和硬盘造成的影响,也可以确保在关机后可以随时远程唤醒。
功耗测试
2019/05/07 更新功耗测试
家里的路由器和光猫等设备一般都是长期不关机的,因为是小功耗电器,以前也都没在意。不过现在又多了NAS和UPS,就想看下这几个东西到底会耗多少电。
其实用官方数据也能大概算出来,不过为了好玩,还是自己测测看吧。(在996福报买的功率插座,功率因数显示0.47,不知道是否准确)
先是断开NAS,单独测了一下路由器和光猫的总功耗,大概在8.7W到9W左右。(忘了拍照了)
然后插上NAS(我的NAS是和路由器、光猫接在同一个插线板上的),在UPS的电池处于充电状态时,测了一下总功耗在35W左右。

等到UPS电池快充满时,功耗降到了大约26到27W。

UPS电池完全充满后(绿灯亮起),总功耗稳定在大约25到26W。

这也基本上就是平时正常工作状态的功耗了,简单总结一下各个设备的耗电情况:
- DS218+功耗:16W到17W左右(2块硬盘,和官方数据基本一致)
- UPS功耗:充电时10W左右,快充满时会逐渐下降,满电状态大约0.5W到1W
- 路由器+光猫功耗:大约9W左右
路由器+光猫:基本是24小时开机,每年耗电大约79度,电费41元;
NAS:24小时开机,每年耗电大约149度,电费77元;60%时间开机,每年耗电大约87度,电费45元;
UPS:24小时在线(满电状态),每年耗电大约8度,电费4块;充电状态算每年10次,每次6小时,每年耗电0.6度,电费0.3元,基本可以忽略。
2019/05/10更新
DS218+的17W左右功耗是在平时没有其它操作的时候,如果CPU运算量增大或硬盘有频繁读写操作,功耗会在17W到22W之间波动。
关于NAS搭建的其他记录:
沙子ssand:NAS搭建记录(群晖DS218+):型号选择/配置zhuanlan.zhihu.com

