如何验证我的 AWS DMS 迁移任务卡滞还是正在取得进展?

上次更新时间:2021 年 2 月 16 日

我的 AWS Database Migration Service (AWS DMS) 任务卡滞或没有进展。如何排查我的任务没有进展的原因?

简短描述

尽管 AWS DMS 任务极少卡滞,但有时它们的进度可能会很慢。按照本文中的步骤检查 DMS 任务中的数据是否已从源迁移到目标。

解决方法 检查 AWS DMS 任务的状态

使用下面的步骤检查 DMS 任务的状态。

    登录 AWS DMS 控制台。 从导航窗格中,选择 Database migration tasks(数据库迁移任务)。 检查任务的状态。状态应当如下: 在完整加载阶段,任务状态应为 Running(正在运行)。 在仅限 CDC 的任务的更改数据捕获 (CDC) 阶段或持续复制阶段,任务状态应为 Replication ongoing(正在进行复制)。 在完整加载和 CDC 期间,任务状态应为 Load complete, replication ongoing(加载完成,正在进行复制)。
监控 Amazon CloudWatch logs

通过监控 Amazon CloudWatch logs 来检查迁移任务。

    登录 AWS DMS 控制台。 从导航窗格中,选择 Database migration tasks(数据库迁移任务),然后选择您的任务。 选择 View CloudWatch logs(查看 CloudWatch logs)。这会将您重定向到 AWS CloudWatch 控制台,在该控制台中您可以监控任务的日志。

注意:查看日志时,选择 Retry(重试)以刷新日志并显示带时间戳的最新信息。如果五分钟后在日志中看不到新消息,请继续执行下一步。

刷新 DMS 任务的表统计数据

刷新 AWS DMS 任务的表统计数据。

    登录 AWS DMS 控制台。 从导航窗格中,选择 Database migration tasks(数据库迁移任务),然后选择您的任务。 选择 Table statistics(表统计数据)。

在完整加载期间,您可以看到 Full Load rows(完整加载行)的值升高以及 Load state value(加载状态值)变化。在持续复制 (CDC) 期间,您可以看到 DML(插入、更新和删除)和 DDL 增加。

如果您的测试数据库活动极少,则可能在任务日志或表统计计数器中看不到任何变化。

监控关于行卸载和应用的 CloudWatch 指标
    登录 AWS DMS 控制台。 从导航窗格中,选择 Database migration tasks(数据库迁移任务),然后选择您的任务。 选择 CloudWatch metrics(CloudWatch 指标)。此操作会将您重定向到 CloudWatch 控制台。

在 DMS 任务的完整加载阶段,使用 CloudWatch 监控以下指标:

    从 CloudWatch 控制台的下拉列表中选择 Full load(完整加载)。 监控 FullLoadThroughputRowsSource 指标。此指标详细描绘了 AWS DMS 在完整加载阶段将源数据卸载到复制实例的速率。 监控 FullLoadThroughputRowsTarget。此指标显示行离开复制实例以提交到目标的速率。

在 CDC 阶段,使用 CloudWatch 监控以下指标:

    从 CloudWatch 控制台的下拉列表中选择 CDC。 监控 CDCThroughputRowsSource 指标。此指标详细描绘了在 CDC 阶段从源捕获更改并移动到复制实例的速率。 监控 CDCThroughputRowsTarget。 此指标显示了更改从复制实例移动到目标实例的速率。 监控 CDCLatencySource 指标。此指标显示了源与复制实例之间的延迟(单位为秒)。 监控 CDCLatencyTarget 指标。此指标显示了复制实例与目标之间的延迟(单位为秒)。

您还可以按特定间隔时间查询目标上的记录计数,以确认数据正在迁移到目标。此间隔时间取决于源、目标和复制实例上的负载以及单个记录中的数据量。

如果您在 DMS 任务上看不到延迟,且任务日志中没有出现新日志消息,请启用调试日志记录。确保在任务运行时执行此操作,然后监控 DMS 任务的 Amazon Cloud Watch 日志。

注意:最佳做法是仅在主动排查任务故障时短时间启用调试日志记录。如果启用调试日志记录的时间较长,复制实例磁盘空间可能会迅速填满,并影响数据库实例上正在运行的任务。