unRAID 与单盘容错:灵活的折中

TrueNAS 像保险箱,unRAID 像活页夹。前者的哲学是「一体化阵列,整组同生共死」,后者的哲学是「每块盘独立存在,校验盘负责记账」。在家庭场景里,后者往往更贴合现实:预算是分批花的,硬盘是分块买的,需求是一点点长出来的。这不是妥协,而是对家庭 IT 现状的尊重。这一章拆解 unRAID 的设计逻辑、7.0 版本的重大变化,以及它适不适合你。

unRAID 的核心思想

传统 RAID(无论软硬)把一组盘绑成一个逻辑盘,数据条带化分布。加盘要整组重建,混用不同容量则全部按最小的盘算。

unRAID 不一样。它的阵列里每块盘都是独立的文件系统(默认 XFS,可选 ZFS),数据整块整块地存在某一块盘上。另有一块校验盘(Parity)记录所有数据盘的异或结果。任何一块数据盘坏了,校验盘配合其他存活盘能把数据算回来;校验盘本身坏了,数据一块不丢(只是失去容错)。要加容量?直接往阵列里加一块更大的盘,容量立刻增加,数据不用迁移。家里三块 4T 起步的人,两年后往往变成三块 4T 加两块 12T,容量爬升的路径在 unRAID 上是平滑的直线,在传统 RAID 上是断崖式的重建工程。

还有一个常被忽略的好处:因为每块盘是独立文件系统,即使阵列彻底损坏(比如校验机制失效、系统损坏),把任何一块数据盘插到别的 Linux 机器上,数据都能直接读出来。传统 RAID 阵列脱离原系统基本不可读,这在「某天要抢救数据」的场景里是天壤之别。

代价是速度:数据不条带,写入速度约等于单盘速度(可以多读)。解决办法是缓存池(Cache Pool):日常写入先落在 SSD 组成的缓存上,空闲时由 mover 自动搬到机械盘阵列上。对家庭场景来说这个设计非常贴切:白天的备份、晚上的下载都先走 SSD,夜深人静时 mover 慢慢搬到机械阵列,既不耽误速度,也不让硬盘整晚狂转。7.0 之后 mover 也支持阵列盘之间的互相搬运,清空某块盘变得很容易。

要注意缓存池不是备份:数据在缓存里还没进阵列之前,缓存池坏了这部分数据就没了。重要写入要么用双盘缓存池做镜像,要么设置共享目录不经过缓存直写阵列。

单盘容错意味着什么

单盘容错的字面意思是:能承受任意一块盘损坏(含校验盘)。换块盘插进去,系统会自动利用校验信息把那块盘的内容重建出来,期间阵列正常服务,只是速度慢一些。重建一块大容量机械盘可能需要一整天,这期间尽量不要往阵列写入大量数据。要注意「任意一块」不是「任意两块」——同时坏两块数据盘,还没建第二校验盘的话,那两块盘上的数据就没了。

家用场景下单盘容错通常够用,因为硬盘损坏不是同时发生的独立事件,而是先后发生的关联事件——同批次同型号的盘往往先后故障,重建期间其余盘压力骤增,这是容错体系最脆弱的时刻。所以 unRAID 玩家的标准动作是:开启重建通知、硬盘健康报警,换盘动作要快。市面上也有双校验盘配置,代价是多占一块盘的容量。

传统RAID与unRAID

unRAID 7.0 带来了什么

2025 年 1 月发布的 7.0 是近几年最大的一次升级,几个关键变化值得记住。

原生 ZFS:7.0 把 ZFS 做成了正式支持的文件系统。你可以建纯 ZFS 池,完全不用传统阵列(官方称为 Array-Free 模式),也可以 ZFS 混合池(sub-pool)搭配传统阵列使用。注意从 6.12 的第三方 ZFS 插件升级到 7.0 之前,务必看一遍官方迁移文档,Docker 根目录在 ZFS 上时要改用 overlay2 存储驱动,否则可能不稳定。社区模板和插件也同样在向新版本适配,升级前先在论坛看看同型号用户的反馈。

应用与远程访问:Docker 管理增强,集成了 Tailscale——容器可以直接加入自己的 tailnet,远程访问不再是「自己搭穿透」这一条路。虚拟机管理器支持快照、克隆。文件管理器(Dynamix File Manager)内置进 Web 界面,终于不用 SSH 或者第三方插件管理文件了。

还有一个变化和钱包有关:新用户只能订阅制购买(旧用户保留买断),入门档覆盖六盘以下,旗舰档无盘位限制。它提供 30 天试用,先体验再决定不亏。订阅制在圈子里有过争议,但换个角度想:一个持续更新二十年的系统,本身就是不便宜但也值的东西。真正要在意的是盘位限制——入门档对大多数家庭完全够用,想一步到位上多盘位的,提前算好升级许可证的差价。

unRAID近年版本脉络

装一遍 unRAID 是什么体验

unRAID 的安装可能是所有 NAS 系统里最「反直觉」也最简单的:它从 U 盘启动。系统本体只有几百 M,装在一个 U 盘上,机器的硬盘全部留给数据。插 U 盘、开机、浏览器打开服务器地址,就进了 Web 界面。许可证和 U 盘绑定,换 U 盘要迁移授权。所以这个启动 U 盘别买最次的:它要 24 小时插着供电,挂了系统就起不来。买个靠谱牌子的 U 盘,进系统之后顺手打开「U 盘只读挂载」之类的保护选项,能延长它的寿命。

进界面后的配置顺序:分配阵列盘位(数据盘、校验盘)、建缓存池、格式化、开 Docker 和虚拟机功能。整个过程没有分区表、没有挂载点,全是下拉框和勾选框,这是它工程上最讨喜的一点。应用安装走 Community Applications 插件市场,Jellyfin、Immich、*arr 全家桶一键安装,模板里配好路径和端口,比手写 Compose 快得多。这也带来一个劝退点:模板用熟了之后,你会发现自己对底层的 Docker 运行原理并不清楚。哪天换到别的系统,这部分知识迁移成本不低。用方便换便利,这笔账每个玩家算自己的。

配置项 建议做法 说明
校验盘 至少一块,重要数据两块 双校验容双错
缓存池 一块 NVMe 起步 两块可组 RAID1 更稳
Docker 目录 放缓存池 应用启动快、迁移方便
共享存储层 缓存为主、阵列为次 由 mover 定时搬运
访问方式 Web 界面加 SSH SSH 记得配密钥

它适合什么样的你

unRAID 最匹配的画像是「需求会变、盘会一块一块加」的家庭。今天两块 8T 起步,明年加一块 12T,后年换校验盘升容量——传统 RAID 做不到的事它随手就办。再加上 Docker 和虚拟机一等一的图形化管理,它实际上是一个「NAS 界的家用 Hypervisor」。很多人入坑 unRAID 是从影音开始的,留下来却是因为虚拟机:软路由、Home Assistant、Windows 虚拟桌面,全在一台机器上跑,共用一套存储和备份。

反过来,它不适合两类人。一类是追求极限吞吐的:没有条带化意味着大文件写入慢于 RAID0/RAID10 或者 RAIDZ,靠缓存池弥补但缓存不是无限的。另一类是完全不想付费的:订阅制的许可证虽然入门档不贵,但相比免费的 OMV 和 TrueNAS 总是成本。

容错能力对比

选系统这件事,到最后选的都是「你愿意为什么样的体验付费」。免费的 OMV 和 TrueNAS 免的是金钱,要的是你的时间和学习能力;unRAID 反过来,用它省下来的折腾时间,折算下来未必比订阅费便宜,但确实让很多人留在了这个圈子里。

还有一句话送给「什么都想要」的人:自建的好处就是系统可以换。先用 unRAID 起步,觉得数据保护想加强,可以某天迁到 TrueNAS;反过来也成立。数据在自己手里,怎么搬都是自己说了算。这份自由,才是自建相对成品 NAS 最本质的区别。所以别把选系统当成一次性决定,它只是你数据主权的开始。下一篇我们看最轻的玩法,给追求简单、只想快点把服务用起来的同学,它可能是所有方案里最快上手的一条路:装好系统,点两下,服务就跑起来了——这听上去不像自建圈的风格,但它确实是。

我的看法

在所有系统里,unRAID 是「起点最低、天花板也够高」的一个:新手当 NAS 用,老手当家庭云平台用。单盘容错这个词听起来朴素,但它背后的设计恰好尊重了家庭数据的真实增长方式。如果你在 OMV、TrueNAS、unRAID 三者之间犹豫,可以这样判断:数据价值最高选 TrueNAS,最想通用省心选 OMV,需求和预算都会变选 unRAID。三个系统都能把数据存好,区别只在于你和数据的关系是保险箱、活页夹还是白纸。

装好之后第一件事还是配好 SSH 密钥和访问策略,见 ssh;如果你想给 unRAID 之外的 Linux 机器装个图形化面板省点事,bt2017 提供了另一种思路。

延伸阅读

  • 下一章《CasaOS 与轻量方案:简单的家用服务器》:再轻一档的选择
  • ssh:所有系统的远程管理都从安全的 SSH 配置开始
  • bt2017:给 Linux 服务器加图形化管理面板的备选方案