拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

群晖 DSM 7.0 保留数据换大硬盘:RAID/SHR 扩容避坑指南

群晖 DSM 7.0 保留数据换大硬盘:RAID/SHR 扩容避坑指南

换硬盘这件事,说大不大,说小也真不小。我自己的群晖从 4TB 时代一路走到 20TB 时代,中间替别人换过不下二十台,最早那台踩过的坑至今还记得——当时手快,直接拔了一块盘换上新的,结果存储池降级状态下又碰上一次意外断电,两个月的家庭照片差点没救回来。所以这篇内容我想讲清楚一件事:在 DSM 7.0 下把硬盘换成更大容量,同时把原有数据一寸不少地保住,到底该怎么走。核心关键词就三个,群晖、DSM7.0、保留数据换大硬盘,适合手里有一台跑着 DSM 7.0 的群晖、存储池快满了、买好新盘但不敢动手的人看,也适合刚入门 NAS、想搞明白 RAID 和存储池到底是什么关系的朋友。下面不讲虚的,全是能照着做的流程、能算出来的时间账,还有那些官方文档里不会写的注意事项。

1. 动手之前先搞清楚你的存储池是什么模式

这一步看着像废话,实际上决定了你后面所有操作能不能走通。DSM 7.0 里的存储结构分两层:存储池(Storage Pool)负责把多块物理硬盘组成一个 RAID 阵列,存储空间(Volume)建在存储池之上,负责文件系统,通常是 Btrfs 或 ext4。换盘扩容的本质是"把阵列里的旧盘一块块换成更大的盘,再让阵列吃下新增容量",能不能吃、吃多少,全看存储池的类型。

1.1 Basic、JBOD、RAID1、SHR、RAID5/6 六种情形的换盘差异

先别急着拆机,打开存储管理器看一眼自己的存储池类型。我第一次帮朋友换盘的时候,他信誓旦旦说是"做的 RAID",结果点开一看是 Basic,两块盘各自独立,这种情形和 RAID 完全是两条路。

  • Basic(单盘基础):一块盘一个存储池。没有任何冗余,所以没有"换一块修一块"的操作空间。想扩容只能走"外部备份—重建—回拷"这条路。
  • JBOD(线性拼接):多块盘首尾相接,容量相加,同样没有冗余。它的换盘方式和 Basic 类似,而且更麻烦,因为逻辑卷横跨多块盘,单独抽掉一块整个存储池就废了。
  • RAID 1(镜像):两块盘互为镜像,可用容量等于最小那块盘的容量。支持热插拔替换,是最容易操作的场景。
  • SHR / SHR-1(群晖混合 RAID):这是群晖自家的方案,本质是分层 RAID,允许你混插不同容量的硬盘,并且尽量榨出每块盘的容量。双盘 SHR-1 的底层行为非常接近 RAID 1,多盘 SHR-1 则接近 RAID 5。
  • SHR-2 / RAID 6:允许同时坏两块盘,需要至少四块盘。安全性最好,但换来的是容量利用率低、重建时间长。
  • RAID 5:至少三块盘,容量利用率 n-1,允许坏一块。重建期间性能下降明显。

判断方法很简单:存储管理器 → 存储池 → 看"RAID 类型"这一列。如果你是 SHR,它还会额外标注"SHR-1"或"SHR-2"。

1.2 为什么"能不能直接扩容"取决于存储池类型

这个逻辑其实很好理解。RAID 阵列的容量规则是绑定在最小盘容量上的,冗余信息也是按这个规则算出来的。你换进去一块大盘,阵列不会自动解锁多出来的空间,因为它还需要其他盘也跟上,才能重新计算布局。

举个最常见的例子:两块 4TB 做 SHR-1,可用 4TB。你买了一块 8TB,只换掉其中一块。这时候存储池会按照"最小盘 4TB"来计算,可用容量依然是 4TB,多出来的 4TB 处于"未使用"状态。只有当你把第二块也换成 8TB,两次修复都完成,点下"扩充",才会变成 8TB 可用。

反过来说,Basic 和 JBOD 连 RAID 层都没有,压根不存在"阵列重新计算布局"这种机制,所以只能重建。我见过有人想给 Basic 存储池换盘,直接关机拔盘插新盘,开机后系统提示"存储池已损毁"——这不是 BUG,这是必然结果。

提示:如果你现在就是 Basic,也别急着骂自己当初选错。Basic 的好处是单盘损坏不影响其他盘,恢复时不需要重建整个阵列。只是换大容量时,流程会多一步。

1.3 换盘前必做的一次全身体检

这一步我强烈建议做,哪怕你觉得自己的盘才用了半年。把下面几件事在换盘前一天就做完,别等到盘都拔了才发现问题。

  1. 看 SMART 全项:存储管理器 → HDD/SSD → 选中每块盘 → 健康信息 → 详细信息。重点关注 05(重定位扇区数)、C5(待映射扇区数)、C6(无法校正扇区数)、187(报告的不可修正错误)。这几项只要有非零值,就别拿这块盘当"即将扩大的阵列"里的成员,先把它换掉。
  2. 看剩余空间:如果存储空间已经用到 90% 以上,重建过程中的临时文件、快照、套件数据库都有可能导致写满,进而让修复失败。建议提前清到 85% 以下。
  3. 看硬盘型号是不是 SMR:这是个大坑,后面单独讲。
  4. 看电源和散热:新盘如果是 7200 转的大容量盘,启动电流会高一些。四盘位以上的机器,电源适配器标称功率要留出余量。我见过一台四盘位塞满 16TB 企业盘,开机瞬间电源扛不住,硬盘反复重启,SMART 直接报错。
  5. 看备份是否可用:备份设备能不能正常读出来,比备份本身还重要。请务必实际打开看一眼文件,而不是只看备份任务显示"成功"。

注意:体检没做完就开始换盘,等于闭着眼过马路。RAID 只是让你少停机,不是让你不做备份。

2. Basic 和 JBOD 用户的唯一可行路线

这两类存储池的用户占了我接触过的群晖用户里差不多三分之一,很多是早期只装了一块盘、后来慢慢加盘的。他们的换盘路线只有一条:先把数据挪出去,再重建,最后挪回来。没有任何捷径,也不存在"插上就扩容"的可能。

2.1 为什么单盘不能靠插新盘来实现扩容

有人会问:群晖不是有"更换硬盘"向导吗?对的,但那个向导是针对 RAID 阵列的,它做的事情是"把某块盘标记为缺失,让阵列降级,然后引导你插新盘做修复"。Basic 存储池没有冗余,一旦标记缺失,整个存储池就直接不可用了,向导也不会给你这个机会。

那能不能把新盘插上去,用别的工具直接把数据拷过去?可以,但那本质上就是"复制",不是"扩容"。而且群晖的系统分区在每个存储池的第一块盘上都有分布,Basic 换盘之后,系统分区的位置、套件的安装路径、共享文件夹的权限映射都需要重新建立,这也是为什么重建比复制更省心。

2.2 用外接硬盘盒做中转的完整操作流程

我自己用的是 USB 3.0 硬盘盒 + 一块跟数据量匹配的空盘,这样不占机器盘位,速度也够。具体步骤如下:

  1. 接入外接盘,在控制面板 → 外接设备里确认识别正常。
  2. 用 Hyper Backup 做一次完整备份,目标选外接盘,勾选"启用客户端加密"可选,勾上"备份完成后验证"更稳。
  3. 检查备份完整性:在 Hyper Backup 里点"备份资源管理器",随机打开几个大文件和目录结构,确认能读。这一步至少花 10 分钟,但能救命。
  4. 关机,控制面板 → 终端机和 SNMP 可以先不管,直接主菜单 → 关机。等指示灯全灭,拔掉电源线,等 30 秒。
  5. 拔出旧盘,装上新盘。注意托架的固定螺丝一定要上全,2.5 寸盘用底部四颗,3.5 寸用侧面四颗。我见过有人只拧两颗,搬运时机箱一晃,硬盘接口松动,开机检测不到。
  6. 开机,进入存储管理器,旧存储池会显示"已损毁"或"未初始化",这是正常的,直接删除旧存储池和存储空间。
  7. 新建存储池和存储空间,文件系统建议选 Btrfs(支持快照和数据校验)。
  8. 装回 Hyper Backup,从外接盘恢复。恢复时可以只恢复共享文件夹,套件配置单独恢复,这样更快。
  9. 核对数据:恢复完成后,对比文件数量和总容量,再看看几个关键目录的修改时间对不对。

2.3 中转时间与硬盘选型的实际账

时间账得算清楚,不然容易在半夜慌乱。以常见的机械盘为例:

数据量USB 3.0 外接盘读写(约 120MB/s)千兆局域网传输(约 110MB/s)
1TB约 2.5 小时约 2.7 小时
4TB约 10 小时约 11 小时
8TB约 20 小时约 22 小时
16TB约 40 小时约 45 小时

小文件多的话,实际时间会翻倍甚至更多。我有一台存了 200 多万张缩略图的机器,8TB 数据跑了将近 60 小时,主要卡在小文件随机读写上。

选外接盘的时候,有个经验:别拿二手盘或者来路不明的盘当中转盘。中转盘的可靠性直接决定你的数据在"无保护"这段时间里的安全。如果数据量在 4TB 以内,用一块全新 CMR 机械盘就够;如果超过 10TB,我一般建议直接买两块,一块做中转,另一块留着当冷备份。

3. 双盘 SHR-1 与 RAID1 的四步换盘法

这是最典型的场景,也是操作体验最舒服的一类。整个流程可以概括成:换第一块 → 修复 → 换第二块 → 修复 → 扩充。只要中途不出意外,全程可以在开机状态下完成,服务基本不中断。

3.1 先确认存储池处于健康状态

在存储管理器 → 存储池里,存储池状态必须是"正常"。如果是"已降级"或者"堪用",说明已经有一块盘出问题了,那就先修复再换盘,别在降级状态下动手。

同时确认两件事:一是新盘已经被系统识别,插上后在 HDD/SSD 里能看到;二是新盘容量大于或等于旧盘。RAID 修复不支持用更小的盘替换,这一点没有例外。如果你买的是同容量盘,流程一样,只是最后没有扩容这一步。

3.2 用"更换硬盘"向导替换第一块盘

DSM 7.0 里群晖内置了一个很贴心的功能,路径是:存储管理器 → 存储池 → 选中存储池 → 右上角"…"或"动作" → 更换硬盘。它会弹出一个向导,让你选择要替换哪一块,然后自动把这台盘标记为待替换状态。

向导之后系统会提示你关机换盘。这里的顺序很重要:

  1. 先让向导把盘标记完成,此时存储池状态会变成"已降级",这是预期行为。
  2. 主菜单 → 关机,等指示灯全灭。
  3. 拔电源线,等 30 秒,让电容放电。
  4. 拔出旧盘,装入新盘,固定好。
  5. 开机,进入存储管理器,此时存储池依然是"已降级"。
  6. 选中存储池 → 动作 → 修复,选择刚才那块新盘。

注意:有些版本的 DSM 在"更换硬盘"向导里会直接让你选新盘、自动开始修复,不用手动点修复。两种流程效果一样,按界面提示走就行。

3.3 第二块盘的替换与第二次修复

等第一次修复彻底跑完,存储池状态回到"正常",再动手换第二块。千万不要在第一块还没修复完的时候就把第二块也拔了,那样阵列会直接失效,数据就真的要靠备份来救。

第二次流程和第一次完全一样,唯一的区别是:第二次修复完成后,存储池的容量会变成新的容量,但你可能还看不到"扩充"按钮,因为还需要手动点一下。

3.4 扩容按钮到底在哪里

很多人在这一步卡住,说"我盘都换完了,容量怎么没变"。答案是:存储池修复完成后,还需要在存储空间上点"扩充"。

路径是:存储管理器 → 存储空间 → 选中你的存储空间 → 动作 → 扩充。DSM 会提示可以扩充到多少容量,确认后它会调整文件系统大小,这个过程从几分钟到半小时不等,取决于数据量。

如果存储池下有多个存储空间,就要逐个扩充,直到把池容量用满。我一般建议一个存储池只建一个存储空间,管理起来简单,扩容时也不会漏。

3.5 修复耗时估算与期间的操作禁忌

修复速度受硬盘、CPU、后台负载影响很大,下面是我根据多次实测整理的估算表,单位是小时,实际可能偏差 30% 以上:

单盘容量RAID1 / 双盘 SHR-1 镜像修复RAID5 / SHR-1(多盘)校验重建
1TB约 3 小时约 5 小时
4TB约 12 小时约 20 小时
8TB约 23 小时约 39 小时
12TB约 35 小时约 58 小时
16TB约 46 小时约 77 小时
20TB约 58 小时约 97 小时

修复期间有几件事绝对不能做:

  • 不要执行第二次换盘,前面说过,这会让阵列直接失效。
  • 不要跑大批量的小文件写入,比如照片索引、视频转码、Docker 容器全量拉取,会让重建速度掉一半。
  • 不要手动重启或断电,重建中断后虽然能续,但风险陡增。
  • 不要在这期间做存储池的"数据清理"或"RAID 一致性检查",这两个任务和重建抢 IO,等于自己给自己添堵。

我一般会在修复开始后,把下载任务、同步任务都暂停,等重建完成再恢复。多花的那点时间,比重新拷贝一遍数据便宜太多。

4. RAID5、RAID6 与多盘 SHR 的容量释放逻辑

多盘用户的换盘流程和双盘一样,只是重复次数更多,而且容量的释放规则更绕。搞懂这套规则,你才知道自己换完之后到底能拿到多少可用空间。

4.1 容量计算规则速查

不同 RAID 类型的可用容量算法完全不同,我整理成一张表,方便对照:

阵列类型可用容量公式举例
Basic单盘容量1×8TB = 8TB
JBOD各盘容量之和4TB+8TB = 12TB
RAID 1最小盘容量4TB+8TB = 4TB
RAID 5(n-1) × 最小盘容量4×(4TB) = 12TB
RAID 6(n-2) × 最小盘容量4×(4TB) = 8TB
SHR-1总容量 − 最大单盘容量4+4+8 = 8TB
SHR-2总容量 − 最大两块盘之和4+4+4+4 = 8TB

这里有个反直觉的点:SHR-1 的冗余空间等于最大那块盘的容量。所以如果你做的是 SHR-1,只换掉一块小盘,容量很可能一点都没涨。举个真实例子,我之前那台 4+4+8 的 SHR-1,可用 8TB,我先把两块 4TB 换成 8TB,结果可用还是 8TB ——因为总容量变成 24TB,减去最大盘 8TB 等于 16TB?不对,这里要重新算。当三块都是 8TB 时,SHR-1 就是 RAID5,可用 = (3-1)×8 = 16TB。确实涨了。

但如果我只换了一块,变成 8+4+8,总容量 20TB,冗余等于最大盘 8TB,理论可用 12TB,可实际上阵列还没重新分层,容量不会立即释放,需要全部换完并修复。所以结论很简单:要涨就一次换齐,中途换一半基本看不到收益。

4.2 逐块替换的顺序与注意事项

多盘换盘建议按顺序一块一块来,每一块都要走完"换盘 → 修复 → 状态恢复正常"这三步再动下一块。顺序本身没有硬性要求,但我习惯从盘位号小的开始,这样不容易记混。

有一点要特别提醒:多盘 SHR 在部分换盘的情况下,可能不会立即触发扩容。比如四盘 SHR-1,你换了两块大盘,另外两块还是小盘,此时存储池容量通常不变,因为阵列还是按最小盘的规则在跑。要等全部换成大盘、所有修复完成,点"扩充"之后,新容量才会一次性释放。

4.3 校验重建期间阵列到底有多脆弱

这是我最想强调的部分。RAID5 和 SHR-1 在正常状态下允许坏一块盘,但在重建期间,这个保护其实非常薄弱。原因有两个:

第一,重建过程本身要对剩下所有盘做全盘读取,如果其中某块盘有潜在的坏道,在这个高负载下很容易暴露出来。行业里有个说法叫"重建期间的二次故障率",实际经验是硬盘越老、负载越高,风险越大。

第二,重建期间如果断电或者系统崩溃,阵列可能进入"已损毁"状态,这时候就只能靠备份恢复了。

所以在重建期间,我一般会做三件事:把 UPS 接上(如果还没接)、暂停所有非必要任务、每天看一次 SMART 和重建进度。看进度的命令很简单,SSH 登录后执行:

cat /proc/mdstat

输出里会有[====>....] resync = 42.5%这样的进度条,finish=后面是预计完成时间。如果进度长时间停在某个百分比不动,那就是出问题了,要立刻看 dmesg 里有没有 IO 错误:

dmesg | tail -50

看到I/O error或者medium error,就说明那块盘有问题,得赶紧准备备份。

5. 实操中最容易踩的坑与排查实录

这一节全是踩出来的经验。我帮人处理过的故障里,九成都集中在这几个点上。

5.1 修复按钮灰掉点不动

最常见的原因是:阵列没有真正进入降级状态。如果你是通过"停用硬盘"操作,那停用完成后存储池应该显示"已降级",修复按钮才会亮。如果显示还是"正常",说明停用没生效,重新操作一次。

第二个原因是新盘容量小于被替换的盘。系统会直接拒绝修复,按钮灰掉。这时候要换一块容量够大的盘。

第三个原因是新盘上残留了旧的分区表。如果这块盘是从别的设备拆下来的,建议先在 Windows 的磁盘管理里把所有分区删干净,或者用群晖的"安全擦除"功能处理一遍。残留分区有时会让 DSM 认为它"不属于这个存储池"。

5.2 重建速度慢到怀疑人生

如果重建速度只有几 MB/s,按这个顺序排查:

  • 看硬盘是不是 SMR:SMR(叠瓦式磁记录)硬盘在持续写入时性能会断崖式下跌,尤其在做 RAID 重建这种全盘写入时,速度可能掉到个位数 MB/s,严重时还会因为超时报错导致重建失败。买盘前一定要查清楚,CMR(垂直磁记录)才是 NAS 的正确选择。常见的大容量 SMR 盘型号在网上都能查到,买之前花两分钟搜一下型号加"SMR"就知道了。
  • 看后台任务:控制面板 → 计划任务、套件中心 → 正在运行的套件、Docker 容器、下载任务,全部暂停试试。
  • 看硬盘温度:超过 55 摄氏度,硬盘会主动降速。检查风扇转速和机箱通风。
  • 看是不是同时在做数据清理:存储管理器 → 存储池 → 数据清理,如果它在跑,暂停掉。

5.3 换完之后容量比预期少

这种情况通常有四个原因:

  1. SHR-1 的冗余占用:如前面所说,冗余等于最大盘容量,这是正常的。
  2. 文件系统保留空间:Btrfs 会预留一部分空间用于元数据和快照,通常 4% 左右。
  3. 存储空间没扩充:池容量涨了,但卷没点扩充。
  4. 部分盘未更换:阵列还按最小盘计算。

这些都可以在存储管理器里看到,存储池显示总容量和已用容量,存储空间显示的是卷的大小。两边对比一下,就知道卡在哪一步。

5.4 换盘后套件打不开、共享文件夹不见了

这种情况一般发生在 Basic 或 JBOD 重建之后,因为套件的安装路径绑定在存储空间上。新存储空间建好之后,需要重新安装套件,并从备份里恢复配置。

共享文件夹如果不见了,去控制面板 → 共享文件夹里检查是否真的没有,还是只是权限映射丢了。DSM 有一个"共享文件夹同步"功能,如果之前开过,可以直接同步回来。

5.5 常见问题速查表

现象可能原因处理办法
修复按钮灰色阵列未降级、新盘小于旧盘、残留分区确认降级状态,换大容量盘,清空分区表
重建速度极慢SMR 盘、后台任务抢占、高温换 CMR 盘,暂停任务,检查散热
扩充按钮不出现未全部换盘、修复未完成、卷未选中完成换盘与修复,逐个扩充存储空间
容量没有增加SHR 冗余规则、未点扩充对照容量表核算,执行扩充操作
存储池显示已损毁重建中断电、多块盘同时故障立即停止写入,从备份恢复
新盘识别不到托架未固定、接口接触不良、供电不足重新插拔,检查螺丝,确认电源余量
换盘后服务异常套件路径变化、权限丢失重装套件,恢复配置,检查共享文件夹权限

6. 换盘前后的数据安全与收尾检查

换盘这件事,最怕的不是操作复杂,而是操作完了才发现有问题。所以收尾环节我从来不省。

6.1 三重备份思路

我给自己的标准是:至少两份不同介质的备份,其中一份离线。具体来说:

  • 第一份:另一台设备上的 Hyper Backup 目标,可以是另一台群晖,也可以是一台旧电脑。这份是热备份,日常自动跑。
  • 第二份:外接硬盘的冷备份,用 USB Copy 定期同步,做完就拔下来收好。这份防的是勒索软件和误删。
  • 第三份:关键数据上云,比如照片和文档。这份防的是物理灾害。

换盘之前,至少要确认第一份和第二份都是最新的。我见过太多人只做了备份任务却没检查,真要用的时候发现备份文件是坏的。

6.2 散热、供电和机械固定

这三个细节被低估得厉害。我的经验是:

  • 散热:硬盘长期超过 50 摄氏度,寿命会明显缩短。机箱前面板别贴着墙,留出至少 10 厘米进出风空间。四盘位机型塞满大容量盘时,中间盘位温度通常最高,可以适当错开安装。
  • 供电:硬盘启动瞬间电流是运行时的两三倍。如果机器经常在开机时硬盘掉线,多半是电源余量不够。原装适配器的标称功率最好留 30% 以上余量。
  • 固定:3.5 寸盘一定要上全四颗螺丝,托架导轨要卡到位。机械盘怕振动,机箱放在稳固的平面上,别放在经常被碰到的位置。

6.3 扩容完成后的收尾清单

扩容完成之后,我一般会做这几件事,养成习惯之后基本没再出过问题:

  1. 手动触发一次 RAID 一致性检查,确认阵列数据一致。
  2. 跑一次完整的 SMART 扩展检测,看新盘有没有早期缺陷。
  3. 检查所有共享文件夹的权限,特别是那些给外部用户或套件使用的。
  4. 验证快照任务是否正常,Btrfs 的快照要确认新容量下还能正常创建。
  5. 更新一次存储池和硬盘的备注信息,把更换日期和盘型号记下来,下次换盘时能省不少事。
  6. 观察一周,看温度和 SMART 有没有异常变化。

我自己在实际操作中的体会是,换盘最花时间的从来不是拧螺丝那几分钟,而是修复那几个小时甚至几十个小时的等待。这段时间里耐心比技术更重要,忍住不要乱点、不要重启、不要急着插第二块盘,基本就稳了。另外买盘之前一定先查型号是不是 CMR,这个动作花两分钟,能省掉你后面几十个小时的折磨和不必要的返工。

返回列表