4T×2 做 RAID1,可用 4T,塞了三年照片和片子,剩 8%。涨价周期里换大盘心疼,但不换就得开始删东西——删照片这件事,比花钱难受。

于是我买了 8T×2。看起来很简单:拔一块,插一块,等它自己修好,再换另一块。

实际是两个十六小时的重建窗口,中间隔着三个差点把剩下那块也带走的瞬间。这篇按真实时间线写,包括我判断错的地方。

一、先算清:你的阵列能不能在线扩

不是所有阵列都能靠换盘长大。群晖上常见的几种:

阵列类型 换完所有盘会扩容吗 注意
Basic(单盘) 不能,单盘换盘只能同容量或更大做迁移 需借助外接盘中转
RAID1 / SHR(双盘) 能,两块都换完才生效 换第一块时无冗余
RAID5 / SHR-1(≥3 盘) 能,需替换全部盘 重建最慢,风险最高
RAID6 / SHR-2 能,需替换全部盘 有双冗余,安全性最好
JBOD 不能 单盘故障即全毁,不建议

我这台是双盘 RAID1。关键认知:换第一块的时候,阵列是降级状态,没有任何冗余。 这时如果另一块盘出事,数据直接没了——不是「可能丢一部分」,是整池没了。

所以换盘不是硬件操作,是一次有窗口期的风险操作。

顺带算一下容量:8T×2 做 RAID1,可用 8T;如果以后加第三块 8T 转 SHR-1,可用 16T。RAID1 到 RAID5 不能原地转,双盘位机型也没这个选项,想上 RAID5 得换机器。

二、换之前必须做的四件事

1. 异地备份,并且验证能恢复。

不是「备份跑过了」,是「恢复演练过」。restic 就跑 snapshots 看最新快照时间,再 restore --dry-run 确认能列出文件。只备份不验证,等于没备份。

2. 两块盘都做 SMART 长自检。

换盘前先看老盘的健康状况:如果剩下那块已经有重映射扇区,先换它、别动阵列结构。命令:

1
2
3
4
5
# 群晖 SSH 下,设备名可能是 /dev/sata1 或 /dev/sdX
smartctl -t long /dev/sata1
# 两小时后看结果
smartctl -l selftest /dev/sata1
smartctl -A /dev/sata1 | egrep 'Reallocated|Pending|Uncorrect|CRC'

3. 确认新盘是 CMR。

SMR 盘做 RAID 重建能慢到让你以为卡死了,某些情况下重建直接失败。红盘 Plus、IronWolf 是 CMR;红盘普通版和部分 Barracuda 是 SMR。买之前查官方规格页的 Recording Technology,别只看「NAS 专用」。

4. 把阵列配置截图。

存储池类型、盘位顺序、共享文件夹列表、套件清单。出问题时这几张图能救命——尤其当你需要判断「DSM 说的是不是我以为的那个池」。

三、真实时间线

我这台的实际情况,给个参照:

时间点 操作 耗时
T-3 天 异地备份完成 + 恢复演练 约 6 小时(后台跑)
T-1 天 两块老盘 SMART 长自检 各约 2 小时
T+0 关机、断电、标记盘位、拔 1 号盘 15 分钟
T+5 分 插新盘、开机、DSM 识别、点「修复」 10 分钟
T+15 分 重建开始,进度条出现 —
T+16 小时 第一块重建完成,阵列恢复健康 约 15.5 小时
T+16 小时 立刻换第二块 同上
T+32 小时 第二块完成,阵列健康 —
T+33 小时 存储池 → 最大化,扩容生效 2 分钟

重建速度的影响因素,按影响从大到小:盘转速 > 阵列类型 > 后台任务 > 限速设置。5400 转的 8T 大约 15 小时;7200 转会快一些但噪音和温度上去;RAID5 比 RAID1 慢不少,因为每写一个块都要算校验。

重建期间我做了一件事:把套件全停、索引关掉、备份任务暂停、Docker 全停。 这些都会抢 IO,让重建时间翻倍,而重建时间越长,无冗余窗口越长。

四、三个差点毁数据的瞬间

瞬间一:第二块盘是同批次买的。

两块 8T 一起下单,同批次、同产线、同固件。这在硬盘圈有个说法叫「同批次效应」——同一批盘往往在同一天坏。我第一块换完、第二块正在重建时,看到第二块(新盘)的 SMART 里已经有了 2 个 CRC 错误。

CRC 错误通常不是盘,是线或背板,但那一刻我脑子里过的是「如果这块新盘在重建中途掉线,阵列就是双盘失效」。

后来查明是 SATA 线接触不良,换线后不再增长。但那次之后我改了规则:换盘时一次只买一块,第二块等第一块重建完、观察一周再买。 慢一点,但不会让自己同时押在两块未知状态的盘上。

瞬间二:想用 USB 硬盘盒当中转。

第二块盘到货前,我想先把数据拷到一块外接盘上「双保险」。USB 硬盘盒接上后,smartctl 直接读不到 SMART(返回 Unknown USB bridge),需要加 -d sat;更麻烦的是,USB 桥接芯片的写入缓存会在断电或拔线时丢数据,而校验错误的代价在 RAID 上会被放大。

我最后放弃了这条路:外接盘可以做备份目标,但不要让它参与阵列的任何一次写入。 真要中转,用 eSATA 或者干脆再买一块盘插内部盘位。

瞬间三:以为「修复完成」就重启了。

第一块盘重建完成、DSM 显示「已修复」,我顺手重启了一次,想确认一切正常。结果开机后后台又开始跑「一致性检查」,同时第二块盘的重建任务也在排队——两个高 IO 任务叠在一起,第二块的重建时间从预估的 15 小时拖到了 22 小时。

正确的做法是:每一次重建完成后,等阵列彻底空闲(DSM 不再有任何后台任务)、确认 SMART 无新增错误,再动下一步。 修复完成不等于系统空闲,中间还有校验和索引。

五、扩容真正生效的那一步

两块都换完、阵列健康之后,容量不会自动变大。要到:

1
存储管理器 → 存储池 → 右上角「…」→ 最大化

点下去只要两分钟,但前提是文件系统支持在线扩容(Btrfs 支持,ext4 也支持)。扩完 df -h 确认一下,再检查一遍共享文件夹配额有没有被旧容量卡住。

六、黑群晖额外三层坑

如果你跑的是黑群晖,比白群晖多三件事要确认:

  1. loader 与 DSM 版本匹配。 换盘不动引导盘,但如果顺手升级了 DSM,loader 可能不认。换盘期间不要动系统版本。
  2. SN/MAC 与引导配置。 备份 grub.cfg / user_config.json,别让「引导失败」被误判成「阵列损坏」——这两件事的报错长得很像。
  3. 网卡顺序会变。 有些主板换盘后 PCIe 枚举顺序变了,IP 也跟着变,你以为 NAS 挂了,其实只是找不到它。路由器里先查一下 DHCP 列表。

七、换盘 vs 加盘 vs 换机

最后给一个决策表,这条路我算过三遍:

方案 成本(8T 涨价后) 可用容量 风险 适合谁
换盘扩容(4T×2→8T×2) 两块 8T 8T 中(两个重建窗口) 盘位已满、机器还够用
加盘(2 盘位→4 盘位机型) 新机器 + 两块盘 16T(RAID5) 低(数据可慢慢迁) 盘位是瓶颈
只加外接盘 一块盘 + 盒 +8T(无冗余) 高 冷备、不常访问的数据
什么都不做,删文件 0 不变 无 数据本来就不重要

我的结论是:盘位没满就加盘,盘位满了才换盘。 换盘是拿两个无冗余窗口换容量,加盘是拿钱换容量,后者便宜得多——尤其在硬盘同比涨 50% 的年份,机器反而成了便宜的那部分。

换完之后第一件事不是庆祝,是去把 SMART 监控配起来。硬盘不会提前打招呼,但它会留数据——下一篇写这个。

八、如果你正准备动手

把这几条抄下来贴在显示器上:

  • 备份没验证过,不许拔盘;
  • 一次只换一块,等健康了再换下一块;
  • 重建期间不重启、不升级、不装套件;
  • 新盘先做 SMART 长自检,有问题直接退;
  • 每完成一步,等系统彻底空闲再动下一步。

十六小时的重建不会因为你盯着它而变快,但一个误操作能让它变成「没有下一次」。

常见问题

双盘 RAID1 换大盘,能在线扩容吗?

能,但要两块都换完容量才增加。RAID1 换第一块时阵列降级运行,重建完成前没有冗余;第二块换完并重建后,容量才会从 4T 变成 8T。全程可以不停机,但重建窗口内不要做任何其他变更,也不要断电。

重建一块 8T 盘要多久?

5400 转的 8T 盘,群晖上跑 RAID1 重建大约 12-24 小时,具体看盘速、负载和后台任务限速设置。RAID5/6 更慢,因为要算校验。别信「几小时就好」的说法,按一天预留时间,重建期间把套件、索引、备份任务都停掉。

换盘前最重要的准备是什么?

备份,没有之一。RAID 重建期间阵列处于无冗余状态,这时候只要另一块盘出问题,数据就全没了。异地备份要在换盘之前完成并验证可恢复(restic 的话跑一次 snapshots 和 restore --dry-run)。其次是全盘 SMART 长自检、确认新盘是 CMR、把阵列配置截图存一份。

新硬盘怎么看是不是 SMR?

看型号和官方规格页的 Recording Technology 一栏。西数红盘 Plus(WD Red Plus)是 CMR,红盘普通版(WD Red)历史上混过 SMR;希捷 IronWolf 是 CMR,Barracuda 部分容量是 SMR。SMR 盘做 RAID 重建会慢到怀疑人生,某些情况甚至重建失败,NAS 主力盘不要用。

黑群晖换盘有什么额外风险?

比白群晖多三层:引导 loader 与 DSM 版本的匹配、硬盘序列号与引导盘绑定的问题、以及网卡顺序变化导致 IP 变了找不到设备。换盘前把 loader 配置和 SN/MAC 备份一份,换完先确认能正常引导再动阵列,别把「引导失败」误判成「阵列损坏」。

微信扫码关注公众号 Rhua NAS
跑不通,或者你机器上表现不一样?

每台机器的系统版本、权限、磁盘布局都不一样,文章里的命令不一定一次就对。踩坑了直接邮件问我,我看到会回。

邮件聊看全部折腾记录