在最新的 TrueNAS SCALE 24.10 - Electric Eel 版本中,有两大令人瞩目的更新。
其一是彻底抛弃了原本的 k3s,转而全面拥抱 docker;其二则是引入了备受期待的 ZFS 单盘扩容特性。

在过去,若要对存储进行扩容,只能通过添加新的raid-z组来实现。这意味着,每次扩容都需要一次性添加与原raid-z组相同数量的磁盘。如此一来,初始配置就必须进行严格规划,后期几乎无法灵活调整。这种方式对于家用场景而言极为不利,毕竟这需要大量的一次性投入,无论是在成本还是磁盘资源储备方面,都给用户带来了不小的压力。
而此次更新,让单盘扩容成为了可能,不过在操作过程中仍有一些注意事项。新硬盘的容量必须大于或等于原raid单盘,而且重建过程存在失败的风险,因此务必要确保系统处于稳定运行状态,在操作之前,重要数据的备份工作必不可少。

扩容操作步骤

从 truenas 主页左边栏点击 “存储”,进入存储仪表板。接着找到要扩容的池,点击 “管理设备”,再选择 “数据 vdev”,随后点击 “扩展”,在弹出的选项中选择可用的新增硬盘,最后点击 “扩展” 即可完成操作。

进度查询

当开始扩容任务时,主页右上角的 “running jobs” 会显示扩展进度,但会出现进度长时间保持在 25% 不变的情况,这属于正常现象。我们可以通过在 “系统 - 命令行” 中输入 “zpool status ” 来查询池状态,这里会告知真正的进度和预计完成时间。只有当进度真正超过 25% 时,“running jobs” 才会显示当前的实际进度。需要注意的是,扩容速度被固定为 30M/S,对于大容量池来说,这无疑是对时间的巨大考验。以我使用 6 盘 16T 组成的 raid - z(实际容量 72T)为例,整个扩容过程大约需要 27 天。

任务意外中断问题

当在扩展池的过程中同时运行了 scrub 定时任务时,若系统发现池内发生校验错误,扩容任务便会停止。这一情况曾导致我原本就漫长的任务在我不知情的情况下停滞了数天。此时,可以在命令行输入 “zpool scrub ”,再输入 “zpool - s scrub ” 停止任务后,扩容任务会继续进行。不过,从数据安全和稳定性的角度考虑,建议还是完整运行 scrub 任务进行修复更为稳妥。

存储池被降级(degraded)问题

当存储池由于发生读写和校验错误需要进行修复时,需要完整运行 scrub 任务。完成修复后,需要在命令行输入 “zpool clear ”,这样就能够将池恢复成健康状态。

关于扩容的补充说明

需要注意的是,扩容并非完全自动的。即使为存储池添加了新的 raid 硬盘,可用空间也不会自动增长。还需要在存储仪表板中,找到对应池标签的右侧 “导出 / 断开连接 | 扩展” 选项,点击 “扩展” 并确认。经过短暂等待后,池空间才会得到真正的扩展。
幸运的是,在这段长时间的扩容过程中,家里没有停电,也没有发生其他意外情况,使得整个过程虽有波折但还算顺利。

标签: none

评论已关闭