最近非常多人在讨论NAS~甚至某些群在疯狂的开车、疯狂的翻车、疯狂的修车~
这次我就不问大家有没有想过什么是NAS或者是否需要或者是否值得了,今天要讨论的是UPS。

在讨论前首先戴头盔
以下看法纯属个人主观与偏见的看法~并非技术讨论帖~各位大神如果有不同意见可以留言讨论
如果觉得在下太水皮的话~就当你赢~我输就好~

首先简单的科普一下,UPS – Uninterruptible Power System,是不间断电源,
你可以简单点儿理解为如果停电了,这玩意儿可以给你持续的供电,直到电池没电为止~
我们这里就不讨论对于那些持续服务的大型服务商或者数据中心来说这个东西的意义了,我们讨论的是我们的NAS~
我们的NAS跟UPS有什么关系呢?其实最重要的关系是,直接断电,正在读写的项目容易损坏,硬盘也容易挂~这直接影响到我们的数据的安全性。
当然了~现在不是几十年前了~平心而论咱们的供电是比以前稳定多了,也基本很少会有停电的情况,除非在工业区或者农村。
那么我们是否还需要一个UPS呢?答案是这就要看你觉得你的数据是否值得为其加一份保障了~是否值得对于每个人都不一样。

这里我当你觉得值~否则然后就没有然后了~
UPS严格来说可以分很多种,你想知道详细种类就自己Google一下吧~你会知道的太多~反正我们一般买到的主要是两种,一种是有通讯的一种是纯电池的~
有通讯是啥意思呢,就是停电了,这个UPS会通过网口或者com口甚至USB口通知后面的设备停电了,我撑不了多久~你自己关机吧~
另外一种没有~简单粗暴的理解就可以理解为这两种。
当然多个功能自然是多一份价格了~简单举个例~~以我们开始说的Debian Linux做的NAS的配置,
一台不具备任何别的功能的,国产货~品质还可以的,能支撑1个小时的UPS大概卖不到200元
而具备通讯功能的大概是1200-1500起步,价格为什么差这么远呢,其实研发和技术成本是相差很远的。
那么有没有办法用便宜的设备做到停电了自动关机呢,答案是有。

整个逻辑很简单,只需要让系统定期检测网络内某个平时插着电的设备,如果断开电了就自动关机。
然后如果你的路由器还是OpenWRT的。你甚至可以让路由器来电了的时候给NAS做网络唤醒~

那么我们首先来普及两个东西,首先我们NAS支持网络唤醒~这个简单

apt-get install ethtool #安装功能模块

然后编辑网卡设置/etc/network/interface
在你的网卡下面添加一下一行

ethernet-wol g

然后重新启动,重启后运行命令

ethtool eth0 #这里是你的网卡名,不一定是eth0

结果包含Supports Wake-on: g / wake-on: g 这两个就代表OK了

然后创建脚本powercheck.sh
我们假设你的网络内有两个不在UPS下的设备device 1和device 2,IP地址分别是192.168.1.101和102并且是可以ping通的。

#!/bin/sh
/bin/rm /tmp/powercheck* -rf
echo "Checking device 1."
/bin/ping 192.168.1.101 -w 5 > /tmp/powercheck.device1
if grep -q " 0% packet loss" /tmp/powercheck.device1
then
	echo "Your power is OK."
else
        echo "Device 1 not OK, Now checking device 2."
        /bin/ping 192.168.1.102 -w 5 > /tmp/powercheck.device2
        if grep -q " 0% packet loss" /tmp/powercheck.device2
        then
                echo "Device 2 is OK, So your power is OK."
        else
                echo "device 2 not OK also, Now shutting down system."
                /sbin/shutdown -h now
        fi
fi

然后赋予这个脚本权限,并放在crontab -e里面每10分钟运行一次,那么你就实现了停电了自动关机的功能了。
如果你的路由器或者网络内其中一个来点就开机的设备是OpenWRT,那么就在rc.local里面添加这么一行

/usr/bin/etherwake -D "xx:xx:xx:xx:xx:xx" 2>&1   #这里的内容是你的NAS的MAC地址

那么就实现了在停电自动关机后,来电了又自动启动的功能。

脚本简单粗暴但很有用~我相信这对于一般的Soho用户或者中小企业来说非常有用~喜欢的话请留意我的最新文章。