为什么我的 Aurora PostgreSQL 兼容版数据库实例快照需要如此长的时间才能复制?

1 分钟阅读
0

我的 Amazon Aurora PostgreSQL 兼容版数据库实例快照需要很长时间才能复制。控制面板显示进度 100%,但快照导出仍在进行中。

简短描述

可以使用快照方法备份 Amazon Relational Database Service (Amazon RDS) 和 Amazon Aurora 数据库实例。快照副本涉及复制自动备份或手动数据库集群快照。复制快照时,会创建手动快照。快照导出涉及将数据库集群快照数据导出到 Amazon Simple Storage Solution (Amazon S3) 存储桶。

可以在不同的 AWS 区域或同一区域内复制快照备份。也可以使用唯一标识符制作多个副本。有时,这些快照副本或导出可能需要很长时间。

快照复制或导出完成所需的时间受多种因素的影响,包括:

  • 卷的大小
  • 这是您创建的第一个卷快照(完整副本)还是增量快照
  • 自上一张快照以来修改的区块数
  • 共享的网络带宽
  • 卷上的写入活动

**注意:**首次创建的快照副本始终是完整副本。通常需要更多时间才能创建此副本。从同一目标到同一目的地的后续快照副本均是增量副本。通常花费较少的时间即可创建此副本。

解决方案

**注意:**如果您在运行 AWS Command Line Interface (AWS CLI) 命令时收到错误,请确保您使用的是最新版本的 AWS CLI

Aurora PostgreSQL 兼容版数据库实例快照需要很长时间才能复制

快照复制时间也因多种因素而异,并且可能需要几个小时才能完成复制。这些因素包括:

  • 快照复制过程涉及的区域
  • 待复制的数据量
  • 给定源区域中同时发生的跨区域快照请求数量

跨区域快照复制可能需要数小时才能完成,具体取决于所涉及的 AWS 区域和待复制的数据量。在某些情况下,可能会有来自给定源区域的大量跨区域快照复制请求。在这种情况下,Amazon RDS 可能会将来自该源区域的新跨区域复制请求放入队列中。在一些进行中的副本完成之前,Amazon RDS 会一直执行此排队操作。当复制请求在队列中时,不显示有关这些请求的进度信息。只有在复制开始时,才会显示进度信息。

控制面板显示进度 100%,但快照导出仍在进行中

将快照导出到 Amazon S3 时,您可能会看到任务正在进行中,但进度显示为 100%。在导出过程中,系统会估算初始数据大小,然后在导出过程中持续进行校正。根据提取的数据在估计数据大小之上计算此百分比。因此,即使状态为仍在进行中,百分比也可以显示为 100%。要监控快照进度,请使用 AWS CLI 运行 DescribeExportTask 命令,同时包括 TotalExtractedDataInGB

示例:

$ aws rds describe-export-tasks --export-task-identifier <TaskIdentifier>

{

    "ExportTasks": [

        {

            "ExportTaskIdentifier": "XXX",

            "SourceArn": "arn:aws:rds:us-east-1:XXXX:snapshot:rds:XXXX-2022-11-06-09-54",

            "SnapshotTime": "2022-11-06T09:55:00.522000+00:00",

            "S3Bucket": "XXXX",

            "S3Prefix": "",

            "IamRoleArn": "arn:aws:iam::XXXX:role/service-role/XXXX",

            "KmsKeyId": "arn:aws:kms:us-east-1:XXXXX:key/XXXXXXX",

            "Status": "STARTING",

            "PercentProgress": 0,

            "TotalExtractedDataInGB": 0  

        }

    ]

}

相关信息

创建数据库集群快照

AWS 官方
AWS 官方已更新 1 年前