NAS 换机与数据迁移:三种方式的取舍与验证清单
三种迁移方式
| 方式 | 做法 | 安全性 | 停机时间 | 需要新盘 |
|---|---|---|---|---|
| 网络传输 | 新旧机同时在线,通过网络拷数据 | 最高 | 无(可并行) | 是 |
| 拔盘直迁 | 旧机的硬盘直接装到新机 | 低(有条件可行) | 短 | 否 |
| 备份恢复 | 从备份恢复到新机 | 高 | 取决于备份大小 | 是 |
方式一:网络传输(推荐)
核心优势是旧机全程保留数据。 万一新机配置出错、数据没拷全、甚至新机有问题,旧机上的数据完好无损,随时可以重来。
这是唯一一种”无论如何都不会丢数据”的方式,代价是需要购买新硬盘(或者说,你本来买新机就得配盘)。
传输方式:
- SMB/NFS 挂载:把新机的共享目录挂到旧机(或反过来),用 rsync 拷。最灵活
- rsync:命令行下最可靠的选择,支持断点续传、增量、校验
- 厂商自带的迁移工具:群晖 Migration Assistant、威联通类似工具,能连配置一起迁移
- Hyper Backup / Active Backup:群晖生态内的方案
# 从旧机把数据推到新机(在新机上执行)
rsync -avhP --info=progress2 /volume1/ old_nas:/volume1/
关键参数:
-a归档模式,保留权限、时间戳、符号链接-v显示过程-P显示进度 + 支持断点续传(中断后再跑一次会跳过已完成的)--info=progress2整体进度
传输时间估算:千兆网络理论 110MB/s,1TB 数据约 2.5 小时;2.5G 网络约 280MB/s,1TB 约 1 小时;万兆约 1GB/s,1TB 约 17 分钟。
这是升级网络的实际收益之一——如果你有 10TB 数据,千兆要跑一整天,万兆只要三小时。
方式二:拔盘直迁(谨慎)
把旧机的硬盘直接装到新机,看起来最省事,但风险最高。
同品牌同系列(比如群晖 DS920+ → DS1522+):官方通常支持,拔盘装上去后系统能识别并导入配置。这是相对安全的。
同品牌不同文件系统世代、跨品牌:风险显著上升。
原因:
- 不同品牌用的文件系统可能不同(ext4、Btrfs、ZFS 各有支持)
- 即使用同一种文件系统,阵列元数据格式可能不兼容——盘能被读到,但阵列组不起来
- RAID 条带大小、校验布局、元数据位置都有厂商差异
- 部分品牌会在盘上写入 proprietary 的元数据
判断原则:不要指望跨品牌拔盘能成功。 即便成功了也是运气,不是设计保证。
如果一定要试:
1. 先确认数据已经有完整备份(这是前提,不是建议) 2. 只插一块盘试读,不要把所有盘都插上去——插错顺序或触发重建可能破坏数据 3. 新机上如果提示”初始化”或”创建存储池”,立刻停手,这说明它没识别出原阵列
方式三:备份恢复
如果你本来就有规范的备份体系,换机就是”在新机上恢复备份”这一件事。
前提是备份本身可靠且经过验证。 很多人到了换机这天才发现备份从来没验证过,或者备份不完整。
这种方式适合:已有成熟备份流程、数据量适中、不着急的场景。
迁移清单:容易漏掉的东西
数据之外的这些项最容易被遗忘,迁移完成后才发现:
| 项目 | 说明 |
|---|---|
| 共享文件夹权限 | 用户/用户组的 ACL 设置 |
| 用户账号 | 账号、密码、所属组 |
| Docker 容器 | compose 文件、挂载目录、环境变量 |
| 虚拟机 | 镜像文件、配置 |
| SSL 证书 | 域名证书与私钥 |
| 定时任务 | 备份计划、脚本 cron |
| 网络配置 | 静态 IP、端口转发、DDNS |
| 套件/应用配置 | 媒体服务器库、下载任务列表 |
| 共享链接 | 已生成的外链(迁移后通常会失效) |
| 手机 App 绑定 | 需要重新指向新机 |
Docker 容器的迁移要点:真正重要的是 docker-compose.yml 和数据卷目录。只要这两个在,换个机器 docker compose up -d 就能起来。所以要备份的是配置文件 + 数据目录,而不是容器本身。
权限迁移是个麻烦事。不同系统的用户体系不通用,跨品牌迁移时权限基本要重配。建议迁移前先把文件夹结构和权限规划写下来(截图或导出列表),照着重建。
验证:这一步不能省
数据拷完之后,必须验证。以下几种方式结合使用:
一、文件数与总容量对比
# 分别在旧机和新机上执行,对比结果
find /volume1 -type f | wc -l
du -sh /volume1
数量对不上就是有问题。注意 du 的结果会因块大小、稀疏文件有细微差异,允许小幅出入,但差异超过 1% 就要查。
二、抽样校验和
对关键目录做一次校验和比对:
# 在两边分别生成校验和,然后对比
find /volume1/photos -type f -exec md5sum {} ; | sort > /tmp/checksums.txt
diff old_checksums.txt new_checksums.txt
全量校验几 TB 数据会很慢,对重要目录抽样即可。
三、随机抽查内容
随机打开几十个文件——尤其是大文件(视频、压缩包)、有特殊字符文件名的文件、深层目录里的文件。这些是传输过程中最容易出问题的。
四、检查特殊文件
- 文件名含中文、空格、特殊符号的
- 符号链接(rsync 不加
-a会丢) - 隐藏文件(以点开头的)
- 空目录(某些传输方式会丢)
旧机怎么处理
新机跑稳之前,旧机不要急着清数据。建议:
- 新机上线后先并行运行一到两周
- 确认所有服务正常、数据完整
- 再对旧机做处置(留作冷备、二手出售、或改作异地备份机)
旧机改成异地备份机是很划算的选择——放在父母家或朋友家,用 Tailscale 组网,定期同步,一份真正的异地备份就建起来了。比新买一台机器便宜得多。
如果要出售,记得走正规的擦除流程(不是快速格式化),具体方法参见硬盘退役的相关讨论。
时间规划建议
一次从容的换机迁移,建议这样安排:
1. 提前一周:整理旧机数据,清掉不需要的(迁移是清理的好时机),确认备份完整 2. 提前三天:买齐新盘,做好新机的初始化和阵列配置 3. 迁移日:跑 rsync(大数据量可以后台跑一夜) 4. 第二天:验证数据、配置服务、重建权限 5. 后续两周:新旧并行,确认无问题后再处置旧机
不要赶时间。迁移过程中最贵的不是时间,是数据。
