文档首页/ 主机迁移服务 SMS/ 用户指南(吉隆坡区域)/ 常见问题/ 产品咨询/ 如何校验源端与目的端的数据一致性?
更新时间:2024-03-15 GMT+08:00

如何校验源端与目的端的数据一致性?

主机迁移服务提供了数据一致性校验功能,您可以在全量复制完成后,进行增量同步时,启用并配置该功能,对源端数据和目的端数据进行一致性校验。

注意事项

  • 使用该功能前,建议停止源端业务(涉及数据库时需要关闭数据库程序,而不是暂停),否则源端数据一直发生变化,导致源端和目的端数据存在差异。

    源端存在数据一直变化的目录,如:SMS-Agent的安装目录,/var/log系统日志目录等,属于正常现象,不代表主机迁移过程中产生了数据差异。

  • 数据一致性校验时长与需要校验的文件个数、大小成正比,部分场景可能耗时较长,业务割接耗时会增加,需要您自行评估对业务的影响。
  • 该功能可能占用较多的磁盘IO,请评估对源端业务的影响。

约束限制

  • 该功能不适用于调整磁盘/分区的迁移场景,可能会出现因为两端对应路径无法准确映射而导致的数据校验差异。
  • 该功能不适用于校验跨文件系统的文件或共享文件夹,可能会出现校验误差。
  • 为保护源端业务的正常运行,每个目录最多只校验十万个文件。
  • 为防止占用过多内存,只校验路径字符串长度小于1024字节的文件。

启用数据一致性校验

  1. 参考同步增量数据,打开“同步”窗口。
  2. 开启“是否校验数据一致性”功能,并输入需要进行数据一致性校验的目录路径。请务必输入正确路径,路径错误或路径下不存在文件时,校验结果中会显示校验文件数量为0。

    • 需要校验的数据量越大,则一致性校验的用时越长,建议仅对关键目录进行校验。
    • 为避免校验数据量过大,以下路径将被屏蔽:
      • Linux系统的 "/","/etc","/dev","/sys", "/usr","/boot", "/run"目录。
      • Windows系统的分区根目录,如:C:\,D:\;

  3. 选择校验模式。

    • 快速校验:只比对文件的大小和最后修改时间。
    • CRC校验:使用CRC64校验码对文件内容进行强校验。CRC校验需要以二进制形式扫描文件内容,占用磁盘IO性能较多且用时较长。

  4. (可选)选择是否启用复检。只有进行过至少一次一致性校验后,才可以打开复检选项,启用复检将只对上一次校验结果中不一致的文件进行校验。
  5. 配置完成后,单击“”,开始增量数据同步并进行数据一致性校验。当同步及校验完成后,可以查看校验结果

取消数据一致性校验

在开启校验数据一致性功能后,如果想要取消校验,请按如下步骤取消。

  1. 单击操作列的“更多>暂停”,将同步任务暂停。
  2. 同步任务暂停后,单击操作列的“开始”,弹出“开始”窗口,
  3. 关闭校验数据一致性功能,单击“”,即可取消同步任务中的数据校验步骤。

查看校验结果

当同步及校验完成后,单击服务器操作列的“更多>查看校验结果”,可以查看一致性校验结果简报。

如果校验简报中的校验文件总数为0,表示配置的校验目录路径不存在或该路径下的文件总数为零。

在源端的SMS-Agent的安装目录下(Linux为*/SmsAgent/agent/Logs/;Windows为C://SMS-Agent-Py*/Logs),会生成一个名为"sms_cmp_result.log"的日志文件,其中包含了所有校验不一致的文件。

校验时间参考

下表为源端仅运行迁移业务的测试时长,仅供参考。

操作系统

系统规格

磁盘性能

校验时长(每100 G数据)

Windows

2U4G

5000IOPS/150MBPS

约17分钟

Linux

2U4G

5000IOPS/150MBPS

约13分钟