我的散装NAS
写在前面
这篇流水账是写给我的朋友们看的,他们大多都不是IT行业的,为了广泛受众的阅读乐趣,我得稍微解释下什么是NAS(Network-attached storage,“联网的存储”),它就是个连在家里路由器上的小电脑,装了很多硬盘(常见体积为几TB),通过安装各种适当的软件你可以在上面备份全家手机和电脑上的照片(还能支持人脸识别和地理位置分类),在电视上观看NAS中的媒体资源(高清的或者稀有的),甚至作为智能家居的主脑。NAS有一些现成的商业方案,比如群辉,不过很多人也喜欢自己购入散件来组装。
下文我提到的开发板(板子)简单来说是一台小型化和低功耗的电脑(预置了处理器、内存、网卡等等),一般用于工业领域(工控机、商场里的触摸屏),它有各种各样的厂牌和型号,价格、功能、体积、性能、功耗合适的板子都是DIY玩家们的心头宝。
那我们开始吧。
缘起
我今年迷了好一阵子树莓派风格的开发板,一天在网上闲逛时,看到了这么一块板子:

NanoPi M4,处理器是福州瑞芯微的RK3399,配4GB内存,看上去不错,还带了一个PCIe接口……咦,PCIe? 它可以接啥?


简单来说,把这帽子戴在前面那块板子头上,再外接一个12V电源,你就拥有了一个带4个SATA接口的ARM主机,这可以组一个4盘位的NAS了!考虑到人类的复读机属性,这么妙的事情肯定早就有人做过了,查了查果然,巴西的网友Carlos Gomes和上海的网友傻猫芝麻酱都成功地这么做了,还分享了经验。这下稳了,有前车之鉴,我也能整一个!

找材料
兴冲冲地跑去淘宝,然后发现事情并不简单——NanoPi M4已经没多少商家在卖了,为数不多的在售品全都标价一千多块,停产了?这不对啊。回头看看网友的文章和论坛的帖子,推测他们是在2019~2021年用上这块板子的,所以,这波我来晚了?

看来事情向考古的方向发展了,我只能去闲鱼淘换二手了,蹲守一星期,嘿,我居然从一位广州卖家那里找到一块全新的!329块还带16G eMMC芯片和WiFi天线,立马下单,激动地等了7天后收齐了板子和电源的快递,按官方的文档烧了系统…… Emm,板子不开机,拒绝工作?
这下尴尬了,我以前从没用过这款板子,难道有什么独特的启动技巧?询问卖家说没啥特别的,仔仔细细读了官方文档无果,把国内外论坛翻了个底朝天,换了很多系统烧写的姿势也没用。郁闷了三天,只能和卖家协商退货了,卖家很nice地答应了。
怀着惆怅的心情把板子寄回去,又回到了原点,继续在闲鱼上蹲守,但其实卖这个型号的卖家并不多,尝试去阿里巴巴上问了个经销商,人家说1000片起订……那只能慢慢看了。得而复失,那段时间经常去翻板子的文档过干瘾,日有所思,夜有所梦,这……好像不太健康啊。

幸好,三周后,一位上海卖家上线了,二手NanoPi M4 + SATA帽子 + CPU散热鳍 + TF卡打包价350,这简直是为我量身定做的,友好交流后得知这是工厂里淘汰的设备,你们淘汰的真是时候!立马下单,忐忑地等了4天后板子到了,这回,启动大成功!We are back in the game!

剩下的材料相对来说就比较好找了,淘宝闲鱼拼多多,总有一个地方能找到,接下来就是不停地下单和收快递了:
部件 | 数量 | 价格 |
---|---|---|
NanoPi M4 4GB | 1 | 350 |
NanoPi M4 SATA HAT | 1 | 已含 |
NanoPi M4散热鳍 | 1 | 已含 |
TF卡 16GB | 1 | 已含 |
台达12V10A电源适配器 | 1 | 28 |
IDE转SATA 4P电源线一拖四 | 1 | 12 |
IDE 4P电源线母对母 | 1 | 6.8 |
SATA 3.0数据线 | 4 | 利旧 |
台达风扇 6cm 12V | 1 | 8 |
机箱防尘网 30cm*50cm | 1 | 5.5 |
机箱 | 1 | 利旧 |
M2.5螺丝螺母 | 若干 | 利旧 |
M2.5铜柱 | 若干 | 利旧 |
合计 | - | 410.3 |
做机箱
在DIY NAS的过程里,折腾机箱好像是一个必经之路,原因每个人都不一样,对我来说,主要是成品机箱太贵了……

那只能自己动手了,看了看前车之鉴,巴西老铁3D打印了个机箱:

上海老铁另辟蹊径,用碳钎维板自己组了一个:

很好,你们都是熟练掌握CAD,动手能力强而且预算充足的人才啊!
这可学不会,我坐在书桌旁杵着下巴长叹一口气,环顾四周,猛然看到了某次活动发的露营置物箱:

大小合适,厚度合适,塑料我能钻孔,就决定是你了,皮卡丘!
说干就干,照着风扇尺寸先钻好定位孔(其实风扇尺寸是依据箱子尺寸选的):

把两侧的通风孔都凿开:

用螺丝和螺母固定风扇和防尘网:

把各个部件和硬盘放到机箱里并且连接,把风扇和开发板连接起来:

我用无纺布胶带裹了裹机械硬盘,盲猜这样能消除一些共振。SSD的摆放就没啥要求了,哪里方便插哪里。
箱子盖起来散热就太差了,想了想,用剩下的防尘网盖上,让盒子敞开着:

我家电视柜下面正好有个空间可以把机箱塞进去,网线正好可以接到路由器上,完美!

有经验的老师傅现在要问了,你的电源开关呢?硬盘不能热插拔吗?

插上电就开机,拔了电就关机,硬盘我一年可能也不会去插拔一次,就不要在意这些细节了。
装系统
巴西老铁和上海老铁用的是Armbian系统,在论坛上看了看能用,就是得折腾,OpenMediaVault得自己装,让风扇根据温度PWM调速也得搞下(要不然风扇一直满速可太吵了),看得我懒病犯了,有啥更简单的办法不?
还真有!蓦然回首,开发版文档里提到了官方做了打包好的Debian镜像,预装了OpenMediaVault和Docker,还提前做好了风扇PWM调速!真是瞌睡遇到了枕头。

试了下8块钱的风扇效果还可以,平时低速不吵,CPU满载时可以把温度压在65℃以下。
虽然我手工不行,但是进了Debian那就是我的主场了,好用的软件安排上:
- Immich: 我把我十多年以来的拍摄的照片和视频都放进去了,把时间跨度拉长去观察人和事挺有意思的。它还提供了好用的人脸识别和地理位置分类,手机回到家连上WiFi就开始自动备份了。
- aria2和用户界面: 用来下载各种资源,因为NAS功耗低,不关机,没有存在感,以很慢的速度也可以无痛地下载很多东西。
- Kodi: 装在电视和手机上,就可以在家庭内网中在线播放下载的资源了。
- Tailscale: 在公网上构建你自己的虚拟专用网络,哪怕不在家也能访问NAS,或者你可以把NAS上的资源分享给你的朋友。
- Restic: 把很重要的资料再在云端加密备份一次。
我还写了一些只对我有意义的小程序在上面跑,毕竟NAS本质上就是个Linux服务器。
最后放个下载速度截图,这块板子可以轻松打满我的公网带宽:

尾声
这个NAS断断续续组了快两个月,很多时间花在等快递,买错了配件重新换,或者是纠结各种方案上面了。
完工那天我挺开心的,拉着老婆在电视上看了我收藏很久的《老友记:重聚》。
本篇完结,请期待下一次冒险!
