能省则省

为什么你不应该购买成品NAS

Posted by Bob Guo on February 14, 2021

首先声明:本文章只针对一般意义上的个人用户需求讨论,若你的需求较为奇葩,或为没有稳定技术支持团队的企业、团队用户,本文并不适用于你的情况。

三种方案

这篇文章某种意义上是我之前文章的后续。之前的文章里我浅尝即止式的介绍了一下NAS的概念,但是NAS的选择又是一个庞大的问题。由于无论什么NAS都只是一台可以安装很多硬盘的电脑(无论是物理上的还是抽象层的),在选择NAS上用户也需要对硬件和软件分别进行选择。对于一般的用户来说,购置NAS主要有三条道路可以选择,分别是

  • 成品NAS(典型例子包括威联通和群晖)
  • 自制NAS(组一台电脑,装几块硬盘,配置文件服务器)
  • 捡垃圾NAS(矿渣、企业退役存储服务器等)

从技术角度上来讲,后两者并没有本质上的区别,但由于一些众所周知的原因,最后一种方案的性价比在某种程度上是远超任何其他方案的,所以在接下来的文章中我会分开介绍。
第一种方案我个人认为已经不用再过多介绍。著名NAS品牌例如威联通和群晖的威名想必大家耳熟能详,更别提企业级市场各种服务器厂商推出的存储服务器方案,对于DC等专业需求来说已经足够好用。第二种方案也是我个人最推荐诸位小白尝试的方案,它的优势我会在下文详细讲述。而至于第三种方案,这种方案就不大适合everyday joe使用,虽然看着便宜但很多地方坑很多-例如“我家云”在很长一段时间内存在硬盘问题,如果你说这是RK SoC的锅那么还有蜗牛星际等各种大坑等着你,即使是企业退役的存储服务器(例如最近很火的华为RH228x系列服务器)也存在像零件比整机贵这样的奇葩问题(还有目前据我所知华为独有的神奇问题-各种文档很难拿)。如果你像我一样是一个长期的Linux用户,即使没有足够的技术能力也知道怎么去按图索骥,那么走这条路子倒也无所谓,但是如果你只是一个想简单省事存动画的宅宅,那么这种折腾是典型的可以但没必要。而且我还没涉及到体型、耗电和噪音这些缺点。
我把这三种方案的优缺点简单记录在下面这个表格上:
Different NAS solutions

如何选购NAS

接下来我会简单聊聊怎么选购NAS的硬件。由于捡垃圾属于看的不该买买的不来看的环节,且硬件价格波动剧烈不可控,风险太高,这里暂且按下不表。

厂商方案

如果你真的很懒,不想装机不想调试,只想花钱买来用,或者觉得某个NAS的机箱特别符合自己口味,那么厂商NAS方案也不失为一个优秀的选择-只要你能接受上述这些缺点。如果只是最基本的存储和BT需求,那么你要做的就是选择在你预算范围内的、盘位较多的产品,然后买就完事了。这一段就不做过多介绍,马上跳到下一段。

自制方案

这才是这篇文章的重头戏。我个人一直以来都推荐有一定技术能力和动手能力的用户选择自制方案(虽然我自己肯定是捡垃圾了)。对于并不是特别在乎机箱外观(或者说有专门的地方把机器塞进去老死不相往来)的人来说,这一方案在性价比上的极高优势(硬盘都不用额外买)是显而易见的。尤其是考虑到自制方案采用标准PC硬件规格带来的优势,以及NAS这一需求本身实现方案的多样,我个人认为all in自制方案是一个很合理的选择。
既然NAS本质是电脑,那么我们的选购自然也需要针对需求定制。这不是一台游戏PC,装上你辛辛苦苦抢到的3090 OC并不能提高下载速度(虽然N卡网速快在NVIDIA收购Mellanox之后已经不是一个玩笑话),但加一个万兆网卡绝对能让内网速度飙升。既然都是辛苦挣来的血汗钱,我们自然需要让每一分钱尽量花在刀刃上。NAS硬件有六个核心部件-机箱、主板、CPU、内存、系统盘和电源,这六个部件之外的其他部件(比如SSD Cache、万兆网卡甚至GPU这些)都对这篇文章的目标受众没有太大必要,这里就不展开,有兴趣的可以等我之后写的文章。

机箱

相较于普通的游戏电脑,机箱可谓是NAS的重中之重。全NAND土豪当我没说,但是机械硬盘的物理特性决定了你绝对绝对不能像固态硬盘一样随便丢在机箱里还指望它能长期正常工作,你需要用专业的机箱才能解决这一问题。由于近几年硬盘矿这一概念的爆火,大量“硬盘矿机”因为矿难的原因被随意丢弃在一旁,价格低廉,全套机器不带硬盘的价格买来甚至只用机箱都不亏。这些机箱可以在闲鱼买到,价格低廉,这里不做具体推荐,根据自己需求决定入手哪款机器。
那如果你想要你的机器更为优雅/同时兼顾HTPC/有更多硬盘位,那么你就需要购买一些其他的机箱才能达到这一效果。虽然价格昂贵,但是毕竟这东西要看着心水,没办法的,这一刀你只能挨下来。

主板

虽然一般NAS采用的都是ITX主板,但一旦你的机械硬盘数量大于四块,ITX主板就变得捉襟见肘。大部分ITX主板都只有4个SATA3接口,即使算上SATA通道的M.2也最多只有六个(系统盘问题后面再聊),即使不考虑转接导致的性能损失/一些奇葩的技术问题,光是这样就导致硬盘数量被大大限制。当然,也不是没辙。首先,你可以选择更换更大尺寸的机箱来解决这一问题,虽然代价是更高的价格与/或更丑的外观;同样也可以选用专门为这些环境优化的主板,不过价格会上天;最后,还可以选用外置USB硬盘柜,但这样无论是价格还是体积都难以接受,真的不如一开始就做一个大尺寸的机型。 好在,一般在这篇文章涉及的使用环境里少有高于四个机械盘的需求,所以我们暂时遇不到这种问题。但是如果遇到了,这一问题将会极为麻烦。所以如果条件允许,我个人的建议就是直接上大号机箱,用PCIe解决一切问题。

CPU平台

一般来讲,NAS使用的CPU平台都是性能比较差的。普通PC里当作电子垃圾的赛扬奔腾在NAS领域仍然是掌上明珠,上个i3就已经算高配了(虽然从10代开始i3跟老i7已经没区别了也确实算高配),更不用说更高端的i5和i7了。J4105、J3455甚至J1900才是NAS平台的交际花。 CPU differents
这些平台的性能差距对于只用作NAS/BT下载的用户来说并无区别,如果想要这个平台我个人建议有啥用啥,能买到什么主板就用什么主板,因为性能真的无所谓。不过,后期升级会比较麻烦。至于AMD,即使是Zen 3高歌猛进的现在,AMD在嵌入式领域的工作也远远不如Intel。如果你要搭建一台大尺寸的NAS,那么Ryzen自然是一个更好的选择,但对于入门级用户来说,这些平台已经足够使用。而且,即使考虑未来升级,直接连主板一起更换也并非太过奢侈。

内存

内存问题对于入门级NAS用户来说并不需要太过重视:4GB内存应对一般的文件存储与BT下载完全没有压力,8GB即使对于一些进阶需求也已经颇为充裕;16GB及以上的内存对于个人用户基本不存在任何意义-除非你要做一台AIO服务器。

系统盘

NAS的系统盘是一个很有趣的问题。由于大部分NAS操作系统的高度定向优化,就算是OMV这样的、基于Debian的完整Linux操作系统占用空间都不大;尤其是NAS本身对操作系统的读写很少,你一般也不会经常去tty用命令行操作各种功能,所以买一个好一点的U盘都完全足够,把宝贵的SATA通道留给机械硬盘。当然,如果条件允许,弄一个128G的固态硬盘我个人认为是一个比较好的选择-既保证了高性价比,又能够保证足够的升级空间-大不了再装几个盘把其他分区物理转移,128G挂/已经是绰绰有余了。

电源

电源也是一个很重要的部分。对于存放数据的NAS来说,电源的质量直接关系到你NAS的寿命。我个人建议是除了买大牌电源之外还要准备一个UPS,保证即使出现停电等情况NAS也能自动关机保全数据。由于我们这次的NAS比较低功耗,UPS的电池容量也不用太高。唯一的问题是在断电后提醒NAS自动关机:由于我们采用的方案是基于Linux的定制操作系统,这方面需要用户自己写脚本处理,如果是品牌NAS要么有自家的UPS方案要么可以兼容其他UPS,这一点是自制NAS没法做得很到位的地方。当然,如果你是poweruser,自制一个UPS似乎也是可行的,但是危险性太高,个人不推荐。

邪道硬件

虽然说捡垃圾这种玩法我不会花很多篇幅来讲,但是鉴于还有很多奇葩的NAS解决方案,我也一并讲一讲为好。

HP MicroServer

虽然说“塔式服务器”不是什么稀奇的东西,但惠普的MicroServer是少有的满足:

  • 来自一线大牌
  • 面向个人使用环境优化(虽然不是有意为之)

两个条件的机型。其机箱设计兼具美观和实用,虽然相较于厂商NAS并无优化的操作系统;相较自制NAS没有高超的性价比,但对于只愿意折腾软件的用户来说,这一方案由于易于维护、优秀的保修与客户支持倒也不算特别过分-毕竟你完全可以买低配自行升级。

基于ARM架构的方案

虽然我们上面聊的都是传统x86-64方案,但ARM方案在NAS领域也是不可小觑的。不过,虽然如此,目前主流的ARM-based NAS主要还是来自于OEM厂商的方案。由于ARM的高度碎片化,目前很少有基于ARM架构的社区NAS设计(不过我之前听说有人用RK3399做了一个NAS主板)。在这一个品类里除了退役服务器之外就是一些像我家云这样的矿渣了。

选择操作系统

操作系统方面,虽然可以使用黑群晖这样的操作系统,但是毕竟这是有版权问题的私有操作系统(虽然前面刚刚写了文章教你怎么盗版别人制作的动画作品现在对操作系统吹毛求疵很奇怪),以及上面我提到的很多缺点是软件问题,我个人还是推荐使用一个开源操作系统处理。有很多开源的NAS操作系统解决方案,甚至你可以自己装一个Linux发行版手动配置,但考虑到大多数人的技术力问题,我这里最推荐的是OpenMediaVault.
这个操作系统基于Debian GNU/Linux,如果你对Linux发行版有一点知识的话你就已经完全明白我推荐它的理由了。它的WebUI界面比较偏向于FreeNAS这类的更为专业的NAS操作系统,而且因为底层是Debian,无论是稳定性还是易用性都可以说是首屈一指。我自己的NAS使用的也是这个操作系统(虽然机器最后卖掉了因为没硬盘),使用体验还是十分省心的。
当然,其他的操作系统也是可以的,这个更偏向于你自己的偏好。至于Windows,也不是不行,但是我不习惯用Windows,所以这里也暂且按下不表。对这一块有需求的可以自己查阅资料。

选择硬盘

在NAS上存储数据用的硬盘我暂且分为两种:缓存盘和数据盘,其中对于本文涉及的使用环境缓存盘并不存在太大的意义,所以这一段我们只考虑数据盘。现在主流的机械硬盘有两种接口:SAS与SATA,后者最为常见,也是唯一能在toC渠道以个人消费者身份购买的产品。SAS接口产品更多出现在企业级应用中,同样在此不做过多说明。
目前市面上机械硬盘的生产商因为大量的并购只留下三家:东芝、WD/HGST和希捷。对于个人用户的使用来说,品牌是比较无所谓的,关键是硬盘采用的是CMR还是SMR技术,这个比较关键。CMR与SMR技术的具体原理在此不做说明,一来讲清楚比较浪费篇幅,二来对于end user来说意义不大,你只需要知道放在NAS里经常读写的建议使用CMR,SMR硬盘用作冷备份更为合适。我自己用的硬盘就是HGST的HC320 8TB版,现在已经出现了后继型330。我自己的需求未来可能会再买三块HC320进行配置。

RAID/JBOD?

硬盘装进NAS之后有三种种不同的模式:SINGLE、JBOD与RAID。
SINGLE就是最简单的一块块硬盘,没啥好说的,独立管理独立分析。
JBOD,Just bunch of Drives,也就是将所有硬盘视为一个逻辑硬盘。这一方式一般不认为是RAID的一种,但我们也放在一起讨论。由于在OS中被视为一块逻辑磁盘,若第一块磁盘损坏则数据无法正常读出,并不推荐使用。 上面这两种模式在磁盘空间不同的情况下也可以正常运作,而至于RAID,全称是Redundant Arrays of Independent Disks,独立磁盘组成的冗余阵列。一般当我们讨论到磁盘整列的时候我们讨论的就是RAID。主流的RAID方式主要有:

  • RAID 0,无数据安全,一块硬盘损坏所有资料全部消失,但速度飞快。这一方法常见于高端游戏本中(使用多块SSD组Raid 0以提升速度)
  • RAID 1,数据安全性极高,多盘镜像同时备份,但速度不变且磁盘容量极低。阵列中任何一块硬盘损坏都不影响数据完整性
  • RAID 5,数据安全性较高,N+1磁盘校验,但对算力有一定要求,且需要至少三块硬盘才能组建且只能忍受一块硬盘损毁。
  • RAID 6,比RAID 5多加一块校验盘,优点缺点完全一致。

在实际使用中,也存在将RAID后的逻辑磁盘二次RAID以在性能和数据安全中找到一定平衡。
部署RAID环境在NAS操作系统中可以轻松完成,具体操作随系统而定。且RAID在重建整列中容易出现第二块硬盘损坏导致阵列彻底无法恢复的惨剧,所以目前来讲最推荐的方式还是对重要数据实行三二一原则。如果你想知道自己应该够买多少硬盘,请使用RAID计算器
不过,对于本文涉及的使用环境来说,这一方案似乎没有太大的必要-多盘RAID/JBOD不如刻个光盘,甚至找有磁带机的极客朋友帮忙烧个磁带备份都比RAID来的划算一点。我个人推荐的使用方式是:多个硬盘物理分区存放不同种类的视频与文件;定期将重要文件进行导出备份。