查询迁移进度
迁移进度展示了迁移过程中,实时迁移任务的表迁移进度,可以帮助您了解迁移完成的情况。
DRS提供流式进度展示,帮助您在迁移过程中实时了解迁移进展。全量迁移过程中,展示迁移进度总览和迁移明细。
- 进度总览中,您可以查看结构、数据、索引迁移的进度。迁移进度是根据迁移对象的数量来统计百分比进行展示,当显示为100%时,表示该项迁移完成。迁移过程中,数据和索引的迁移相对较慢。
- 迁移明细中,您可以查看具体迁移对象的迁移进度,当“对象数目”和“已迁移数目”相等时,表示该对象已经迁移完成,可通过“查看详情”查看每个对象的迁移进度。增量迁移中,“进度明细”将不再显示,您可以使用“迁移对比”页签查看一致性情况。
- 除Redis、GeminiDB Redis相关实时迁移链路外,其他实时迁移链路均支持查看迁移明细。
- 在任务未结束前,不能修改源库和目标库的所有用户、密码和用户权限等。
- 全量、增量完成不代表任务结束,如果存在触发器和事件将会进行迁移。
前提条件
- 已登录数据复制服务控制台。
- 已启动迁移任务。
操作步骤
- 在“实时迁移管理”界面,选中指定迁移任务,单击任务名称,进入“基本信息”页面。
- 单击“迁移进度”页签,查看迁移进度。
- 查看结构、数据、索引的迁移的百分比进度。
“全量迁移”模式:当全量迁移完成时,显示全量迁移各项指标完成进度100%。
“全量+增量”迁移模式:全量迁移完成后,开始进行增量迁移可,在“迁移进度”页签下,查看增量迁移同步时延。
图1 迁移进度总览
增量迁移时延也可在“实时迁移管理”界面查看,当增量时延超过用户设置或系统默认的时延阈值时,任务管理界面增量时延显示为红色。时延 = 源库当前系统时间 - 成功同步到目标库的最新一个事务在源库的提交成功时间。
一个事务同步的完整过程如下:
- 源端数据库的抽取;
- 经过网络的传输;
- 由DRS进行日志解析;
- 最终在目标数据库上的执行完成。
这样完成了事务从源到目标的同步,时延为该事务最后在目标数据库上执行完成时的源库当前系统时间(current_time)与该事务在源库的提交成功时间(committed_time)的时间差,时延为0代表源和目标瞬时一致,无新的事务需要同步。
长时间未提交事务和频繁DDL操作均可以造成高时延。
- 查看迁移对象的进度。在“进度明细”下,单击目标迁移对象“详细信息”列的“查看详情”,查看对象的迁移进度。
目前MySQL为源迁移链路在增量阶段会展示迁移进度明细,该明细只是全量阶段迁移数据和跳过结构的展示,不支持更新。其他链路在进入增量迁移后,进度明细数据将不再显示,您可以使用“迁移对比”页签,进行一致性对比。
图2 迁移进度明细
- 跳过迁移对象。在迁移对象“详细信息”列的“查看详情”中,可以单击对象操作列的“跳过并重启”跳过迁移对象。
- 目前实时迁移支持MySQL为源链路在全量迁移阶段跳过迁移对象。
- 支持跳过类型包含database、function、procedure、table_indexs、table_structure、view、trigger、event、account。
- 跳过操作会使任务重启续传,如果任务处于暂停或异常状态,确认跳过后,任务将被会重新启动。
- 如果任务处于全量迁移状态,可能出现跳过前已完成对象迁移的情况,此时的跳过操作将会失效。
- 跳过对象成功后,如果后续迁移过程中仍有关联该对象的操作,可能出现对象不存在导致任务失败情况。例如跳过table_structure后,在迁移该表的索引和数据时,会出现对象不存在导致任务失败情况。
- 跳过对象成功后,会导致对比结果不一致。
- 跳过无主键表的table_structure会导致数据不一致,还可能出现表不存在导致任务失败的情况,请确认后再进行操作。
- 跳过无主键表后出现表不存在导致DRS任务失败时,请先联系目标库运维工程师根据源数据库表结构和日志报错信息在目标库创建对应的表,然后单击任务对应操作列的“续传”,重新提交任务。
- 查看读写数据性能。单击“监控图表”查看读写数据性能,该图表展示了实时读取源库和写入目标库数据的速率,其单位为MB/s。
图3 性能监控
- 查看结构、数据、索引的迁移的百分比进度。