跳至内容

为什么我的 AWS DMS 复制数据库实例处于存储已满状态?

1 分钟阅读
0

我想知道为什么我的 AWS Database Migration Service (AWS DMS) 复制数据库实例处于存储已满状态。

简短描述

对于 AWS DMS 复制数据库实例,您可以在创建复制数据库实例时指定分配的存储空间。默认情况下,dms.t2.* 和 dms.r4.* 复制数据库实例类型的卷大小为 50GiB。dms.c4.* 复制数据库实例类型的卷大小为 100GiB。要监控复制数据库实例的可用存储空间,请查看 Amazon CloudWatch 指标 FreeStorageSpace。复制数据库实例存储主要用于正在进行的复制收集的任务日志和缓存更改。您的 AWS DMS 复制数据库实例处于存储已满状态的原因可能取决于迁移类型。

全量加载迁移

如果任务日志很多,可能会出现存储已满的问题。例如,如果您为某项任务启用了详细调试日志记录,则您的数据库实例会产生更多的任务日志。

持续复制迁移

在全量加载阶段,缓存的事件可能会导致存储问题,尤其当您将迁移配置为使用 StopTaskCachedChangesNotApplied 任务设置时。如果存储空间太小而无法存储缓存的更改,则您的复制数据库实例将处于存储已满状态。当来自源的更改无法应用于目标时,更改数据捕获 (CDC) 阶段的交换事件可能会导致存储问题。AWS DMS 首先将缓存的事件存储在内存中。当超过 MemoryKeepTimeMemoryLimitTotal 参数定义的值时,AWS DMS 会将缓存的事件交换到存储中。如果没有足够的存储空间来存储交换的数据,则复制数据库实例将处于存储已满状态。有关更多信息,请参阅更改处理优化设置

解决方法

**注意:**如果在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,确保您使用的是最新版本的 AWS CLI

删除任务日志

如果复制数据库实例处于可用状态,则删除任务日志:

  1. 打开 AWS DMS 控制台
  2. 从导航窗格中,选择 Replication instances(复制实例)。
  3. 选择复制数据库实例的名称。在 Log management(日志管理)部分中,您可以看到所有任务和每个任务的日志大小
  4. 选择要删除日志的任务,然后选择 Delete(删除)。

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

修改任务设置

要使用 AWS CLI 删除 DMS 任务日志,请修改任务设置。运行以下命令创建一个 tasksetting.json JSON 文件:

{
  "Logging": {
    "DeleteTaskLogs":true
  }
}

创建 JSON 文件后,运行以下命令修改任务设置。

**注意:**要修改任务,任务的状态必须为 Stopped(已停止)或 Failed(失败)。

aws dms modify-replication-task --replication-task-arn  --replication-task-settings file://tasksetting.json

要修改任务设置,上述命令会更改参数 "DeleteTaskLogs": true。修改此参数后,所有现有的任务日志都将从复制数据库实例中删除。然后,系统会从任务设置中移除 "DeleteTaskLogs": true 参数。确认日志已从复制数据库实例中删除,并且系统已从任务设置中移除参数 "DeleteTaskLogs": true

要定期删除日志,每次都必须通过 "DeleteTaskLogs": true 参数修改任务设置。您可以使用 cronjob 或 Lambda 调度器安排定期运行此命令。有关更多信息,请参阅 modify-replication-task

增加复制数据库实例的存储大小

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

  1. 打开 AWS DMS 控制台
  2. 从导航窗格中,选择 Replication instances(复制实例)。
  3. 选择要修改其卷大小的复制数据库实例的名称。
  4. 选择 Modify(修改)。
  5. 对于 Allocated storage (GB)(分配的存储空间 (GB))字段,输入一个新值。
  6. 选择 Apply changes immediately(立即应用更改),然后选择 Modify(修改)。

**重要说明:**分配的存储大小在增加后无法下调。

相关信息

AWS Database Migration Service 的最佳实践

AWS 官方已更新 2 年前