IBM Cloud Docs
管理Cloud Databases备份

管理Cloud Databases备份

每天都会按计划自动备份数据库。 您还可以按需备份。 备份使用自动密钥加密,如果使用自带密钥 (BYOK),则使用自己的密钥加密。 您可以将备份恢复到Cloud Databases 的新实例。

要访问Cloud Databases 的备份,请转到数据库实例的控制面板,查看“备份和还原”选项卡。

下面是一些有关备份的其他一般信息:

  • 每天进行自动备份,并以 30 天为一个简单的保留时间表。
  • 备份无法删除。
  • 如果删除实例,其备份也会自动删除。
  • 无法配置每日备份计划。
  • 备份可还原到其他区域,但 eu-deeu-espar-01 除外,它们只能在彼此间还原备份。 例如,par-01 备份可恢复到 eu-deeu-es 之间。
  • 备份存储是加密的。 要管理加密密钥,请参阅密钥 Key Protect集成。 否则,备份将使用为实例自动生成的密钥进行加密。
  • 备份可跨账户还原,但只能通过应用程序接口还原,而且运行还原的用户必须同时拥有源账户和目标账户的访问权限。
  • Cloud Databases备份不可下载。 如果需要本地备份,请使用相应的软件。 例如,pg_dump是管理PostgreSQL备份的有效工具。

有关按需备份的信息,请参阅 按需备份

用户界面中的备份

在用户界面中,导航到“备份和还原”选项卡,就会看到一个包含数据库所有可用备份的表格。

备份类型可以是_按需_备份或_自动_备份。 每个备份都列出了类型和备份时间。

单击备份可显示该特定备份的信息,包括其完整 ID。 还原按钮或预先格式化的 CLI 命令可用于还原选项。

CLI 中的备份

您可以通过Cloud Databases访问备份列表和单个备份信息。CLI 插件和Cloud DatabasesAPI 访问备份列表和单个备份信息。API 访问备份列表和单个备份信息。

使用 cdb deployment-backups-list 命令查看实例的所有可用备份列表。 要获取特定备份的详细信息,请使用 cdb backup-show 命令。

例如,要查看名为 "example-instance "实例的备份,请使用以下命令:

ibmcloud cdb deployment-backups-list <INSTANCE_NAME_OR_CRN>

To see the details of one of the backups from the list, take the ID from the ID field of the deployment-backups-list response and use it with the backup-show command:

ibmcloud cdb backup-show crn:v1:staging:public:cloud-databases:us-south:a/6284014dd5b487c87a716f48aeeaf99f:3b4537bf-a585-4594-8262-2b1e24e2701e:backup:a3364821-d061-413f-a0df-6ba0e2951566

Cloud Databases中的备份应用程序接口

要获取Cloud DatabasesAPI 中的备份信息,请使用 /deployments/{id}/backups 端点列出实例的备份。 要获取特定备份的信息,请使用 /backups/{backup_id} 端点。

在用户界面中按需备份

如果计划对实例进行重大更改,如扩展或删除数据库、表和集合,按需备份将非常有用。 如果需要按计划进行备份,它也很有用。 按需备份可保存 30 天。

实例免费提供与其总磁盘空间相等的备份存储空间。 如果备份存储使用量大于总磁盘空间,则每千兆字节的超额费用为$0.03/month。 备份是经过压缩的,因此即使使用按需备份,大多数情况下也不会超过分配的信用额度。

要在用户界面中创建手动备份,请转到实例的“备份和还原”选项卡,然后单击“创建备份”。 显示正在进行备份的消息,并将按需备份添加到可用备份列表中。

在 CLI 中按需备份

如果计划对实例进行重大更改,如扩展或删除数据库、表和集合,按需备份将非常有用。 如果需要按计划进行备份,它也很有用。 按需备份可保存 30 天。

实例免费提供与其总磁盘空间相等的备份存储空间。 如果备份存储使用量大于总磁盘空间,则每千兆字节的超额费用为$0.03/month。 备份是经过压缩的,因此即使使用按需备份,大多数情况下也不会超过分配的信用额度。

在 CLI 中,使用 cdb deployment-backup-now 命令可触发按需备份。

ibmcloud cdb deployment-backup-now <INSTANCE_NAME_OR_CRN>

在应用程序接口中按需备份

如果计划对实例进行重大更改,如扩展或删除数据库、表和集合,按需备份将非常有用。 如果需要按计划进行备份,它也很有用。 按需备份可保存 30 天。

实例免费提供与其总磁盘空间相等的备份存储空间。 如果备份存储使用量大于总磁盘空间,则每千兆字节的超额费用为$0.03/month。 备份是经过压缩的,因此即使使用按需备份,大多数情况下也不会超过分配的信用额度。

在应用程序接口中,向 /deployments/{id}/backups 端点发送 POST 会触发按需备份。

复原备份

备份恢复到新实例。 新实例完成配置后,备份文件中的数据将还原到新实例中。

默认情况下,新实例的大小会自动调整为与源实例备份时相同的磁盘和内存分配。 要调整分配给新实例的资源,可使用用户界面、CLI 或 API 中的可选字段来调整新实例的大小。 确保为数据和工作负载分配足够的资源;如果没有为实例分配足够的资源,还原就会失败。

恢复备份时,请勿删除源实例。 删除旧实例之前,请等待新实例完成配置并恢复备份。 删除实例也会删除其备份。

在用户界面中恢复备份

要将备份恢复到新的服务实例、

  1. 单击相应行,展开要还原的备份的选项。
  2. 单击复原
  3. “供应”页面,从一些可用选项中进行选择。
    • 新实例自动命名为 <name>-restore-[timestamp],但您也可以重新命名。
    • 您还可以选择新实例所在的区域。 Cross-region restores are supported, except for restoring into or out of the eu-de region.
    • 您可以选择初始资源分配,扩大或缩小新实例的资源。 您还可以启用或禁用专用内核。 请注意,如果减少资源量,可能会导致供应失败或数据库无法正常运行。
  4. 单击恢复备份。 出现“开始从备份恢复”信息。 单击“您的新实例现在可用”可进入“资源列表”。

在 CLI 中恢复备份

资源控制器支持数据库实例的调配,调配和恢复由资源控制器 CLI 负责。 使用 resource service-instance-create 命令。

ibmcloud resource service-instance-create <INSTANCE_NAME> <SERVICE-ID> standard <REGION> -p '{"backup_id":"BACKUP_ID"}'
  • instance_name 的值改为您想要的新实例名称。
  • service-id 是实例类型,如_databases-for-postgresql_或_messages-for-rabbitmq_。
  • region 是新实例的位置,可以是与源实例不同的区域。 Cross-region restores are supported, except for restoring to or from eu-de by using another region.
  • backup_id is the backup that you want to restore.

上一条命令将把备份还原到与原始部署配置相同、托管模式 相同的机器上。

可选参数

可选参数可通过 CLI 获取。 如果需要自定义资源、更改托管模式或在新实例上使用Key Protect密钥进行 BYOK 加密,请使用它们。 请参阅以下示例:

ibmcloud resource service-instance-create <INSTANCE_NAME> <SERVICE-ID> standard <REGION> -p
'{"backup_id":"BACKUP_ID","key_protect_key":"KEY_PROTECT_KEY_CRN", "members_disk_allocation_mb":"DESIRED_DISK_IN_MB", "members_host_flavor": "<VALUE>", "members_memory_allocation_mb":"DESIRED_MEMORY_IN_MB", "members_cpu_allocation_count":"NUMBER_OF_CORES"}'

members_host_flavor 值可以是“多租户”或适当大小的隔离计算主机(请参阅 可用值列表)。 只有在使用 "多租户 "主机时才指定 "members_memory_allocation_mb"或 "members_cpu_allocation_count

在实例仪表板的“备份和还原”选项卡上的备份详细视图中,可以看到特定备份的预格式化命令。

默认情况下,从备份还原时提供的实例是数据库类型的首选版本,而不是还原实例的版本。 您可以通过在参数对象中添加版本来指定版本,如下例所示。

`ibmcloud resource service-instance-create <INSTANCE_NAME> databases-for-mysql standard us-south -p '{"backup_id":"<BACKUP_ID>", "version": "<VERSION>"}'

要查看可用版本列表,请运行 ibmcloud cdb deployables

通过应用程序接口恢复备份

资源控制器 API支持调配和恢复数据库实例。 创建请求是对 /resource_instances 端点的 POST 请求。

curl -X POST \
  https://resource-controller.cloud.ibm.com/v2/resource_instances \
  -H 'Authorization: Bearer <>' \
  -H 'Content-Type: application/json' \
    -d '{
    "name": "<INSTANCE_NAME>",
    "target": "<REGION>",
    "resource_group": "<YOUR-RESOURCE-GROUP>",
    "resource_plan_id": "<SERVICE-ID>",
    "parameters":{
      "backup_id": "<BACKUP_ID>"
    }
  }'

参数 nametargetresource_groupresource_plan_id 都是必填项,backup_id 是要恢复的备份。

  • name 的值改为您想要的新实例名称。
  • resource_plan_id 是实例类型,如_databases-for-postgresql_或_messages-for-rabbitmq_。
  • target 是您希望新实例所在的区域,可以是与源实例不同的区域。 Cross-region restores are supported, except for restoring into or out of the eu-de region.
  • backup_id is the backup that you want to restore.

上述命令将把备份恢复到与原始部署配置相同、托管模式 相同的机器上。

可选参数

可选参数可通过应用程序接口获取。 如果需要自定义资源、更改托管模式、部署到特定版本或在新实例上使用Key Protect密钥进行 BYOK 加密,请使用它们。

如果需要调整资源,请在请求正文中添加任一可选参数 "key_protect_key、"members_disk_allocation_mb、"members_host_flavor、"members_memory_allocation_mb"、"members_cpu_allocation_count 或 "version 及其首选值。 请参阅以下示例:

curl -X POST \
  https://resource-controller.cloud.ibm.com/v2/resource_instances \
  -H 'Authorization: Bearer <>' \
  -H 'Content-Type: application/json' \
    -d '{
    "name": "<INSTANCE_NAME>",
    "target": "<REGION>",
    "resource_group": "<YOUR-RESOURCE-GROUP>",
    "resource_plan_id": "<SERVICE-ID>",
    "parameters":{
      "backup_id": "<BACKUP_ID>",
      "members_host_flavor": "<members_host_flavor_value>",
      "version": "<VERSION_NUMBER>"
    }
  }'

members_host_flavor 值可以是“多租户”或适当大小的隔离计算主机(请参阅 可用值列表)。 只有在使用 "多租户 "主机时才指定 "members_memory_allocation_mb"或 "members_cpu_allocation_count

默认情况下,从备份还原时提供的实例是数据库类型的首选版本,而不是还原实例的版本。 您可以通过在参数对象中添加 "version 值来指定版本。

通过 Terraform 恢复备份

使用 Terraform 将备份从旧版本恢复到新版本。

  1. 设置您的 backup_id。 有关更多信息,请参阅 backup_id
  2. 在版本属性中设置 version。 有关更多信息,请参阅 version

代码如下

resource "ibm_database" "<your-instance>" {
  name                                 = "<your_database_name>"
  service                              = "<service>"
  plan                                 = "<plan>"
  location                             = "<region>"
  version                              = "<version>"
  backup_id                            = "<backup_id>"
}

更多信息,请参阅 Cloud Databases Terraform Registry

备份和恢复

  • Cloud Databases不对上述备份的恢复、及时性或有效性负责。
  • 作为用户采取的操作可能会损害备份的完整性,例如内存和磁盘分配不足。 用户可以使用应用程序接口监控备份是否成功,并定期恢复备份以确保有效性和完整性。 用户可从 Cloud Databases CLI plug-inCloud Databases API 中检索最近计划的备份详情。
  • 作为一项托管服务,Cloud Databases会监控备份状态,并在可能的情况下尝试补救。 如果遇到无法恢复的问题,请联系技术支持以获得更多帮助。

备份位置

每个数据库区域的备份位置不同。 确保备份区域位置符合数据位置要求。

实例和备份区域
实例区域 备份区域
达拉斯 美国跨地区Object Storage
华盛顿特区 美国跨地区Object Storage
伦敦 欧盟跨地区Object Storage
法兰克福 欧盟跨地区Object Storage
东京 AP 跨区域Object Storage
大板 AP 跨区域Object Storage
悉尼 AP 跨区域Object Storage
多伦多 蒙特利尔Object Storage
金奈 金奈Object Storage
圣保罗 圣保罗Object Storage
马德里自治区 欧盟跨地区Object Storage

有关Cloud Databases Object Storage地点的更多详情,请查看该地点的 文献资料

业务连续性和灾难恢复

Cloud Databases提供保护数据和恢复服务功能的机制。 更多信息(包括 备份存储区域),请参见 了解Cloud Databases的业务连续性和灾难恢复

时间点恢复

通过时间点恢复(PITR),实例可持续增量备份,并可重放事务,将从备份恢复的新实例恢复到过去 7 天内的任何时间点。Cloud Databases为以下服务提供时间点恢复(PITR)功能:

备份常见问题

有关备份的常见问题,请参阅 备份常见问题