其实原本没有想这么早组出 NAS 的,不过因为某些原因,我觉得大容量存储空间的需求很迫切,所以趁着中秋节把它搭起来了。
考虑到可能要在上面跑 Git Server(譬如 GitLab)之类的东西,所以这套 NAS 的配置较高,不算数据盘总共花了 8000 左右。价格差不多到了高端成品 NAS 的水平,但是性能和扩展性强了很多倍,整体还是很满意的,在这里我详细介绍一下它的配置。
操作系统我选择了 TrueNAS SCALE。
TrueNAS CORE 的前身 FreeNAS 也算是大名鼎鼎了,开源系统是一个很大的加分项,也是需要 ZFS 时的优选,它背后的 iXsystems 积极将 ZFS 主线上的功能和漏洞修复在 ZFS 大版本之前提前提取到 TrueNAS 之上。
但是FreeNAS(TrueNAS CORE)是基于 FreeBSD 的系统,相对来说硬件驱动支持更差,软件也更难找,Docker 更是难题,往往还需要虚拟机,而 TrueNAS SCALE 则转向 Debian 解决了硬件驱动问题,更是原生支持了 Docker,同时保留了 TrueNAS CORE 的优势。
21 年 10 月底 TrueNAS SCALE 22.02-RC.1 发布,TrueNAS SCALE 正式进入 RC 阶段,算是稳定了下来,于是我选择它作为我的 NAS 系统。
权衡价格、功耗、性能与扩展性之后,CPU 我选择了 Intel Xeon W-2175,搭配的主板则选择 C422 芯片组的超微 X11SRA-F。
W-2175 正式版目前某宝价格不超过 1800,据称是全新。Skylake 架构,IPC 不差而且待机功耗较低(待机时 CPU 只有十几瓦,不算很高了),14 核心 28 线程,单核睿频还能达到 4.3 Ghz,性能对于 NAS 来说足够强劲。
说实话,性能比想象中还是差了点,不过单烤 CPU 也就 110w 的样子,比 11900k 能耗比强多了
我选择的这块 X11SRA-F 支持 IPMI,板载显卡,很方便远程管理。通过 IPMI 可以远程操作开关机,控制风扇,查看硬件日志状态,甚至有类似远程桌面的功能,而且更加强大,只要开机就能操作电脑,甚至可以控制 BIOS!通过编程调用 IPMI 也很简单,我就在 QQ Bot 中集成了远程控制 NAS 开关机的功能。
作为工作站平台,C422 芯片组支持四通道八根 DDR4 REG ECC 内存,最大 512GB。而且它具有对于 NAS 来说非常强大的扩展性,我这块 X11SRA-F 提供了:
三个 PCIe3.0x16 扩展槽(其中两个满速,一个 x8 速率),一个 PCIe3.0x4 插槽;
两个 PCIe3.0x4 的 M.2 插槽;
两个 PCIe3.0x4 的 U.2 插槽;
6 个 SATA 6Gbps 接口。
除了没能给满 8 个板载 SATA 口让我有点难受,其他方面我都很满意,足够后期额外增添更多设备(譬如阵列卡)。
除此之外,它还有工作站标准的双网卡配置:一块带 IPMI 的千兆网卡 Intel I210-AT,一块 5GbE 的 AQC108 网卡。虽然可惜没有给板载万兆网卡,但是对于目前我的 2.5G 内网来说这是充足的,AQC108 在 TrueNAS SCALE 上可以免驱使用,协商到 2.5G 速率也毫无问题。
因为主板出问题会比较麻烦,我选择全新带保的,价格略贵,2300 左右。
ZFS 很依赖 ECC 内存,内存随机性错误可能会导致数据出错,而 ECC 内存能自动修正单 bit 错误,检查到多 bit 错误。同时 ZFS 还使用内存作为缓存,ZFS 去重功能也会消耗大量内存(1T 存储空间建议对应 5G 内存)。
考虑到 GitLab 等服务要的内存也不少,64G 总内存太过勉强,这里我选择了四根三星 32G 2666V 的 REG ECC 内存,现在一根价格不到 600,也就是 128G 总价不到 2400。
这颗 CPU 功耗即使单烤 FPU 也就 115W 左右,顶盖面积也大,很容易就压住,不过低价散热器支持 LGA20XX 扣具的不多,再考虑外观因素,这里我选择了利民 U120EX 黑色版。
黑色版本的 U120EX 上了两把降速版的 B12E,和 B12 转速保持一致,不过换成了双滚珠轴承,有更长的寿命(双滚珠一般比油轴噪音更大,不过据称这玩意轴噪很低,至少我是没怎么听到,都被风噪盖下去了)。
当然实际上 TA120EX 也带了 LGA20XX 扣具,要问我为什么在这上面加钱……主要还是帅,U120EX 的弧线塔体是真的好看。
散热能力我没有做对比不好说,不过 W-2175 本身发热很低,单烤基本五十多度的水平,用它是完全足够了。
机箱风扇方面,前进风风扇我用了三把利民 TL-C12-B(C12 黑色版),后出风则用了风量更大的 TL-C12PRO。
不过要注意的是,X11SRA-F 的满速模式以外的转速策略会时不时抽风到满速,满速即使 C12 都过吵。通过 IPMI 能够控制风扇转速,但即使是在全速模式下设置的,过一段时间会因为未知原因被覆盖,最后我是额外整了几根减速线才把转速降下去的。
NAS 机箱是安钛克 P101-S。原生 8 机械盘位+2 SSD 盘位,还有一个光驱位。上、前、左、右四面有降噪材质。全机箱都有快拆设计,拆卸体验不错。
不过这玩意是我这套 NAS 准备下来槽点最多的玩意。降噪效果聊聊胜于无,而且安钛克的做工属实一言难尽,我这个机箱风扇支架最上面还有处断裂,虽然影响不大,但是很糟心(京东给我赔了 2000 京豆)。更烦的是,光驱位卸下来按理说是可以再加一个硬盘笼,这个硬盘笼下面两个螺丝能拧,专门去问了其他人,他们的也都能装,但我这个不知道是不是孔位误差太大了,孔位歪了不少根本拧不上。这玩意硬盘架本身也是歪的……虽然拧上螺丝就好了。
另一点是它的前置风扇位很难更换风扇,想要自己换三把 12cm 风扇的用户要小心。对于有脚垫的风扇,试了半天螺丝位都刚好没有孔位,只能把三把风扇压到最下面(导致最下面一把风扇没法单独取出来),最下面的螺丝还要用直角螺丝刀斜着拧进去才行。胶钉也试过了,根本用不了。
如果让我再选,我可能会试试先马厚道先生,价格更低而且有 12+2 个硬盘位,据朋友说用料也还可以。
NAS 电源也是一个很关键的部件,差的电源纹波不稳很可能会导致硬盘报废。
稳妥起见,我选择了追风者 AMP850。850w 金牌全模组,海韵代工,用的 FOCUS 二代方案,也就是海韵 FOCUS 目前正在用的方案(安钛克 HCG 等则是一代 FOCUS 方案,会在电源线里塞滤波电容,导致线材非常硬),完全可以当成价格更低的海韵 FOCUS GX850,值得信赖。850w 对于一个满载在 200w 以下的 NAS 来说也绰绰有余。
突然断电对于机械硬盘来说伤害很大,UPS 对于 NAS 来说也是必不可少的,可以在突然断电时提供短暂的后备供电,让 NAS 有机会正常关机。
相对于在线式 UPS,后备式 UPS 输出波形更差,而且断电时需要几毫秒的时间切换到 UPS 供电,所以高端 UPS 一般是在线式,不过家用机器对这些问题并不敏感,后备式 UPS 更便宜、噪音更低而且供电损耗也更低,普通 NAS 使用足够。
这里我选择了山特 TG-BOX 850。510w 足够 NAS 使用,噪音非常低,价格也不算贵,支持与 NAS USB 通讯。
PS:USB 插上后,Windows、群辉等都能直接识别,但是 TrueNAS 需要自己配置 NUT。TrueNAS 需要填对应的驱动,TG-BOX 850 不在那个列表里。经过探索,确认了 TG-BOX 使用 usbhid-ups
驱动即可。所以只需要在 Driver 一栏输入 usbhid-ups,在搜索出来的型号里随便选择一个就好了。
由于 X11SRA-F 只有 6 个 SATA,而我目前要用到的 SATA 接口数量已经超过 6 个,所以需要额外的扩展卡转出更多 SATA。
ZFS 并不需要硬件 RAID 阵列,所以阵列卡不是必要的。虽然阵列卡的直通模式也是稳妥的选择,但相对来说阵列卡的功耗还是太高了,没有硬 RAID 或者 SAS 硬盘的需求时用普通的扩展卡就好了。
一番寻找后,我选择了这张乐扩的 4 口 SATA 的扩展卡。
芯片应该是 ASM1064,PCIe 3.0x1 转 4 口 SATA,免驱,支持启动盘。目前这里没有遇到不稳定的情况,启动盘插在上面工作也完全正常,测速表现也没有问题。
TrueNAS 对于系统盘的要求不高,很少需要读写系统盘,而且启动后会把内容读入内存中,运行过程中断开系统盘会直接报警,而且能够把系统配置全部导出,就算系统盘坏了,新盘重装后重新导入配置也能完全恢复。不过为了减少折腾,还是稳妥一些比较好。
TrueNAS 是允许同时安装在多个介质之上的,每个介质(硬盘、U盘等)存储相同的内容,相当于 Mirror(RAID 1),只要其中一个没有坏就能正常引导。系统盘不需要太大,32G 就充足了。
我在这里使用两块小容量 SSD 互相镜像作为启动盘。
其中一块是仓库里翻出来的 256G 闪迪 X400,当年用在笔记本上的。M.2 接口 SATA 协议,用了一个佳翼的转接卡转成标准 SATA 盘。
另一块是淘宝购置的 128G 闪迪 X300s。140 块钱,企业级 MLC,SMART 信息里是零通电零读写,估计是清零盘,不过反正安全要求不高,而且有 3 年店保,问题不大。
对于数据盘,我预期是 16T~18T 的存储空间,冗余空间在硬盘总容量上占比超过 30%。
首先,所有 RAIDZ1(类似 RAID 5)的方案直接可以排除。RAIDZ1(RAID5)在大容量硬盘阵列上重建失败率是不可忽视的(参见:木头龙:你的数据有多安全?关于RAID你了解多少?),不管 8T*3 还是 6T*4,坏一块盘后重建阵列中都有不能忽略的概率再坏一块,到了这种程度的风险完全不能容忍。
一种方案是两块 16T 的 HC550 或者希捷银河,做 Mirror(类似 RAID1)。16T 企业盘目前足够便宜,所以这种方案价格较低,而且管理起来简单。不过对于大容量盘 Mirror(RAID1)的安全性,我是很不放心的,只要坏一块盘就完全无冗余了,这种情况下使用的风险完全难以接受。
另外,HC550 16T 目前贴吧里已经暴毙了几块,不知具体是什么原因,想上车的话建议还是观望一下。
第二种方案是 4 块 8T 的 HC320 组成 RAIDZ2(类似 RAID6)阵列。这个方案较稳妥,安全性也充足,而且对于 8 盘位来说,有充足的扩展余地,日后可以再添四块做 RAIDZ2 后与现有硬盘组成 Stripe(类似 RAID60)。不过这样扩容的话,必须塞满 8 盘位,而且会有 4 块冗余盘,同时每组盘中又只能坏 2 块,还是有点难受(当然马上要合并的 RAIDZ expansion 可以解决这个问题,但这玩意扩容后的空间与已用空间相关,还是不够舒服)。
犹豫再三,最后选择了七块 4T 西部数据紫盘组成 RAIDZ3 阵列(最多能坏三块),总共 3500。
相对来说,紫盘(监控盘)比企业盘的稳定性差,质保也只有三年(企业盘是五年),不过比起前面的方案成本更低,噪音也更小,另外监控盘也是基本保证是 CMR 而非 SMR 的,因为 SMR 必须特殊的监控设备才能支持。当然,最主要的目的还是占位,ZFS 最稳妥的扩展方式是将硬盘逐个换为更大容量的硬盘,全部更换后容量就扩大了。等两年之后就可以将它们逐个替换为大容量硬盘,以此给 NAS 扩容即可。
不过在买硬盘的时候出了点小意外。这几天刚好赶上西数迭代产品线,原本的 4T 紫盘是 WD40EJRX,原计划中要买的也是这块盘,但到手后发现都是 WD42EJRX。虽说 WD42EJRX 也没什么不好的,牺牲了一点速度,但噪音也有所下降,速度曲线也更平滑。不过这玩意是刚出的新品,没有经过足够的验证,不过在组 RAIDZ3 的情况下出点问题也不是很严重的事情就是了。
(PS:其他大件我一般优先京东买,但是机械硬盘不是太敢。一方面京东机械硬盘溢价很高,一方面京东机械硬盘的售后不比几家代理的店售后强,而且京东物流……套个袋子就把硬盘送来了,买过一次后就怂了。建议还是从淘宝那几家代理店买机械盘)
磁盘阵列能提供一定的冗余,但代替不了备份。
目前冷备份方案是在另一个房间中直连电脑的一个铁威马 D2-310 双盘位阵列柜,里面是两块 618 时入的西部数据 6T 紫盘(WD62EJRX)。两块硬盘内容互相镜像,不过没用 RAID1,而是靠 FreeFileSync 软件在两块盘之间同步。NAS 上的数据会同时备份到这两块盘上。
硬盘盒用的 UPS 和 NAS 的同型号,都是山特 TG-BOX 850。
冷备份也不足以保证数据安全性,因为冷备用的阵列柜和 NAS 还在同一个房子里,地震、火灾、入室盗窃等都可能导致它们同时损毁。个人想要维护异地容灾备份是比较艰难的事情,但可以依赖网盘低成本的达成。
我这里主要的数据会在 OneDrive 和 115 网盘上同时备份,不过 OneDrive 容量太小,一般的数据只能在 115 上单独存放一份。不过在前面有 NAS 的阵列、两块冷备盘、主力机的数据盘的多份存档,网盘的安全性没有那么重要。
既然是 NAS,那么就得考虑内网传输与分享。千兆内网目前来说还是稍微慢了一点,万兆成本又比较高,功耗也高,而且难以跑满。2.5G 算是一个折中的选择,而且目前主板上已经在普及 2.5G 网卡,不需要为每个用到的设备再去更新网卡了。
升级有线 2.5G 内网,在已经有板载 2.5G 网卡的情况下,需要的只是更新一下自己的交换机,那怕路由器只是千兆的,在交换机下一样能跑满 2.5G。这里因为我客厅和房间都有一些设备要跑在 2.5G 内网之中,所以这里我有两台 TP-LINK 的 2.5G 交换机。上面那个是 5 口的 SH1005,下面的是 8 口的 SH1008。
待机的时候七十多瓦,一般不会超过九十瓦,功耗也不是很离谱。