Gen10 NAS 搭建记录 —— 硬件篇 & 系统篇

前些日子组装了自己的第一台 NAS,综合各方面考虑选择 Gen10 作为服务器,FreeNAS 作为系统。 本文旨在记录搭建过程的思考和坑点,围绕 NAS 硬件选择与组装、Gen10 上安装 FreeNAS 两点展开。

硬件

考虑硬件时最重要的是明确自身需求,对目标机器的各项指标有个大致预期,剩下的便是世界加钱可及。

我的 NAS 需要 7*24 提供以下服务(括号内标注服务带来的硬件需求):

  • 运行在[群晖|FreenNAS]上,在 FreenNAS 上的话,文件系统为 ZFS(实装内存 8G 起步)
  • 4 盘位,短期计划 2 * 4T 组 Raid 1,剩下 2 个位置挂单盘。长期可能维持不变或者 4 盘组 Raid 10(服务器:4 盘位;因为 ZFS 1TB Disk -> 1GB Mem 的表现较佳的说法,需要最大支持内存 32GB)
  • 仅我个人使用
  • 跑 Docker, Huginn, Calibre Server, Plex(不硬解), Subsonic, Aria2, Transmission 等应用(CPU 需求一般)
  • 暂无其他扩展需求

服务器

作为有技术知识的普通用户,服务器就在 Synology 和 Micro Server 中考虑。 就硬件来说群晖性价比太低,目测是 Micro Server 的 \(\frac{2}{3}\) 。而且虽说群晖有 Docker 支持,但是和 FreeNAS 的 Jail 相比性能估计要差一些,服务多起来怕机器性能不足。 正好 Gen10 前段时间出了,毁誉参半但还算是值得买,于是决定就是它了。

总的来说,Gen10 用了一个月还是挺满意的,配置够用,风扇噪音不大,自带 1TB 硬盘买回来就能启动。

下面概括 Gen 10(最低配)的情况:

  1. 价格

  2. 部分配置

    • CPU: AMD X3216, 2 x86 cores, with AMD GPU(Not replacable)
    • Disk Slots: 4 + 1(Floppy slot, connected to 5th SATA port)
    • RAM: 8GB ECC DDR4 2400(2 slots, max 32GB)
  3. 相对 Gen8 优点

    • Gen 8 断货,起码美帝买不到
    • 没了 iLO 启动速度快了不少
    • 风扇噪音小不少,只是风扇噪音配 5400 RPM 硬盘的话放室内不太影响睡眠
    • 不用加钱换 CPU,一步到位
    • 支持 DDR4,最大内存和自带内存都高于 Gen 8
  4. 相对 Gen8 缺点

    • 没 iLO,配置不当的话,人在外面遇到机器关机的情况比较尴尬
    • CPU 不能换,而且是 AMD 的,在 FreeBSD 下有坑(系统篇再讲)
    • 根据其他开箱报告,做工差了不少。不过没有对比我是不清楚

UPS

NAS 最怕断电伤硬盘,少不了一个 UPS 保驾护航。装上 UPS 没几天,家里就因为刮大风出现了断电数秒的情况。个人观点:UPS 有条件还是要买。

我买的是 APC 的这款: APC Back-UPS 600VA,配合 FreeNAS 的 UPS 服务,可以设置切换到电池或者电量低时自动让 NAS 关机。

硬盘

由于文件系统用 ZFS,阵列要组的话都是软 Raid。 硬盘选的 HGST DeskStar NAS 4TB,暂时单盘跑着,等合适的时候配上西数 Golden 组 Raid。说真的有点吵,逼我把 NAS 丢客厅了,不然半夜硬盘读写能吓醒。

内存

ZFS 近乎要求式地建议用 ECC 内存,我又买了条 HP 同型号 8GB ECC 内存 插上。

其他

组装过程中最烦心的是少配件,尽管事先把网上 Gen10 相关的资料都看了一遍,实际操作时还是少这少那的,耽搁了好几天买零散配件:

  1. T15 螺丝刀

    US 版的 Gen10,硬盘滑槽和机箱两侧面板都是用 T15 螺丝固定的

  2. SSD

    Gen10 的光驱位能装一个 SSD,可以选择按照官方 Document 指示买个硬盘托固定,不过很难找到吻合的。实际点的方法是直接用透明胶把 SSD 粘在机箱内部。 起初贪便宜买了个 Silicon Power 的 SSD,结果安装 Freen NAS 系统时折腾了一天没弄好,怀疑是 AHCI 支持有问题。 最后退货重新买了个 Sandisk 的就好了,买东西还是要看品牌。

  3. 线材

    如果要在光驱位装 SSD,需要自备一条 SATA 数据线连主板的 SATA 口,以及一条 Floppy 4pin(公)转 SATA(母)的电源线。 由于 Gen 10 没有 iLO,装系统还需要准备一台显示器和一条[VGA|DP] 的线。我手头有 miniDP 转 DP 的线,就直接反过来 DP 转 miniDP 用了。

系统

NAS 稳定性最重要,选了 Gen10 就不考虑黑裙晖了,担心更新出问题以及故障无客服支援。 选 Linux 从头弄起的话配置分散不好备份,维护和迁移成本有点高,把 NAS 变成折腾自己的工具不值得。 思前想后索性直接上开源的系统,在 Debian based 的 OMV 和 FreeBSD based 的 FreeBSD 中选择了后者,主要原因是后者原生支持 ZFS,而且感觉社区活跃度挺高,有问题时找到解决方案的可能性高些。

令人难受的是,由于 FreeBSD 关于 AMD CPU 的某个 bug,Gen10 上直接装 FreeNAS 会在某一步卡住。 有人在 FreeBSD Bugzilla 提供了个 patch,不过尚未被采纳。但是参照这个 patch 的思路,只要改 Grub Config 中的一项就行。 这篇文章提供了绕过 bug 的几种方法: Fix for FreeNAS on HPE MicroServer Gen10 X3216 Stuck Console Issue 我觉得里面进[安装界面|系统]前改 Grub Config 的方法比较好,因为就算把系统镜像中的那项改了,启动系统时还是要改一下。只有进了 Web 界面改的选项才能永久生效。

结束前

本文是 NAS 搭建记录的上半部分,下半部份 —— 软件篇,将会介绍我在 NAS 上搭的所有服务,以及服务选择和配置中的一些考虑。 接下来几个月比较忙,不出意外软件篇最早也要下半年才会写。如果读了此文,有 FreenNAS 相关的简单问题,可以在下面评论或者推上找我交流。