Unraid 还是 TrueNAS?先看手里的硬盘怎么凑

自建 NAS 的人几乎都会撞上同一道题:Unraid 和 TrueNAS 到底选哪个。论坛上的争论往往一边倒地喊「ZFS 最稳」,可 How-To Geek 撰稿人分享的判断是,这两套系统压根不在解决同一个问题——一个追求极致冗余,一个追求硬盘容量自由,先看清手里那堆硬盘的规格,答案自然出来。

TrueNAS 的底子是 ZFS。它 2005 年起源于一位名叫 Olivier 的开发者想把旧家用电脑改成 NAS,做出了 FreeNAS;2009 年 iXsystems 接手,以 TrueNAS 的名义推出企业级产品,FreeNAS 则作为社区版继续开放;2019 年两者被统一为 TrueNAS Community Edition 与 TrueNAS Enterprise。

一、先清点硬盘:数量、容量、能接受几盘故障

  1. 数盘位:TrueNAS 理论上能管数百块任意容量的硬盘,只要主机插得下;Unraid 单个阵列最多 30 块盘,且每台服务器只允许一个阵列。
  2. 列容量:把每块盘的容量抄下来,尤其注意杂牌旧盘——容量越杂,两套系统的可用空间差距越大。
  3. 定冗余底线:Unraid 最多提供两盘冗余;TrueNAS 可以按 vdev(ZFS 里由若干硬盘组成的冗余单元)分组,各组冗余等级不同却汇入同一个存储池。

二、要稳:TrueNAS 按 vdev 规划

  1. 选冗余级别:RAIDZ1 容许一块盘故障,相当于 RAID 5;RAIDZ2 容许两块,相当于 RAID 6;RAIDZ3 能同时扛住三块盘故障。
  2. 按容量分组建 vdev:假设有 6 块盘,其中 3 块 4TB、3 块 8TB。普通 RAID 会把它们统一按 4TB 计算;ZFS 则可以把 3 块 4TB 组成一个 RAIDZ1 vdev、3 块 8TB 组成另一个,再合并成一个 24TB 的存储池。
  3. 注意 RAIDZ1 至少需要 3 块盘才能成组,凑不满的零散盘只能单独使用。

三、要容量自由:Unraid 按阵列加校验盘

  1. 阵列里可以混插任意容量的硬盘,容量直接相加,只把最大的一到两块留作校验盘(parity,专门存放校验数据、用于重建故障盘)。
  2. 扩容不用重组:拔掉一块 2TB 换上 12TB,直接多出 10TB 可用空间。
  3. 阵列之外还能另建多个存储池,用 ZFS、Btrfs 或 XFS 组建都行,但这些池不享受阵列的校验保护。

四、同一批杂盘的两种算法

  1. 一批盘为 1 块 12TB、3 块 8TB、2 块 6TB、4 块 4TB 再加 2 块 2TB。按 TrueNAS 的 RAIDZ1 分组,12TB 与 3 块 8TB 一组、2 块 6TB 与 4 块 4TB 一组,6TB 会被按 4TB 计算,2 块 2TB 基本用不上,最终大约 44TB。
  2. 同样这批盘交给 Unraid,可得 56TB,其中 12TB 那块充当校验盘。差距就是这么来的。

注意事项

  1. Unraid 的校验机制与 RAID 相似但不相同:各盘彼此独立,校验盘只保存计算出的校验块。撰稿人自己那台 12 盘、单校验盘的服务器可扛一块盘故障,但若在重建期间第二块盘也倒下,只有这两块盘上的数据丢失,其余硬盘依然可读。
  2. TrueNAS 已支持 Docker,近几年现代化程度提升明显,不必再把它当成只会存文件的老古董。
  3. 结论很直接:需要极致冗余和可靠性就上 TrueNAS;喜欢折腾、盘型杂、能接受一到两盘冗余就选 Unraid。别被网上的口水战带走,花几分钟盘清自己的需求更实在。

来源:How-To Geek