NAS折腾记录0: 圆梦之路

Home NAS Build Project


Preface

好久没写blog了,我可跟你们讲,这其实不是我懒,我在后台写了很多值得一记的折腾经历的outline,包括了显示器、虚拟机、服务器迁移、Windows系统迁移之类等等。

所以,为什么没写成发出来呢?那当然是因为我懒得把它们补完辣!呃……行吧,虽然也有很多客观因素、各种不可抗力,但也不是说挤不出这么点时间来写。那么,讲到底还是因为懒吧(

不过为什么这一篇就发出来了呢?因为后面一篇NAS折腾记录我觉得有必要一发,所以我得把这篇流水账先po出来。

Intro

NAS (i.e. Network Attached Storage),顾名思义就是附加在网络上的存储空间。一台家庭NAS服务器便是在部署于家中,为家庭局域网内,甚至是广域网中的设备提供文件存储服务的服务器。

这样的一台拥有着庞大的存储空间的设备,在家中7x24小时随时为我待命,允许所有网络设备进行访问从而省下了用U盘将资料拷来拷去的麻烦过程,同时还让我可以把个人电脑中又大又吵的HDD尽数卸下。想象一下,真是令人轻松自在又能给人无比安全感的一个机器。什么,你说你完全没法共情是吗?好吧,从我自小对各式电源、排插、存储设备之类的电子产品的狂热来考虑,我获取幸福感的来源可能的确和大众差得有些远了。

但不管你能不能理解这样的感情,总之让我们把话说回来。对我来讲,自从我上中学时第一次听到这个概念起,一台NAS服务器就真真切切是我梦寐以求的设备了。只碍于当时在家中没有话语权,且家人都理解它对我(不管是功能还是情感上)的必要性,所以一直拖到去年年底我开始工作我才终于拾起这个计划。

那么事不宜迟,先来看一下我规划的完全体配置:

Category Manufacturer Model Spec
Case Fractal Design Node 804 mATX 8x 3.5″ + 2x 2.5″ + 2x alt
MotherBoard ASRock Rack D1531D4U2-2TP8R
┠ CPU Intel Xeon D-1531 6C12T 45W 2.2 - 2.7GHz
┠ HBA LSI SAS 3008 2x Mini SAS HD SFF-8643
┖ NIC Intel X557-AT2 2x 10GBase-T
RAM TBC TBC (4x Registered ECC RAM)
Storage
┠ HDD Western Digital 8x Ultrastar DC HC550 16TB SAS 12Gbps 7200rpm PMR
┖ SSD Intel 2x Optane 900P 280GB U.2 NVMe PCIE3.0 x4
PSU Fractal Design Ion+ 860P 80PLUS Platinum 860W

OS

目前市面上的成品NAS比较大众一些的就是群晖和威联通,外观么我觉得还是群晖要好看一些,但成品NAS大体都差不多长那样。

问题在于成品NAS的硬件性价比极低,譬如入门款基本都是ARM架构的低功耗CPU,而配到x86架构CPU的NAS价格又逐渐离谱了起来。虽然只是提供文件服务确实也不需要多强大的性能,但是很显然,我NAS组来是要为了今后折腾留出空间的,那么不论性能还是兼容性都还是传统x86架构的U比较适合我。而既然要自己折腾,那也没必要买主打使用便利性的成品NAS。故而我最后选择了自己攒一台NAS。

至于系统我最终是选择了Unraid,没选TrueNAS的原因是它一大优势在于RAID-Z,可我并没有打算直接把硬盘一次性买齐(组好的阵列并不能之后再往里边加盘了)。而Unraid的硬盘管理属于是智能一些的JBOD,外加提供了最多两块parity盘。这就相当于读写都是每个盘各管各的,没有多盘同时读写的高速度,但好处是不会一读写就所有盘一起开转(可以指定一定深度下的目录内容不会被跨盘存储),而且即使有超过parity盘数量的硬盘同时出现故障没法修复,也完全不会影响剩下盘里的文件。考虑到我并不会频繁大量读写NAS中的数据,所以我觉得单盘读写的速度也绰绰有余了(实际上直到现在家里弱电箱也没上万兆交换机,只有我自己的电脑直连了NAS能跑万兆),真的需要频繁大量读写的即使不能塞进自己电脑也可以选择存储至NAS的缓存盘里。另外Unraid对VM和Docker的支持也还可以,小折腾折腾还是不错的。

Case

硬件选择上首先是机箱。起初我打算是买个机架,捡个准系统的机架式服务器,再往机架里边塞一点UPS、PDU、交换机啥的。然鹅调查之后我感觉即使挑4U服务器,也还是对实际噪音最多能控制到什么程度没啥把握。由于我个人对噪音特别敏感,所以不可能丢到自己房间,别的选择就只有丢到客厅。可机柜又和我家的装修风格格格不入,别说我爸必不会同意我在他自己设计的欧式风格装修的客厅里放个傻大黑粗还大概率很吵的玩意,这我自己都接受不了。

于是我退而求其次选择一般的多盘位机箱,选择主要有两种:传统塔式机箱和专门设计了热插拔硬盘槽位的机箱。前者浪费了太多空间,而且我每年都要装好几台电脑,圆梦时刻对着这种看吐了的标准结构总觉得差了点仪式感,所以pass;后者呢,选择有inWin的MS04,SilverStone的DS380和CS381,几个淘宝小厂产品,以及一众以蜗牛星际为代表的退休IPFS矿机。

首先淘汰矿机肯定不看了,颜值过低放不上台面;而MS04只有4盘位,太少了,没有梦想;DS380倒是有8盘位,但是听说风道很差,温度很高;CS381看着挺不错的,但是价格有点离谱;剩下的就当时一些淘宝小厂的作品,但是由于品控和出货时间之类的种种问题,还是有点不放心。

在这极限选择困难症的时候我注意到了Fractal Design的Node304跟Node804。我一直都挺喜欢他们家台湾省瑞典县的设计风格,但是没发现他们有做这样非塔式的多盘位机箱(实际上在这之前我对他们家Node系列的印象完全停留在Node202这样的紧凑型机箱上)。

这两款优雅简又洁低调的箱子放在我家客厅完全不突兀,不过在吹这两个机箱之前首先谈谈缺点吧,那就是硬盘位没有设计成允许从外部热插拔的。诚然,必须要打开机箱才能进行硬盘的维护操作,这多少会在换硬盘的时候少一些仪式感(??),但仔细想想的话,即使它是一台NAS,在它的生命周期里怕是也并不会有多少次开侧板维护硬盘的机会。特别是结合我之后的硬盘选择,大概是更加可以随便放着不用管了。

最终我选择了Node804,这是一个被分成了两块的机箱,一边是放板U,背后一边则是电源和硬盘笼。板子最多能支持到M-ATX,支持的电源规格也是ATX,大概本身就是作为多盘位PC/工作站设计的。值得说道的就是这个机箱有两个吊顶的抽拉式硬盘笼,每个可以插入4块,也就是一共8块大容量3.5"硬盘(特别提到大容量是因为一些≥10TB的硬盘为了装下更大的磁碟所以用了和一般家用硬盘不同的孔距。而这个机箱是附带了这类硬盘的兼容套件的。);在机箱前面板部分还藏了一个能装超薄光驱和两块2.5"硬盘的区域(但这边的硬盘厚度限制比较死,后面会讲);最后主板区底面还可以选择装两块2.5"或3.5"的硬盘。总结一下这个机箱上限就是足足12块硬盘(硬盘笼8块3.5"硬盘+前面板2块2.5"硬盘+主板区2块2.5"/3.5"硬盘)。

同样很猛的还有它支持的风扇数量,左侧的主板区有前部2块+顶部2块+后部1块+底部(不装硬盘的话)2块,一共7块12cm风扇的安装空间;而右侧的硬盘笼区则有前部2块12cm,顶部2块+后部1块,一共2块12cm+3块12cm/14cm风扇的安装空间。不过它右侧顶部的风扇位厚度被硬盘笼限制得很死,虽然能装14cm风扇,但实际不是很实用。不过其中一个硬盘笼是可以反过来放贴底放的,这样应该就能随便装风扇了,不过我才装了4块硬盘,还没研究过这个玩法。反正我觉得作为一台NAS其实左侧大部分情况下应该不太会有什么散热压力,基本上只需要把右侧前后部的风扇整整好就行……除非你没事往里边塞高功率显卡。

Node304的话主板最高只支持到ITX,当然不需要很多拓展的话就无所谓了,反正主板大小并不影响性能。它最多装3个能装2块2.5"/3.5"硬盘的硬盘笼,也就是一共6块,上限还是比804少不少,但是如果想所有盘一步到位直接组RAID的话也是一个很不错的选择,就算只插4块HC550,那也有64TB-72TB了,一般人谁需要在家里放这么多东西,我寻思就算是一般玩PT的也不至于。(emmmm…所以我为什么要计划上8块HC550……大概这就是逐梦少年吧。)还有就是它吹硬盘的风道比较均匀,三个硬盘笼雨露均沾,不像804一样默认全吊装的情况下会要先吹过一个才能再吹第二个(不过304总共只有2个9cm进风,1个14cm进风)。总体来讲304的空间利用率比804还是高很多的,只是我毅然决然地选择了追梦。

Motherboard

板U我其实也是纠结了很久的,最开始想上i3-8100,还能顺便利用Intel的核显硬解能力做媒体服务器搞All-in-one的,但是想找一块拓展性足够,又不超过M-ATX板型的板子谈何容易,万兆网卡、SAS的HBA卡再加上NVMe SSD,它PCIe通道一共就给了那么几条,怎么整噢。好不容易在闲鱼找到一款工作站主板,大体能满足我的需求,但是又听说那块板子返修率高,如果坏在我手里,一块二手的老板子也不知道能怎么处理。于是我人彻底麻了。

想想么,只能咬咬牙上服务器板子了,但是高昂的价格又一次使我望而却步!中间就找到一块超微的X10SLH-N6-ST031,1k不到的价格带6个万兆网口,可惜它版型很怪,是M-ATX,但是方向转了90°,机箱不支持,只得作罢。到这里我的计划真正停了下来,除了三不五时刷刷闲鱼看有没有能捡的漏以外我啥也想不出了。

然鹅几周后的一天我刷到了一个玩意,一个……家伙,一个……好家伙,一块1.8k不到的M-ATX主板,带一条PCIe x16和一条PCIe x8,支持RECC内存,内置双万兆电口+一个管理网口,SAS控制器带两个SFF8643口(正好能带8块SAS盘),外加8个SATA口。而且最震撼的是它还内置了块6C 12T,功耗45W,BGA封装的Xeon D-1531。虽然它主频低……但是NAS要什么主频!虽然它没核显……但是本身没考虑独显就是因为PCIe通道数的问题,这光是板子上自带的拓展性就满足了我解码以外的所有需求了,我随便找块什么GT1030不是无敌?我tm直接下单。

到手后研究了一下发现好像是联想ThinkServer RS450X的拆机板子,这个型号搜不到什么产品,不过搜CPU型号D-1531可以发现群晖和威联通以前都有用它作为自家高端机架式存储服务器的CPU。想到它们的产品定价,我不禁笑……啊不是,我不禁感叹……不,算了,当我没说过。

好玩的是后来卖家帮我混到他们当时开车的群里,我翻了翻之前他们的统计文档,结果发现他们当时发车价好像连1k都没,给他白赚800块。但说实话这个配置完美符合我的需求,也终结了我选择困难不断纠结的日子,我还是觉得不亏的。不如说就算当时价格再+1k,估计我也会选择入手。

Storage

HDD

关于HDD的选择倒是挺简单的,HGST产、充氦、SAS协议、容量往大买,但是数字要好看(什么叫数字好看呢,那当然是要2的n次方,退一步也得要4的倍数。为啥么……我也不知道)。那么答案已经很明显了,Ultrastar DC HC550,SAS 16TB版本,没有其他选项。

刚开始攒这台NAS的时候ETH矿潮刚开始没多久,一开始就买了一块16TB的HC550,而且还手滑把SAS协议的点错成了SATA协议的,没确认就下了单,等到拆封发现接口不对的时候已经晚了……好在SAS的控制器和线是向下兼容SATA盘的,总还是装上去了。大不了之后做parity盘嘛,也没差。

然后chia开始矿潮的前两天我正好看到消息,趁着矿老板大概还没弄清楚情况只扫了SATA盘的时候,我补了剩下三块SAS的HC550。我这这几块HDD都是找淘宝上南京那家硬盘店买的,那天晚上下单,第二天早上客服还来跟我确认有没有SATA点错成SAS盘,啰嗦一番后跟我讲,没货了……我心里一咯噔,显卡不让我买(要不是之前离职的辣鸡公司一直拖欠我工资,我早就用6k的3080爽到现在了),硬盘还不能让我囤两块吗!再一看昨晚刚下的订单,商品已经下架了。这时我心里很是郁闷,但在一番纠缠后客服说又调到货了,接着马上给我发货了。这个嘛估计是想折腾折腾我,看能不能让我主动取消订单,他们好自己囤货。当然和北京那家硬盘店比起来他们已经算是很君子了,好歹劝退不成还是乖乖发货的。

之后嘛,这个盘价甚至一度翻到了八倍之多,不过我囤着自己用的也没考虑出手就是了。至于现在的硬盘,价格已经基本恢复正常,我买的时候一块在1.8k左右,现在差不多2.2k也能拿到了,刚搜了一下闲鱼甚至已经快跌破2k了。后来买的三块SAS还都没有上机,因为现在这块也姑且够用,不过最近终于逐渐有要填满的趋势了,应该近期就会把这三块都上机。

SSD

至于这个SSD就更曲折了……当然选择也是和HDD一样没啥悬念,用作NAS缓存需要经受大量数据擦写的考验,最完美的就是Intel家采用3D Xpoint颗粒的Optane 900P固态了,4K读写巨快而且还基本写不坏。在买得起的选择里(有钱谁不想要P5800X呢)这个大概是最合适的。

其实我在攒这台NAS之前就关注900P好久了,而我第一块HC550上线的时候正好在CHH看到说闲鱼900P 280GB的有好价,我看了看原装拆线700多,全新不开封的800,对900P来讲确实还挺划算了(现在也涨上去了),就下单了两块不带线的。至于不要线的原因嘛,本来就是想买一对回去组RAID0做cache的,我看到淘宝有并在一起的双U.2转双8643的线,就想直接整一根这个,整整齐齐。

到货之后呢马上就碰到了第一个麻烦:Node804的两个前置2.5"硬盘位中有一个塞不进这厚达9mm的盘。对,就是我前面提到的坑,这两个硬盘位不是对称的,只有一个放得下900P。我想了想,反正900P发热量也挺大的,那就算了,装到左侧仓底下的位置好了。

这时候我的窒息操作来了,我把之前的双8643线插到了主板上SAS控制器的双8643口,然后发现盘读不出来,这才意识到SAS控制器它凭什么要能读NVMe协议啊……

于是我就去买PCIe转8643的卡了,好在服务器主板有PCIe通道拆分功能,不需要买带芯片的卡,价格要便宜一些。本来淘宝黑店下了一单,但正好又发现之前主板卖家拉我进的开车群里有大佬自己做转接卡的,就直接问他买了两片,价格只有淘宝黑店的零头。由于我还买了几片其他还在制作中的转接卡,他就等所有卡都做好了才发货,中间大概又隔了一周。

等转接卡做好收到货,我发现我这对900P仍然识别不出来,而且不仅PCIe转8643的卡读不出来,我把它插到一起定的PCIe转M.2组合M.2转8643上,仍然读不出,而奇怪的是PCIe转M.2上插一般的M.2 NVMe固态是能正常工作的。由于前面的转接卡都买了两片,我各种组合尝试下900P都读不出来,而M.2都正常工作,总不能是歧视U.2 NMVe吧?于是我只能怀疑是当初买的线有问题了。跟淘宝卖线的人一番折腾后,他让我把线寄回去测试,过了两天跟我讲说他们测下来没问题,又把线发了回来。

这回我又懵了,只好去找做卡的大佬,把我的板子、卡、线、两块900P都寄了过去。好在寄了过去之后,人家没上机就把握到了问题,说这个U.2转8643线应该是LSI 9400系列的阵列卡专用的,虽然接口一样,但是线序不同,这才没认出来。我一查订单,商品描述里确实是这么写的。之前看到这些描述的时候只以为是给小白举举例子,防止小白乱下单,实际都是U.2转8643没有区别。结果小丑竟是我自己哪!后来大佬换了根标准的U.2转8643线,一上机就立马识别了。我也只得加钱赎回了我当初没要的900P原装线。

到这里SSD终于折腾完了,双900P组的RAID0阵列终于显示在我NAS的缓存池里。

Others

剩下的就是内存,风扇,还有电源了。

内存没啥好讲的,先从我爸电脑上的4根8G的辣鸡3000MHz内存里征用两根。主要是现在RECC条子价格不太好,既然目前是绰绰有余了那也没必要强上。(希望真上的时候不要像前面那么曲折)

风扇的话Node804自带了三把DC的,我又随便加了几把不知道哪里来的扇子,还有一把之前水冷排上换下来的14cm扇子。

电源我本来买了Fractal Design的Ion+ 860P白金电源给自己PC用的,拿之前淘汰的Cooler Master的V500装在上面,谁知好景不长,我换了个紧凑ITX机箱(挖坑),为了走线空间和散热不得不反向(?)升级了Corsair的SF750,于是860P就被我换进了NAS。不得不说860P真的好看,和别家电源炫酷时尚的设计风格完全不一样,非常素雅,不枉我在发现大中华区都没货了之后特意从日本海淘回来。

Epilogue

终于把流水账写完了,不知道多久没有写这么多字了。希望你能喜欢是最好了,当然,这么流水账的东西我自己就不喜欢XD

自从Bangumi变得乌烟瘴气之后,除了标记条目以外我也不去看它了,工作后花在ACGN上的时间更少,更不用提在Bangumi码读后感了。

接下来可以写我本来想写的尝试外网远程挂载时候发生的事了。