为什么我的 AWS DMS 复制实例状态为存储已满?

上次更新时间:2019 年 10 月 3 日

为什么我的 AWS Database Migration Service (AWS DMS) 复制实例状态为存储已满?

简短描述

AWS DMS 复制实例具有存储,您可以在创建复制实例时指定分配的存储。默认情况下,dms.t2.* 和 dms.r4.* 复制实例类型的卷大小为 50 GiB。dms.c4.* 复制实例类型的卷大小为 100 GiB。监控 FreeStorageSpace 的 Amazon CloudWatch 指标,以监控复制实例的可用存储空间。

复制实例存储主要用于为持续复制收集的任务日志和缓存更改。

仅限具有完整加载的迁移

如果存在大量任务日志(例如,如果您已为任务启用详细的调试日志记录),任务日志可能会导致存储已满问题。默认情况下,AWS DMS 任务日志记录级别是最低的,但有时您需要更详细的日志记录,以确定迁移错误或失败的原因。但是,详细的调试日志记录可能会消耗复制存储空间,因为 AWS DMS 会将每一个事件写入到日志文件。而且,过多任务日志可能会导致复制实例处于存储已满状态。

具有持续复制的迁移

缓存事件可能会在完整加载阶段导致存储问题,尤其是如果您将迁移配置为使用 StopTaskCachedChangesNotApplied 任务设置。有关更多信息,请参阅创建复制实例。如果存储大小太小而无法存储缓存更改,则您的复制实例处于存储已满状态。

无法将从来源捕获的更改应用到目标时,更改数据捕获 (CDC) 阶段交换的事件可能会导致存储问题。AWS DMS 会先将缓存的事件存储在内存中,然后在超过 MemoryKeepTimeMemoryLimitTotal 参数定义的值(默认情况下分别为 60 秒和 1 GiB)时将这些事件交换到存储。如果交换的数据没有足够的存储空间,则复制实例处于存储已满状态。有关更多信息,请参阅更改处理优化设置

解决方法

如果复制实例处于可用状态,您可以删除任务日志:

  1. 打开 AWS DMS 控制台
  2. 从导航窗格中选择复制实例
  3. 选择复制实例的名称。
  4. 日志管理部分中,您将看到所有任务和每个任务的日志大小
  5. 选择要删除日志的任务,然后选择删除

有关更多信息,请参阅管理 AWS DMS 任务日志

如果复制实例处于存储已满状态,您无法删除日志。您必须增加分配的存储大小,或删除复制任务。要增加复制实例的存储大小,请执行以下操作:

  1. 打开 AWS DMS 控制台
  2. 从导航窗格中选择复制实例
  3. 选择要修改卷大小的复制实例名称。
  4. 选择修改
  5. 对于分配的存储 (GB) 字段,输入新值。
  6. 选择立即应用更改,然后选择修改

重要提示:分配的存储大小在增加后不能再减少。


这篇文章对您是否有帮助?

我们可以改进什么?


需要更多帮助?