近几个月折腾NAS的踩坑记
早在2019年,我便购置一台通过网线互动的硬盘阵列箱(简称“NAS”)以备份资料。过了一年半,我了解到“3-2-1 备份原则”,认为单靠一台在线备份设备并不保险;此外,我也正为每回同步照片和插画,都得手工操作而苦恼。遂启动了新一轮折腾之旅。
我的目标:
- 给数据确定备份优先级,划分为“值得执行 3-2-1 原则”、“双副本”与“单副本”;
- 建立半自动的离线备份池,偶尔上线,备份“3-2-1”与“双副本”数据;
- NAS和手机间建立牢靠的同步联系,最好能穿透内网;
- 支出尽可能少。
零、点兵
折腾之前,清点了“前世”留下的硬件资源:
- “蜗牛星际”牌 NAS 一台,配备两块 2TB 硬盘(互为镜像);
- 闲置的一块 1TB 移动硬盘、三块 500GB 硬盘、一块 250GB 硬盘;
- 一台笔记本,配备 500GB 机械硬盘,经手了“前世”于 2005~2020 年间产生的所有零碎数据;
- 一部台式机,无机械硬盘(以下不会用到它);
- 闲置的 Athlon 250 准系统,百兆网卡;
- 闲置的 A8-5600K 准系统,千兆网卡;
- U 盘与存储卡若干;
- 其它配件若干。
数据方面,NAS 累积了约 1.2 TB 资料,笔记本上有约 300GB 的未经整理分级的数据,还有散落于闲置硬盘内的杂项若干。
——老掉牙的Athlon平台,“前世”拾掇破烂的集大成之作
一、归类
不少资料过于陈旧,现不再为我所爱,也徒增存储负担。经过筛选,大致成了以下结构:
资料类型 | NAS | 移动硬盘 | 云盘或离线备份池 | 笔记本 |
---|---|---|---|---|
照片 | ✔ | ✔ | ✔ | - |
插画 | ✔ | - | ✔ | ✔ |
Miku 相关音乐、现场录像等 | ✔ | ✔ | ✔ | - |
新电影、动画和其它音乐 | ✔ | - | ✔ | - |
归档资料,含老电影、动画等 | ✔ | - | - | - |
文档(只属于我的) | ✔ | - | ✔ | ✔ |
其它文档 | ✔ | - | - | ✔ |
我尚可接受的“前世”的老嗜好,包括: 软件安装包、网络图片及视频等 | - | - | ✔ | ✔ |
“前世”的其它嗜好,包括: 游戏安装包、系统镜像等 | - | - | ✔ | - |
这其中,插画也以 2021 年元旦为界,此前收藏过的全部归档了。
二、打铁
2.1 一打白铁精——准系统之抉择
为了免于破费,离线备份池要从两个闲置平台着手。它们缺点显著:A8 平台功耗可达百瓦(!),而 Athlon 平台网卡是个硬伤。就我的需求而言,千兆网卡是必需品,无奈先用 A8 平台测试软件系统……
功耗太高,用着总觉得有些膈应。这几天决定在 Athlon 平台上再试一试,甚至为其购置了千兆网卡。其 SATA 接口完全能喂饱网卡;唯一担心的是性能不足(后来亦印证了这点)。
什么鬼!这就是我 15 块买来的网卡!网口都不焊一个,叫什么网卡!
——于是再破费五十准备网口及其它电子器件(与本项目无关)。
本轮耗资:65 米
2.2 二打白铁精——硬盘之抉择
手上的闲置硬盘经ReadSpeed软件测试,结果如下:
硬盘 | 年份 | 容量(G) | 最大读速(MB/s) | 预计用途 |
---|---|---|---|---|
A | 2010 | 500 | 123.8 | 新电影、动画等 |
B | 2011 | 500 | 124.6 | 照片、插画、文档等 |
C | 2018 | 500 | 188.5 | 保留备用 |
D | 2008 | 250 | 102 | 安装包、镜像、网络图片视频等 |
E | 2013 | 1000 | N/A | Miku 相关音乐及录像,照片 |
起初,为保险起见,我以新硬盘 C 自动同步照片、插画等数目多而且经常增添的文件。然而,这个系统最终要转移到 Athlon 平台上运行,我感觉还是消耗旧硬盘的剩余价值为好,其速度正好赶得上网卡。最新的安排写在表格里了。
2.3 三打白铁精——软件之抉择,窘迫至极
离线备份池的功能只有一个:作为 Rsync 客户端,开机后定时拉取指定位置的内容。先前,我曾尝试用 Windows 承担这项任务,但 Windows 本身过于臃肿,对宝贵的 SATA 接口必占其一;且易被网内其它 Windows 设备影响(如病毒感染)。遂从非 Windows 方案里拔尖子:
- UNRAID:口碑较好,高度可定制,
不过需要商业授权可以试用。 - TrueNAS:支持传说中的 ZFS 分区格式,内存也管够,不过操作逻辑不太能理解……插件功能依赖GitHub,在大陆相对不管用。
- OpenMediaVault(OMV):操作界面简洁易用,有清华大学镜像站撑腰,硬件消耗(看似)极小。
就决定是你了,OMV!快到我的 U 盘里来!
……
……
等会儿,事情不应该这样发展……我堂堂一个比机械盘还快的 U 盘,屡屡卡在安装过程中。我相当迷茫,没有别的 U 盘可堪大用了。
趁 618 这当儿整来俩铠侠 U 盘(型号:U202),我想品牌货应该至少能承载一个轻度系统……结果这玩意磨洋工,完成安装需三小时;登录管理界面,卡顿感明显,顿觉上当。
经此一役,我彻底丧失对 U 盘的信任,决定另购固态硬盘;最终在百元以下的一堆破烂中,选择了联想 SL700(傲腾是个好东西,可惜平台太老,不支持)。关键的 4K 读写能力强了上百倍;用三分钟(!)完成了安装。但让它承载 OMV 这个不超过 2GB 的轻量系统,是不是大材小用……以及,这用在 Athlon 平台上相当尴尬——两个 SATA 接口仅剩一个了。
对于 OMV,我还有另一个要求:空闲时停转硬盘。但这功能,不知怎的,未能按预期工作:建立完同步任务与 SMB 共享,硬盘会每分钟尝试停转,而后又恢复转动,后台记录显示其无法取消该硬盘的挂载。
结论是 OMV 不大行。得试试旁的方案了。
UNRAID本体约 300 MB,被浓缩在五个文件里,即便装进最孱弱的 U 盘(例如U202)也可快速响应。这是它给我最直观的感受。
进去一看,它仅提供了基本的共享功能,要别的都得装插件。自带 Rsync,但只能以命令行调用;第三方 Rsync 应用也搞不明白。
往 Community Apps 里头一看,有 Syncthing 耶!第 3.3 节再研究它。
TrueNAS的话,在管理界面里,Rsync 支持通过 SSH 或模块连接。关于“模块”,我不确定是否跟 OMV 里头指定目录那样使用,也没有“密码”选项,试了下连不上。SSH 更不可能,NAS(群晖)管理界面不存在注入公钥的入口,用命令行也有风险,怕不小心搞坏了NAS。
……
最终,敲定了 Rsync 命令加计划任务crontab
的方案。给 A8 平台安装完整 Linux 系统——Deepin,备份之余,体验下国产系统的精致美。
本轮耗资:约 120 米
三、搭桥
这两年,我遇到一个“老大难”问题:每当搜罗插画,我的插画集总要经历狂风骤雨,原来没被归类的移去这个或者那个目录;不宜公开者转去更机密的地方;重复下载的要删除;等等。而这个在笔记本上做的更改,只跟NAS确立了同步关系;手机、离线备份池等总要手动拉取,费劲得很。
至于内网之穿透,一直以来,我并不具备剩余的财力(以至精力)去解决。当然,仅在家中进行同步也能凑合过日子,不过多个添头总归是好的。
于是着手研究起了各种同步方案:
3.1 给手机穿针引线
- Synology DS File
——群晖DSM 6.x 手机应用之一,可浏览文件及同步手机相册。经试验,其同步功能失效。 - Resilio Sync
——应该可以在家中同步,在外面不太灵。大概是因为仅需单向添加“设备ID”,而吃了闭门羹。这里就不试了。 - 微力同步
——Resilio的一种替代品,软件闭源,我不太信任其可靠性。 - Syncthing
——Resilio的另一种替代品,开源,比起Resilio应该不太容易完蛋。
作为 DSM 套件安装后,其能够选择 NAS 上的任意目录对外共享。当手机也安装上Syncthing客户端,互相添加“设备ID”,便可以“文件夹ID”为暗号接应了。同样地,手机端也可选择任意目录存取共享文件。可以说极其契合我的需求。
3.2 NAS与电脑的连接
这里以19.7GB、近8000张插画作为测试样本。
- Synology Drive
——NAS系统自带之方案。当同步插画时,效率不尽人意,每秒处理近20张,硬盘占用25~60%。 - Syncthing
——手机上可以,不如电脑也试试看?“加好友”之后,握手用了一两分钟,此后以约30M/s的速度传输,硬盘占用60~90%。中途断开了三四回。
没什么好说的。稳字当头,群晖套装够用。
3.3 NAS与离线备份池的连接
- Synology Drive
——诚然,我们可以在这安装 Windows 或 Ubuntu/Debian,专门跑这个客户端。不过,Windows 臃肿且易受牵连(我再强调一遍),Ubuntu 也用腻了。
事实上,Rsync 能完成的任务,不必交给这么个效率低下、配置繁琐(又得做成“团队文件夹”,在我看来,越少越好)的家伙来干。 - Hyper Backup
——群晖DSM套件之一,将整个共享文件夹备份到外部硬盘。经查询,其备份形式为一份独有格式的文件,不合要求。 - USB Copy
——群晖DSM套件之一,直接复制文件到USB存储器。……算了吧,只有那移动硬盘需要这项服务,况且我一定不会让它持续通电的。 - WebDAV
——搞不明白。 - Syncthing
——这货真是万金油,作为Docker容器出现在了UNRAID系统里。在 Athlon 平台上连接 NAS,同步插画,CPU 近乎吃满(70~98%),同时速度仅有 20M/s 不到。这个平台没法再用了,性能不够。
这里所需配置繁杂得多(原来仅分享 2 个目录,现在要 6 个,还必须分配“可读写”所有目录的权限——我对此不放心),便不再于 A8 平台上测试。 - Rsync
——可在绝大多数 Linux 发行版上完成同步,也为 OMV、TrueNAS 等支持。
用在 A8 平台上运行的 Deepin Linux 进行测试。速度尚佳,650 秒完成了 41.8GB、近 24000 张插画的拉取;这当儿硬盘反而略微跟不上网速;CPU 占用 50~60%(其中一线程 80~90%,其余约 50%)。
3.4 内网穿透
嗯,之前都在内网测试。家中同时通了电信与广电宽带,这里尝试从广电网络访问通了电信的NAS。
- QuickConnect
——正版群晖提供的穿透功能,我财力有限,暂不考虑。 - 蒲公英
——商业服务,可免费串联三台设备。三台……现在刚好够,将来不大确定够。 - Zerotier、微力同步
——服务可靠性比较令我担忧。 - Syncthing
——这几天似乎开始被人盯上,而且广电宽带刚刚断了,无法再做测试。
算了,没这功能也不会少几块肉。
四、总结与展望
近三个月的折腾,最终以花掉近 200 块(其中过半等于白给)、寥寥几条定时命令草草收场。关键在于,我又没有什么 All in One、什么视频转码、什么旁路由等等的需求,那些NAS系统的可玩性对我而言,不仅多余,而且冗杂,那些配置指南实在难以下咽。
我甚至不需要做定时同步;只要开机后跑一趟写了几条 Rsync 命令的脚本,也就完成任务了。让它开着只是徒增电费。
至于手机端同步,这次完美达成了。
我边做试验,边写这篇札记,第五天可以画句号了。原来我的需求竟是如此简单……
近期将着手自制气象站——先前购置的电子器件实际是为此准备的。
哦还有那个 Athlon 平台……鉴于 A8 这套随时可能送人,我打算升级四核。就这样。