DIY NAS小记 - 实验室团队版
ア熵增焓减ウ
编辑于 2024年06月17日 21:54
如何玩转nas

上个月笔者给自己实验室部署了一台NAS并实施了配套的组网,给实验室15个工位通了光缆,用于团队协同工作。一些实施细节记录于此。

1 简介

本次依旧是完全DIY,采用了大量二手硬件,当然,硬盘还是使用全新的。配置如下:

此配置和去年9月的“miniHPC存储节点”​有诸多相似之处,主要的修改有以下几点:

  1. 本次所搭建的NAS的应用场景对RDMA没有刚性需求,因此操作系统改用维护更简单的TrueNAS Scale 24.04。

  2. 改用1+1 CRPS冗余电源,一路接市电,一路接UPS。

  3. CPU+主板平台根据实际需求和当时行情做了调整。

  4. Data pool使用12块HC560 20TB,策略为单组RAID Z2,实测TrueNAS Scale 24.04下RAID Z2的随机读写性能有所提升。

  5. 作为ARC的内存增加到256GiB。

  6. 作为L2ARC的NVMe SSD使用PCIe x8 AIC形态的PBlaze5 920,容量提升到3.84TB。

  7. 取消Special VDEV和SLOG VDEV,因为本次所搭建的NAS对性能无极端需求,也不需要强制Sync写入。

我校财务政策较灵活,因此以上硬件均为自行采购并开发票报销,NAS主机部分花费~3.6万CNY,其余部分花费~6800CNY。


2 照片展示

▼ 12块WD Ultrastar DC HC560 20TB SATA HDD

  • 如今HC560的价格已在正常水平(和HC550相比),不过近期HDD市场仍然持续涨价,自购入这批HC560以来,HC560单价又涨了~100CNY。


▼ CPU、主板、DIMM三件套

  • 主板是MF51-ES3,笔者已经买过好几块,且玩了很久,个人认为此主板是个隐藏的宝贝:有3个直连CPU的PCIe x16,平台配套的CPU也是per-core性能很强的W-21xx和W-22xx系列,尤其适合DIY GPU服务器(当前用于DIY NAS服务器也不错),关键是价格便宜,日常900多元,促销活动700多元,配套的CPU中性价比最高的是W-2135(6c12t,单核4.5GHz,全核4.4GHz),如今价格已降到110元。

  • 此主板没有机箱跳线pin,有板载开关机按钮和重启按钮,实际使用时通过BMC控制更方便,这也是典型的服务器用法。

  • DIMM是4条64GB 4DRx4,这种DIMM性价比反而最高,并且C422平台本就只有4条内存通道,当前方案怎么看都是最合适的。


▼ 老朋友机箱,由深圳君名创达/零夏壹度生产 @君君机箱​

  • 靠下的CRPS模块被机箱的小突起挡住了,拔不出来,但无伤大雅。


▼ NAS内部视图

  • 此机箱官方宣传最大支持160mm长度电源,但笔者取消2.5寸硬盘支架和电源侧的进风风扇后就可以装入260mm长度的CRPS模组。BTW,电源模组所配的硅胶模组线非常软,手感极好。

  • 机箱客服称左侧网孔不是风扇位、不能安装风扇,但正常人应该一眼就能看出来这是典型的风扇安装位,实测可以安装9238风扇,笔者考虑风道后装成了出风,对HBA卡重点散热——此LSI 9300-16i HBA卡发热极大,必须主动散热。

  • 购买机箱时没有选配风扇,自行按需配了更厚的9238和12038风扇。

  • 1块致态7100 + 1块Optane P4800X组Mirror安装操作系统,进一步提升系统可用性。


▼ PCIe AIC三件套:SSD、40G/56G Eth/IB网卡、HBA卡


▼ 下层硬盘笼后侧视图

  • 新版机箱的硬盘背板增加了风扇PWM调速功能,但笔者认为还是不够灵活,因此仍然使用主板风扇接口。


  • 交换机电源的风扇非常吵,因此笔者自行购买建准磁悬浮轴承风扇替换之,由于其接口在市面上找不到,故采用了焊接方案。

  • 顺便调整了风扇方向,和交换机机身风扇的风道配套。

  • 此交换机不能像上次的白牌交换机一样随意对风扇进行调速,但改完电源的风扇后,噪音很低,实验室的伙伴们都表示可以接受。


▼ 部署完成

  • 暂时没有买机柜,不过已在旁边预留空间以安放800mm深的标准机柜。

  • 拍摄照片时NAS已经运行了3周,防尘网积灰速度肉眼可见……


3 性能测试

3.1 ZFS调优

TrueNAS Scale 24.04进一步优化了默认的ARC配置策略,不需要手动调节ARC相关的参数,但L2ARC参数仍需调节。编辑/etc/modprobe.d/zfs.conf,写入以下3行:

  • options zfs l2arc_noprefetch=0

  • options zfs l2arc_write_boost=10000000000

  • options zfs l2arc_write_max=10000000000

如此调节后,所有向HDD阵列中写入的数据都会同时写入到L2ARC,以最大化L2ARC命中率。为L2ARC配的SSD写入寿命很长,即使设置了上述的“暴力”策略,在实验室团队协作的使用场景下也可以使用很久。


3.2 本地读写性能(参数同上一期​

64GiB文件,128KiB数据块,顺序写

64GiB文件,8KiB数据块,随机读

64GiB文件,8KiB数据块,随机读写(7:3)

256GiB文件,128KiB数据块,随机读

256GiB文件,128KiB数据块,随机读写(7:3)


3.3 Windows PC SMB挂载读写性能


4 Tutorial节选(已脱敏)