NAS

NAS

起因

最初了解NAS这个东西,是在本科期间。学校自带PT服务,因而就见到身边的人为了刷上传量使出浑身解数。从全天开机的笔记本,到放到实验室的树莓派,再到各种方法搞来的内网服务器,可谓各显神通。其中就有人使用NAS,使用黑群晖。就在那时,我听说了群晖这个品牌。

为什么想要自己的NAS呢?正如上次文章所讲,小朋友可以不打,数据不可以不丢。没想到时隔多年,我居然又丢数据了。随着时代进步和自己的成长,自己的数据产出率越来越高,实际上数据的平均价值是在降低的。但总是抱着“我全都要”的想法,宁可错存一千,不能放过一个。过去就因为这种想法干出过“桌面 -> Desktop -> 暑假桌面 -> 学校桌面 ->笔记本桌面 -> 家里台式机桌面 -> 桌面2 -> 桌面文件汇总 -> 过去桌面汇总”的超级糗事。正如顺口溜所讲,老母猪戴胸罩——一套又一套。层层叠叠互相嵌套的文件结构早已让人厌烦不已。繁重冗长的备份过程让人抓狂。冷不丁丢失数据让人心灰意冷。另外,还有日趋受限的公有云,无处藏匿的个人隐私等等。诸多原因促使我开始了解有关NAS的情况。

接下来就是选择方案。无非两大类:DIY和整机。DIY又分现成设备装系统、自组硬件、自己搭建基于开源软件的NAS系统等等方案。可当我稍稍涉足于DIY的领域时,便发现有些力不从心——刷固件,攒配置,找驱动,降功耗……或许这就是不再年轻的标志:不愿意折腾,宁愿用金钱换精力。于是自组的方案最先被我舍弃。

整机自然就是群晖、威联通、铁威马、西数等等品牌了。没费多大功夫我就决定上白群晖算了。在决定之前还看到过HP ProLiant MicroServer——外观不错,配置也够用。在PT论坛区也见到过有人用这款设备。但一来价格优势不明显,二来功耗噪音等细节不适合家用。见网上有人说:技术型玩家看到ProLiant 这几个字母就硬了。于是摸摸自己的蛋蛋,淡淡的忧伤充盈心间:年纪不大,怎么就硬不起来了呢?或许,真的是折腾不动了。

入手

明确目标后就比较简单了,想办法最低价位入手心仪的设备。

最开始想的是要么等明年黑五,要么闲鱼淘一个;为了x64能用docker,初步看好218+、418play、718+、918+以及其对应的16款。但后来实在忍不住剁手,加之一次不凑巧的数据丢失,让我下定决心立刻出手。

考虑几条渠道:淘宝、闲鱼、原产地海淘、美亚海淘。根据我不多的海外购物经验,我们村儿的很多商品价格和国内淘宝比并不具有优势。因此先着眼于淘宝。但是翻来覆去竟然发现:大陆的群晖价格被代理商锁死了,存在一个市场统一价。于是转向港台商家,价格确实稍低于淘宝,但并没有产生压倒性优势。比如我关注的三款设备,普遍只低300元左右。不服气,接着去看闲鱼,发现竟然没有人在合理价位出手型号较新的设备。要么是老弱病残,要么价格死贵。也没办法,国行价格坑爹导致二手市场价位也水涨船高。于是只能放眼海外。

美国我只了解几家电商:新蛋,美亚,沃尔玛,eBay。新蛋和沃尔玛价格死贵还没货,首先被排除。美亚我最熟悉,但价格并不合适:尽管其原价和国内相比低了700多元,但运费和转运时间并不理想。于是我转向eBay。恰巧就在这时,有一个卖家以不到300刀的价格拍卖DS416play,着实让我心动不已。只有两个顾虑:eBay的支付可能需要按照当时汇率;eBay售后几乎等于不存在。这对于不在村儿里的我有点麻烦。

于是我想好心理价位,只要310以内就出手。拍卖的价格直到最后一小时还没变动。45分钟的时候涨了5刀,最后2分钟的时候涨到了285刀。我开始有点犹豫,填好的价格也给删掉了。最后10秒价格涨到了300,最后一次出价是在3秒,305刀。没出手,有点遗憾,感觉错过了一个亿。

只得作罢。等着亚马逊降价。心理价位是只要降60刀以上就可以出手。根据之前的历史记录,去年黑五416play和916+都降过60刀。可惜我等不到黑五了。等了半个月左右,warehouse出了一件少一条网线的like new机价格还算合适。果断下单。

最开始看的是218+,但后来一通学习后发现两盘位可玩性实在太差。加之我手里的硬盘数量并不少,索性就选择了四盘位的418play。当时还想过要是918+降到450刀以内就入手。后来发现想多了……

下单,转运,飞跃太平洋,跨过千山万水来见我。收货时恰巧不在家,还担心过运输会不会有损失。好在一切顺利。

算上运费和其它成本,大概比国行便宜1200人民币左右。还算比较满意了。

NAS需求整理

在等待NAS的日子里,翻阅了很多教程和总结,愈发觉得NAS是一件很有用的电子产品(自我安慰)。于是把家用的场景分析了一通,甚至还画了网络拓扑图。一步步采坑走来,也积累了不少经验和教训,待我慢慢道来。

家里网络状况

无ipv6,无公网IP,上行20下行100移动,AS9808。东岸西岸速度大约在15/8的水平。国内速度倒是杠杠的,运营商内部50以上没问题,联通电信也有40左右。就是没有公网IP比较麻烦。最后索性放弃了映射访问和公网唤醒。QuickConnect应该就够,也不指望从公网进行什么复杂操作了。

需求

  • 无盘1700以下:最后超了一些,不过还是低于最开始想的2500
  • 6-8T:暂时4T,走之前再上一个2T或者其他
  • 偏重冷备份:热数据移动硬盘,电影游戏照片NAS,电脑热数据定期留档
  • 节能静音
  • 有一定容错能力:指望硬盘自带的健康检查保佑了……
  • 不用时硬盘休眠,可即时唤醒,Wake on LAN

必需

  • 文件自动同步与备份,目录:cloud station实在难用,回归了synctoy的方案
  • 远程访问:QuickConnect

可选

  • 离线下载BT(缓存+存储):搞个vps或者买块小点的下载盘
  • 流媒体服务:video station

附加

  • ss反向代理:无公网IP,frp
  • 版本管理
  • gitlab、虚拟化、Docker

其他

  • 不面向外网,云盘onedrive box定期同步到NAS
  • 买新硬盘盒替换快坏的

已有硬盘:

pc挂机两块500G、pc挂机ssd 256G、电脑桌抽屉500G、妈320G、爸电脑1T中部分、笔记本500G、移动2T、移动1T音乐、移动1T照片日常、移动500G视频素材

有一堆硬盘,内容极其庞杂,是时候好好整理一下了。


文件系统初始化

文件结构的组织是一门很大的学问。在计算机出现以前,人们就已经面临诸如图书馆管理、典籍编目、行政数据统计等众多确实存在的文档数据管理实例。甚至连图书馆管理这门学科都能设立博士学位,可见这类问题规模之大复杂度之高。到了如今这个数据爆炸的年代,如何有效而有序地管理自己的文档、设计出后向兼容的文件系统,成为了非常重要的问题。直到今日,仍旧有许多网站的文件管理存在问题,以至于层出不穷

中学时代,我的文档管理水平极差,以至于前文所述的“一套又一套”的问题屡见不鲜。由于那些数据的时效性不强,我索性把他们粗略分类后揉成一堆扔到了角落里。而后来的照片文档等文件逐渐增多,胡比整理肯定是不行了,必须想出一种可执行的、难度不能太大的文件同步和管理方法。

首先就是设计文件夹的嵌套结构。有一些值得思考的要点:

  • 深度不能超过四层,否则查找起来过于麻烦

  • 顶层标签宁缺不重,从而能够明确将文件分类

  • 按文件类型归纳,充分利用NAS的各种套件以方便后期取用

其次就是如何合理地同步文件。群晖系统自带了三种同步方案,分别是hyper backup/drive/cloud station。可是,尝试了之后,发现这些工具竟然都不能满足我的需求。hyperbackup量级太重,更类似于两地灾备;drive量级太轻,操作逻辑比较像百度网盘,但是和之前的photo station、video station等套件兼容不好;cloud station本该是最好的解决答案,可它的Windows桌面客户端操作逻辑实在不好用。最后1保留了drive以备后期备份文档用,而相片和录像则采取了最原始的手动备份的办法。

增量化备份的疑惑

由于我之前的文件备份方案非常凌乱,很多不同年代的文件存在散落四处的光盘U盘和移动硬盘中。首先要做的事就是把所有文件集中到一起。然后分门别类放好,再一一存到NAS上面。之后把本地无需备份的文件删掉,需要双重备份的文件放入archived文件夹,从而实现简单的根据时间的版本控制。后期打算把增量放在另一个文件夹里,定时手动归档。

不采用现有套件主要是因为移动硬盘在同步过程中经常由于各种原因自动断线重连,导致同步中断。手动同步只能用比较熟悉的SyncToy进行,操作也不是很方便。正在寻求更好的方案。当然,如果本地存储足够大,完全抛弃移动硬盘,应该会很方便。

内网穿透与DDNS

首先,去小区网络服务提供商咨询了公网IP的事宜,得到的答复果然是没有希望。根据光猫和tracert的信息来看,从家出发似乎经过两级NAT才来到公网,可见北京移动(铁通)IP资源的稀缺。有人说,可以假装自己家里要装监控去碰碰运气,但在我这里是行不通。

考虑内网穿透方案。当时犯了迷糊,没想清楚公网IP的作用到底是什么,还去注册了好几家公共DDNS尝试把IP解析出去。包括花生壳、dyn、no-ip等等。(插一句,花生壳服务极差:没有试用不说还处处想骗用户个人信息,以后不会再用这家服务了)尝试未果才想明白,自己没有公网IP,解析出来也是移动出口的IP,没有意义。再看硬件穿透方案,花生壳的穿透棒价格贵的离谱,流量又少带宽又小。想了想可以自己用树莓派配合frp与学校的服务器搭建一个流量中转的方案,但又有几个阻碍:

  1. 学校服务器的连接性并不好。虽然最好的时候也能超过10Mbps,但大多数时间不太快;

  2. 树莓派耗电不少。简单估算了一下要是全年开机树莓派大概要耗掉十多度电,且不论能不能正常工作那么久,想着只是为了开关机一年就要花好几块钱有点不爽;

  3. 可靠性比不上quickconnect,自己搭的服务也就是开关机能用了。

后期考虑让国外的同学测一下各地的连接速率,看究竟是学校服务器快还是群晖的服务器快。总之,内网穿透这件事暂时放下了。

局域网唤醒(WOL)之迷思

WOL,即Wake-On-LAN,局域网唤醒,指的是通过长期保持通电的Ethernet端口唤醒设备的一种方法。能够实现通过局域网甚至互联网直接唤醒设备从而实现远程开机。考虑到以后不在家时仍旧希望能够随时随地打开NAS进行操作,又不想每次麻烦家人去按下物理按钮来开机,弄清楚WOL的方法有一定必要。

WOL的想法就是给特定的MAC地址发一个“魔术包”,当对应的硬件接收到这种包后唤醒设备。因此,需要搞清楚如何才能让这个数据包安全无虞地抵达彼岸的端口。

静态ARP绑定之谜

虽说是给特定硬件发包,但机在网内一切都得靠IP说话呀。设备关机的时候,自然是没有IP的,那该怎么办呢?

参考了很多文档和讨论23介绍了WOL的原理,大致可分为两种:定向播报和广播。

许多现代的路由器都有一个功能叫做静态ARP绑定。它能实现将硬件地址MAC和某一固定IP捆绑,从而使路由器了解如果给某一IP发包的话,怎么找到其对应的硬件实体。几乎所有的现代路由器都有这个功能,然而接NAS的光猫路由一体机『贝尔NBEL G-140W-C』竟然不支持!一台缺少端口转发、动态解析、ARP绑定等功能的路由器……气得我差点直接给厂家写邮件,想来也是屁用没有。

因此,只能换一种思路:把包广播给所有网段内的设备,MAC地址匹配的设备被唤醒。

  • 定向播报:只向单一IP地址发送唤醒魔术包。然而,这会遇上一个悖论4:既然设备没开机,它怎么会有IP地址?此时就需要在路由器端定死它的地址,用的命令是ARP静态绑定。telnet进系统,发现arp命令存在,基本功能也有,那就手动设置一下呗。
# arp -s 192.168.1.10 01:23:45:67:89:AB

静态arp设置的命令。设完关机一测,嘿!居然成了。当时还有点小兴奋。然而第二天早上再测,又不行了。登上光猫一看arp条目还在。想不通了,估计还是光猫的系统问题。于是只好尝试第二种方法。

  • 广播:广播原理是把包发到192.168.1.255从而flood网段内所有的设备。这种操作倒是可行,但又有一个限制:发包的设备必须在该网段内。如果不在同一网段,魔术包就会在WAN to LAN的回溯中被光猫丢掉。由于前述的家庭网络拓扑,两台路由器级联的关系,除非把低级路由器废掉当无线交换机用,否则没法在同一网段。那可不行!破费一百多大洋买来的高端ac路由器怎么能废成交换机?!于是我搜来搜去确实找到了一个解法,叫做IP Directed Broadcast。又看了半天,这个功能是Cisco高端路由器才有……实在没办法了,放弃!干脆不关机了

路由器大作战

路由器是做什么的?通俗地讲,如果把所有的设备看作一个个士兵,那路由器就是对士兵的编制进行管理的机构。一整支军队倘若不分等级不分团队,那么无论是相互之间的合作交流,还是整体的调度配置,都会产生或多或少的不便。

在配置NAS的WOL时,我再次遇到了很大的挫折。正如前文所描述的,目前的网络拓扑是两个路由器级联,而NAS连接在上级路由器上面。现在希望从连接在下级路由器的设备发送魔术包以唤醒NAS。这可就遇到了难题了。

在我看来,既然下级子网能够直接访问到上级所在的192.168.1.0的网段,且能够打开NAS的主界面,那么理所应当发包过去不会受到什么阻碍。可搞来搞去还是不成。这时候需要一个有力的判据来判断我发的包到底到没到对岸。于是请上了tcpdump这款抓包大杀器。

$ sudo tcpdump udp port 9

分别得到了定向和广播的情况。

可以看到,当发包设备在同一网段的时候无论单播还是广播NAS都能收到包。而不在同一网段设置ARP绑定后单播也能接到包。那总该没问题了啊?实在想不通,只得作罢。

电源管理

网上很多人都说,既然买了NAS,那么坏之前都不关机了。话虽这么说,但25W的耗电量并不算少,加上光猫和路由器的开销接近40W了。因此,合理地节电还是很重要的。

群晖自带硬盘休眠功能,自然能省不少电。但这个功能还存在很多缺陷:

  1. 要休眠只能所有盘都休眠。群晖的系统在每个盘上都有备份,这么做实际上没有必要。最理想的方式是用ssd做系统盘时刻带电,其他盘按需启动。DS918+似乎正在往这个方向上靠拢。

  2. 莫名其妙的唤醒。NAS实在太敏感,网络上有风吹草动都会被唤醒。为了尽可能少地被唤醒,只能每次用完后断开PC上映射的硬盘,关掉所有群晖APP。就算这样,每天还会有几次莫名其妙的唤醒。有空再排除一下。

  3. 硬盘休眠的时候风扇不停转。休眠以后系统发热量挺小的,如果能停转等温度达到阈值后再启动岂不是更好。

除此以外,许多细节还是比较完善的。包括可调节亮度的指示灯、能够正常读取和断开USB设备、空闲时自动降频等等。总体来说用起来很利落,没有烦人的小问题。

带宽情况

重中之重。NAS想要用得畅快,上下行带宽是关键。仅从几个例子来说明这台NAS在这方面有多么优秀——

存储设备和接口

外接的是一块USB2.0接口的移动硬盘。众所周知USB2.0的理论带宽是480Mbps,算上串行码和校验的损耗理论值最多最多也就45MB/s左右。而群晖居然跑出了43MB/s的速度,着实让我吓了一跳!在这之前我见过PC上最快的USB2.0速度不过33MB/s,还是用的高速设备达到的。更难能可贵的是,这个速度始终较为稳定,并没有虚标的现象。说明不是通过缓存提升瞬发性能来实现的。之后还用USB3.0接口的移动硬盘测试过,瓶颈已然到了硬盘的速度衰减上。

以太网接口

以太网接口是NAS工作的根本。根本不用怀疑其性能。同样瓶颈在于交换机以及硬盘。从西数蓝盘上传至NAS速度基本可以维持在百兆以上,最高速度也达到了网卡的上限。非常满意!

路由器速度衰减

在升级百兆移动垃圾光纤后,外网速度有了质的飞跃!从前ADSL的时代,从最开始的1Mbps/128Kbps、2Mbps、4Mbps、8Mbps、20Mbps/2Mbps家里全都经历过,那时别说大带宽的应用,就是普通上个网有时都卡。现在得益于光纤入户和内容分发网络,国内的大型互联网应用都可谓十分流畅。

回想带宽只有2M时,下载一个10G的文件要花一天的时间。而现在下载50G的文件也不过一个多小时。在去甘孜自治州的时候,看到或是电信或是移动的光纤竟然也翻过大山通到了边远地区,使得乡村的电视、电话、上网问题一并解决。测试连接到主干网的带宽下行速率也超过了50Mbps,不得不感叹中国基建的推进是多么伟大!

话说回来,一天在用NAS上传文件的时候突然遇到了问题,尝试了d0 packet coalescing/RDC/netsh interface tcp设来设去都没弄好。查了诸多资料最后发现很可能是硬件问题。于是重启路由器解决……等以后重新布线家庭网络的时候,一定要配置好弱电设备。

电影中心

在使用DS Video以前,从来不知道还可以这样管理电影资源。自动索引、网络刮削、几乎不费什么事情就能得到一个完善的电影资料库,称得上是赏心悦目。甚至连命名规则清晰的电视剧也能刮削,真令我大开眼界。

这个套件另外一个功能就是NAS预转码然后串流到性能较低的设备,例如旧的智能电视、手机或者平板。这也是我购入NAS的一大原因:希望家人能够方便快捷地欣赏较清晰的电影,而不必花钱买在线视频网站的会员却仍得忍受低画质。

刮削器

所谓刮削器/scraper就是从电影资料库网站获取信息的工具。

照片中心

待续。似乎人脸识别功能还不完善,目前只能作为最基础的相册使用。分享评论等功能等有机会再体验。

Refs

其他

https://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html

https://forums.gentoo.org/viewtopic-p-7581356.html?sid=313c9ac8b14b83a0daa26128b177b423

https://ubuntuforums.org/showthread.php?t=1855551

https://blog.csdn.net/qq_29663071/article/details/53508319

https://ubuntuforums.org/archive/index.php/t-1807768.html

  1. 后来发现drive确实可以利用到版本控制的特性,还算不错。 

  2. http://bbs.net130.com/archive/index.php/t-233110.html 

  3. https://www.dd-wrt.com/wiki/index.php/WOL 

  4. https://zhuanlan.zhihu.com/p/29057096 

Chen Ting

Chen Ting

The page aimed to exhibit activities & achievements during Ting's undergraduate & graduate period. Meanwhile, other aspects such as lifestyles, literary work, travel notes, etc. would interweave in the narration.

Leave a Comment

Disqus might be GFW-ed. Excited!