群晖换盘实录:4T×2 换 8T×2,十六小时重建和三个差点毁数据的瞬间
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 | # 群晖 SSH 下,设备名可能是 /dev/sata1 或 /dev/sdX |
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 确认一下,再检查一遍共享文件夹配额有没有被旧容量卡住。
六、黑群晖额外三层坑
如果你跑的是黑群晖,比白群晖多三件事要确认:
- loader 与 DSM 版本匹配。 换盘不动引导盘,但如果顺手升级了 DSM,loader 可能不认。换盘期间不要动系统版本。
- SN/MAC 与引导配置。 备份
grub.cfg/user_config.json,别让「引导失败」被误判成「阵列损坏」——这两件事的报错长得很像。 - 网卡顺序会变。 有些主板换盘后 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 备份一份,换完先确认能正常引导再动阵列,别把「引导失败」误判成「阵列损坏」。









