首页/系统/信创系统运维速查/迁移对账与数据校验
迁移适配65 条

迁移对账与数据校验

迁移完成不等于数据一致:文件用「路径+大小」清单与校验和比对,数据库比行数和抽样记录,对账结论归档留存。

信创系统运维速查系统更新于 2026-10-13

为什么迁移完成不等于数据一致

迁移工具报告成功,只说明它没有遇到致命错误,不代表每个文件、每一行数据都完整到达目标端。传输中断后重试、权限不足被跳过、文件名特殊字符被忽略、数据库大字段截断,都会留下无声的缺口。因此验收必须有一轮独立于迁移工具的对账。

对账的两个层次

文件层用清单比对:路径、大小、校验和三者组合能覆盖绝大多数遗漏与损坏。数据层先比对象数量与行数,再对关键表做抽样记录级比对与校验和聚合。结论必须落到归档文件里,只凭肉眼看过一遍无法支撑验收。

基本信息

文件对账路径与大小清单 diff、rsync 校验模式、总量比对
数据对账对象数量、表行数、抽样记录、关键字段聚合值
执行窗口放在业务低峰,避免长查询占用 IO 与连接
产出归档清单文件、比对输出、抽样记录一并存档

典型使用场景

  • 文件服务器迁移后确认没有遗漏或损坏的目录
  • 数据库搬迁后向业务方提供数据一致性证明
  • 增量同步期间定期对账,及时发现同步中断
  • 交付验收阶段生成对账报告作为材料
  • 故障后回滚前的复核,确认需回滚的范围

文件对账

文件对账
# 源端与目标端分别执行,再比对两份清单
cd /data && find . -type f -printf '%s %p\n' | sort > /tmp/list.$(hostname)
diff /tmp/list.src /tmp/list.dst | head -30     # 仅差异行,输出为空即一致
du -sb /data | cut -f1                          # 总字节数快速比对

增量复核

增量复核
rsync -avn --checksum /data/ /backup/data/ | tail -5   # 演练模式看还差哪些文件
# 输出只剩统计行、没有待传文件列表,说明两端内容一致
md5sum /data/important.tar.gz                          # 关键文件单独取校验和
# 数据库侧:逐表比对行数后,对关键表做抽样记录比对

对账项与判定

对账项方法判定标准
文件数量与路径清单 diff差异行为空或全部可解释
文件大小清单含大小字段无差异
文件内容校验和或 rsync 校验模式无待传文件
数据库对象按类型统计数量与源库一致
表行数逐表计数差异为可解释的业务写入
关键表内容抽样记录比对抽样全部一致
对账输出要留档:清单、比对结果、抽样记录一起归档,既是验收材料,也是后续出现数据疑问时回溯的起点。

易错点

  • 行数一致就认为内容一致,大字段截断与字符集转换问题无法通过行数发现
  • 全量对账放在业务高峰执行,长查询占用磁盘与连接,反过来影响在线业务
  • 只对账不归档,验收时无法证明结论,事后也无法追溯差异范围
  • 迁移期间源端仍在写入却没记录时间点,差异无法区分是遗漏还是正常的增量变更

数据来源与参考

  • rsync 官方文档(rsync.samba.org)
  • man 1 find
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌