用了很久 NAS 了,简单记录一下 NAS 方案演进。

初探 NAS(小而美)

  刚玩 NAS 的时候,对 NAS 的理解就是稳定 7 x 24 开机的网络存储平台。硬件方面采用 DQ77KB + i5 3570S + 蜗牛星际方案(DQ77KB + 矿渣机箱翻车记)。软件平台直接使用 Windows Server 开启 SMB,同时用 QBittorrent RSS 自动下载,配合 Jellyfin 进行刮削。

NAS机箱

  整体使用起来还是很舒服的,可以称作小而美。DQ77KB 自带 AMT(IPMI), 配置完成后可以扔在角落吃灰,也奠定了后续演进一定要有带外管理便于远程摸鱼救砖的方针。

转向服务器平台(换汤不换药)

  随着库存数据越来越多,i5 3570S 性能瓶颈逐渐出现,最主要的是编解码性能,使用 Jellyfin 观看高清视频时拖拽会卡顿。同时因为矿盘逐渐增加,盘位不够,因此换成了 R730XD 12 盘位(E5 2680v4 x 2)。

r730xd

  服务器配齐了前后 12 + 2 盘,H730 阵列卡,服务器内部看起来非常舒心。

r730xd内部

  为什么说是换汤不换药呢,是因为这个阶段软件并没有发生变化,只是单纯的将系统迁移到新平台,解决了 Jellyfin 观看视频卡顿痛点。尴尬的是后面买了 AppleTV 使用 infuse 播放直接把转码问题给消灭了。总得说最初我对 R730XD 还是很满意的。其他用户反馈的噪音大的问题,在 4~6 盘情况下,通过更换静音风扇与配合 IPMI 调速到 20%,温度和噪音都是可接受的,隔一扇门基本无感。

失败的硬阵列尝试(适合自己的才是最好的)

  就这样度过了美好的 3 年,在 R730XD 逐步加盘的过程,问题出现了,每次迁移数据比较麻烦,需要硬盘一次次的拷贝,并且需要对盘符和路径做复杂处理才能让各种软件不感知变化。我决定一次性购入 8 块 16T MG08 通过 H730 组建硬阵列,毕其功于一役。

MG08

  此时的我还是很信任企业级的方案,选择硬阵列也是考虑到硬阵列可以屏蔽底层细节,向上层 Windows 直接虚拟出硬盘,不需要操作系统和软件层面做任何改动,80T 左右的可用空间也足够我较长时间使用。而如果使用在软阵列里性能相对较好比较靠谱的 TrueNAS 方案,就需要将物理机上的 Windows 虚拟化,作为一个懒人自然不予考虑。

  理想是美好的,现实是骨感的。当插上所有硬盘,开启阵列的创建之后,痛苦开始了。由于硬阵列是基于块和条带的,因此创建阵列完毕一定需要初始化(填 0 和计算奇偶校验)。此时硬盘会持续写入,简单计算可知 16T / 200MB/s = 22 小时。由于机架服务器的设计,进风几乎都来自前置硬盘位,因此插满硬盘后,会严重影响进风。这高速写入的 22 小时,风扇需要 50%+ 才能压制住机器,即使如此硬盘也保持在了 50℃+,吸尾气的 CPU 分分钟突破 90℃,此时噪音和热量根本无法忍受!!!

  在组阵列,睡前关机,睡醒开机继续组阵列后,以及多次修改参数,尝试提升速度重新开始后,我终于崩溃了。将服务器挂到闲鱼上以 1200 的价格卖了出去(购入价 2000)。这里用我的血泪告诫大家,没有机柜和独立的设备间还是不要玩机架服务器了~当然我相信,机架服务器永远是 NAS 的最终的归宿,希望有一天能够把公司的星星海搬回家。

取其精华去其糟粕

  痛定思痛之后,明白了我的需求从来没有变过,那就是“在角落吃灰”,它在这个物理世界需要足够安静和稳定。基于这个目的,就开始了硬件平台的选择。正巧最近 EPYC 7D12 大船到岸只需要 240,32 核 64 线程(1.10GHz ~ 3.00GHz),TDP 80W 简直就是 NAS 佬的梦中情 U。ZEN2 架构性能毋庸置疑,同时功耗发热足够低,无需像使用 E5 双路时修改功耗策略。

  确定了 CPU 就要配套主板了,板 U 守恒定律名不虚传,二手的超微 H12SSL 以及华硕技嘉的主板价格都突破了 3000, 相较年初翻了一翻,说实话不是很好的选择了,因此就选择了寨板大厂华南金牌 H12D-8D,带有 BMC 模组可以满足基本的使用,同时有 3 个 8643 接口以及 4 个 SATA,满足了 16 盘的需求,不需要额外购买阵列卡。

  剩下的最重要的就是选择机箱了,在乔思伯 N5 和梵隆 12 盘位中纠结了一段时间,考虑到无论是全高还是半高的梵隆散热器都限高,暴力风扇的阴影还笼罩在心头,因此还是选择了可以安装 12cm/14cm 风扇的乔思伯。需要注意的是两点,一是乔思伯的背板是 SATA 的,需要购买 8643 转 SATA。二是乔思伯自带的三把风扇是 3Pin 非 PWM 调速,因此噪音会比较大,建议换 PWM 调速风扇。

  购买/装机清单如下:

  • CPU:EPYC 7D12 ¥258.00
  • 主板:华南金牌 H12D-8D BMC ¥2307.99
  • 内存:三星 DDR4 64Gx4 ¥1467.15
  • 散热器:利民 TA120EX TR4 SP3 ¥208.57
  • 机箱风扇:利民 TL-G12Bx3 ¥68.36
  • 电源:长城 N8 850W 金牌 ¥565.03
  • 机箱:乔思伯 N5 ¥1140.40
  • 固态 1(SLOG):Intel 傲腾 900P 280G ¥534.00
  • 固态 2(PVE):Samsung PM981a 512GB ¥0.00 (存货)
  • 固态 3 (缓存):Intel S3520 800GB ¥0.00 (存货)
  • 总计:¥6549.50

  安装过程是枯燥的,也没有太多值得说到的,箱子做工对于这个价位中规中矩,建议从下往上安装,把硬盘背板先装好,我的这个长城 N8 电源的 SATA 供电在接完背板之后就无法送到上层安装 2.5 寸 SSD 了,因此 S3520 扔在了下层。同时由于 7D12 内存缺通道(4 通道)所以需要多尝试尝试,最终我的这块 U 需要将内存安装在最外侧的插槽才能识别全部 256GB 内存。

board

  这里可以发现,由于 CPU 的朝向,CPU 风扇(侧吹)和机箱风扇(后吹)风向不是一致的,但是因为比较懒,不愿意再将机箱风扇调整安装到右侧了。同时需要提醒的是华南 H12D 的主板风扇只有两个风扇接口支持温控调速(我图上 CPU 和上层风扇所接的右上角接口)。用起来会发觉风扇很吵,调了很久主板 PWM 调速不见效果,仔细研究后才发现下层的风扇接的主板接口是 ipmi 手动调速的,并不支持温控(服务器好的不学,净学些坏的)。不过手动调整转速到 1000 RPM后,即使机箱放在床边也几乎无感了。

1
2
# 调速到 66%(0x42%),利民风扇全速 1500RPM
ipmitool -I lanplus -H 172.17.0.199 -U admin -P admin raw 0x0e 0x65 0 0x42

  这是安装完成的效果,机箱很大可能图片上看不出来,橡胶把手凑合能用,真想拔出硬盘的时候会很担心拔断,比硬盘托架肯定差远了,不过确实是 12 盘位里比较好看的了:

n5-case1

n5-case2

  忙完了硬件就是忙软件层面了,因为放弃了硬阵列所以,这一代软件方案底层采用 PVE 虚拟化平台, 将之前物理硬盘安装的 Windows Server 进行虚拟化,同时运行 TrueNAS。并将全部 SATA 控制器以及 PCIE 的傲腾 900P 直通给 TrueNAS。

pve

  然后就是繁琐的软阵列创建,和数据迁移工作,这里也需要注意 TrueNAS 在 Scale 版本移除了 WEB 界面的数据导入以及内核里的 NTFS 支持,因此我是在 Core 版本完成迁移后再升级到 Scale 的。

  当前存储方案是,8 块 MG08 组成 RADIZ2,傲腾 900P 分出 32GB 分区作为阵列的 SLOG。RAIDZ2 使用 SMB 共享给 Window Server,实测 Jellyfin(不能运行在服务模式)和 QBittorrent 等软件都能正常运行。同时 S3520 创建 ZVOL 分区 iSCSI 挂载给 Windows Server 做下载缓存盘,减少阵列读写(持续咯哒咯哒还是有点小烦)。

truenas

windows

  至此我的第三代 NAS 也完成了软硬件升级(PS:买的 Mellanox CX4 25Gbps 网卡还在路上,不过应该对 NAS 整体架构没有太大影响)~