管理独立备份

Gen 2

目前,仅支持以下网址的独立备份:Databases for MySQL、Databases for PostgreSQL、Databases for MongoDB、Databases for Elasticsearch 以及 Databases for Redis。

独立备份标志着 Cloud Databases 第二代在备份数据管理方式上的根本性转变。 与紧密耦合于数据库实例生命周期的传统备份不同,独立备份是以独立、可配置的服务实例形式存在的,拥有自己的生命周期,因此即使源数据库实例已被删除,您仍可保留备份数据。 独立备份将作为单独的服务实例进行计费。 如需了解更多信息,请参阅“独立备份计费”。

什么是独立备份?

独立备份是指与您的数据库服务实例独立运行的备份实例。 每个独立备份都是一个完全托管的服务资源,拥有以下专属特性:

  • 服务名称和云资源名称(CRN)
  • 通过 IBM Cloud 资源控制器进行生命周期管理
  • 计费与资源跟踪
  • 访问控制与权限

该架构在备份数据管理方面提供了更大的灵活性,可满足长期数据保留、合规要求以及源数据库可能已不复存在时的灾难恢复等用例的需求。

与耦合备份的主要区别

耦合备份与独立备份的比较
功能 关联备份 独立备份
生命周期 与数据库实例相关联 与数据库实例无关
持久性 当实例被删除时,该实例也将被删除 在实例删除后仍可保留
管理 仅限用户界面 IBM Cloud 资源控制器
可视性 仅限实例界面 数据库中心、资源列表、实例用户界面
删除 仅限自动模式(30天) 手动和自动
跨区域副本 不支持 PostgreSQL 仅
配置 自动和按需 自动和按需
计费 随实例提供 单独的服务计费

独立备份的工作原理

自动创建备份

当您配置第 2 代 Cloud Databases 实例时,系统会自动为您每天的定时备份创建独立的备份实例。 这些备份:

  • 根据您的备份计划每天生成
  • 默认保留 30 天
  • 由该服务自动管理
  • 显示在您的资源列表和数据库中心中

按需创建备份

您可以随时使用 IBM Cloud 资源控制器创建按需独立备份。 这些备份:

  • 一经请求即刻生成
  • 遵循与自动备份相同的保留策略
  • 可在到期前手动删除
  • 在进行重大变更或迁移之前非常有用

备份生命周期

独立备份遵循以下生命周期:

  1. 资源配置:已创建备份实例(自动或按需创建)
  2. 活动状态:备份可用于还原操作
  3. 到期:备份达到保留期限(默认30天)
  4. 删除:备份会被自动删除或手动删除

与关联备份不同,独立备份可随时通过资源控制器手动删除,这使您能够更好地控制备份数据及相关成本。

先决条件

在使用独立备份之前,请确保已为以下操作配置了服务间授权:

  • 配置数据库实例
  • 更新数据库实例
  • 撤销配置为 preserve: false 的数据库实例
  • 配置独立备份

当数据库实例配置为 preserve: false 时,在永久删除该数据库实例的同时,其独立备份也将被删除。

如需了解更多信息,请参 阅“服务间授权”。

访问您的备份

您可以在多个位置访问独立备份:

  • 实例界面:转到数据库实例的“仪表盘”,查看 “备份与还原”选项卡。
  • 数据库中心:在集中位置查看您账户中的所有备份。
  • 资源列表:独立备份显示为单独的服务实例。

第二代 Cloud Databases 备份只能在创建它们的同一区域内进行恢复。

查看独立备份

独立备份可在多个位置查看:

数据库中心

IBM Cloud 控制台提供了您账户中所有备份的集中视图:

  1. 进入 IBM Cloud 控制台,转到 “资源列表” > “数据库”。
  2. 查看您的数据库实例及其关联的备份。
  3. 独立备份会在您的资源列表中显示为单独的服务实例。

这有助于您识别可能需要清理或长期保留的备份。

资源列表

独立备份会在您的 IBM Cloud 资源列表中显示为独立的服务实例:

  1. 转到您的 资源列表。
  2. 按服务类型筛选,以显示备份实例。
  3. 单击某个备份实例,即可查看详细信息并管理其生命周期。

“实例备份和还原”选项卡

在用户界面中,转到 “备份与还原”选项卡,您会看到一个表格,其中列出了数据库的所有可用备份,包括关联备份和独立备份。

备份类型可以是 “按需” 或 “自动”。 每项备份都会列出其类型、备份时间,以及该备份是关联备份还是独立备份。

单击该备份,即可查看该备份的具体信息,包括其完整 ID 和 CRN。 该处提供了 “还原” 按钮或预格式化的命令行(CLI)命令,供用户选择还原选项。

在 PostgreSQL,、MongoDB,、Elasticsearch 以及 Redis 的 30 天过渡期内,您可能在此视图中同时看到耦合备份和独立备份。 关联备份将在30天后自动删除。

管理独立备份

配置数据库实例以支持独立备份

您可以在数据库实例上配置以下功能:

配置功能
功能 独立备份 配置
保留期限 确定何时可以删除备份。 自动备份将在保留期限届满后自动删除。 按需备份在保留期限届满后可以手动删除。 已设置为30天的固定时长,且无法进行配置。
保留备份 确定在删除数据库实例时,是否保留备份(自动备份、按需备份和备份副本)。 缺省情况下设置为 false。 除按需备份副本外,独立备份在数据库实例被彻底删除后将不复存在。 您可以在数据库实例上启用此选项,但一旦启用,便无法将其禁用。 对于 Databases for MySQL,该功能默认处于禁用状态,且无法启用。
开始时间 确定数据库实例上启动自动备份的一小时时间窗口的开始时间。 系统每天都会自动进行备份。 在数据库实例配置时已设置为默认值,且无法进行配置。

您可以在数据库实例的配置参数中设置允许的配置。 例如,以下配置会将备份设置为即使在数据库被删除后仍予以保留:

ibmcloud resource service-instance-create \
  <DATABASE_INSTANCE_NAME> \
  <DATABASE_SERVICE_NAME> \
  <DATABASE_SERVICE_PLAN_NAME> \
  <REGION> \
  -g <RESOURCE_GROUP> \
  -p '{
    "dataservices": {
      "backups": {"preserve": true}
    }
  }'

您可以在数据库实例配置请求中设置“保留”选项。 以下示例配置了数据库实例,使其在数据库实例被删除后仍保留备份:

curl -X POST \
  https://resource-controller.cloud.ibm.com/v2/resource_instances \
  -H 'Authorization: Bearer <>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "<DATABASE_INSTANCE_NAME>",
    "target": "<REGION>",
    "resource_group": "<RESOURCE-GROUP>",
    "resource_plan_id": "<DATABASE_SERVICE_PLAN_NAME>",
    "parameters": {
      "dataservices": {
        "backups": {
          "preserve": true
        }
      }
    }
  }'

在用户界面中执行按需备份

如果您计划对实例进行重大更改(例如调整规模或删除数据库、表、集合等),按需备份将非常有用。 如果您需要按计划进行备份,这也会很有帮助。 按需备份将保留30天。

要在用户界面中创建手动备份,请转到实例的 “备份与还原”选项卡,然后点击 “创建备份”。 系统会显示一条提示,说明备份正在进行中,并且该按需备份已被添加到可用备份列表中。

备份配置完成后,您可以查看备份的详细信息,例如备份 CRN、关联的数据库实例及其版本、区域、状态和大小。

使用 CLI 创建独立备份

要使用 IBM Cloud 命令行界面(CLI)创建按需独立备份:

ibmcloud resource service-instance-create \
  <BACKUP_INSTANCE_NAME> \
  <BACKUP_SERVICE_NAME> \
  <BACKUP_SERVICE_PLAN_NAME> \
  <REGION> \
  -g <RESOURCE_GROUP> \
  -p '{
    "dataservices": {
      "source_dataservice_crn": "<DATABASE_INSTANCE_CRN>"
    }
  }'

示例:

ibmcloud resource service-instance-create \
  my-mysql-backup-20260429 \
  databases-independent-backups  \
  databases-independent-backups-gen2-standard \
  us-east \
  -g Default \
  -p '{
    "dataservices": {
      "source_dataservice_crn": "crn:v1:bluemix:public:databases-for-mysql:us-east:a/1234567890:abcd-1234-efgh-5678::"
    }
  }'

配置完成后,您可以在备份实例的 “资源控制器扩展”字段中查看备份详细信息,例如关联的数据库实例及其版本、区域、状态和大小。

以下是该命令的输出示例:

ibmcloud resource service-instance --output JSON crn:v1:staging:public:databases-independent-backups:ca-mon:a/cf8d4161fa0243b9a2a5494cd7ff66b7:4be73b7d-a395-4613-83dd-315a6e573e00:: | jq '.[0].extensions'
{
  "dataservices": {
    "backup": {
      "can_be_deleted_after": "<timestamp after which retention duration expires>",
      "size_gb": <size of the backup in GB>,
      "source_data_service_crn": "<CRN of the database provided at the time of provisioning the backup>",
      "type": "<type of the backup, value is either on_demand or automatic>",
      "version": "major version of the database"
    }
  }
}

使用 API 创建独立备份

要创建一个按需独立备份,请向备份创建端点发送请求:

curl -X POST \
  https://resource-controller.cloud.ibm.com/v2/resource_instances \
  -H 'Authorization: Bearer <>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "<DATABASE_INSTANCE_NAME>",
    "target": "<REGION>",
    "resource_group": "<RESOURCE-GROUP>",
    "resource_plan_id": "<DATABASE_SERVICE_PLAN_NAME>",
    "parameters": {
      "dataservices": {
        "source_dataservice_crn": "<DATABASE_INSTANCE_CRN>"
      }
    }
  }'

示例:

curl -X POST \
  https://resource-controller.cloud.ibm.com/v2/resource_instances \
  -H 'Authorization: Bearer <>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "my-mysql-backup-20260429",
    "target": "us-east",
    "resource_group": "b67d9228670d473097259e2b343de464",
    "resource_plan_id": "databases-independent-backups-gen2-standard",
    "parameters": {
      "dataservices": {
        "source_dataservice_crn": "crn:v1:bluemix:public:databases-for-mysql:us-east:a/1234567890:abcd-1234-efgh-5678::"
      }
    }
  }'

从独立备份中恢复

即使源实例已不存在,独立备份仍可还原到新的数据库实例中,这为灾难恢复和数据保留场景提供了更大的灵活性。

备份将恢复到一个新的实例上。 新实例完成配置后,备份文件中的数据将被恢复到新实例中。

默认情况下,新实例的规格会自动调整为与您用于恢复的备份源实例在备份时相同的默认磁盘大小和主机规格。 要调整分配给新实例的资源,请使用 UI、CLI 或 API 中的可选字段来调整新实例的规格。 请确保为您的数据和工作负载分配足够的资源;如果实例未获得足够的资源,或者备份所占用的存储空间超过默认磁盘大小且未指定磁盘大小,则还原将失败。

在备份恢复过程中,请勿删除该备份。 在删除备份之前,请等待新实例配置完成且备份已恢复。 默认情况下,删除数据库实例也会删除其备份。

您可以立即访问已恢复的数据库实例,但在数据加载完成之前,I/O 性能会有所下降。 在数据加载完成之前,无法在已还原的实例上创建备份。 您可以通过使用平台 Activity Tracker 中的事件来跟踪补水进度。 如需了解更多信息,请访问 at-events。

curl -X POST \
  https://resource-controller.cloud.ibm.com/v2/resource_instances \
  -H 'Authorization: Bearer <>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "<DATABASE_INSTANCE_NAME>",
    "target": "<REGION>",
    "resource_group": "<RESOURCE-GROUP>",
    "resource_plan_id": "<DATABASE_SERVICE_PLAN_NAME>",
    "parameters": {
      "dataservices": {
        "restore_backup_id": "<BACKUP_CRN>"
      }
    }
  }'

示例:

  https://resource-controller.cloud.ibm.com/v2/resource_instances \
  -H 'Authorization: Bearer <>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "mysql-restore-abc",
    "target": "us-east",
    "resource_group": "b67d9228670d473097259e2b343de464",
    "resource_plan_id": "databases-for-mysql-gen2-standard",
    "parameters": {
      "dataservices": {
        "restore_backup_id": "crn:v1:bluemix:public:databases-independent-backups:us-east:a/26b19aex04da4475b6e31205fa93248d:793b4f27-7733-4803-917f-de8e055e2deb::"
      }
    }
  }'

在用户界面中还原备份

要将备份复原到新的服务实例,请执行以下操作:

  1. 单击相应行,展开要还原的备份的选项。
  2. 单击复原。
  3. 在 “配置”页面上,从可用选项中进行选择。
    • 请提供新服务实例的名称。
    • 您可以选择初始资源分配,或者在新实例上扩展资源。 请注意,如果减少资源配额,可能会导致配置失败或数据库无法正常运行。
  4. 点击“还原备份”。 出现一条“已开始从备份恢复”的消息。 点击 “您的新实例现已可用”将带您进入 “资源列表”。

在 CLI 中还原备份

资源控制器支持数据库实例的配置,而配置和恢复操作由资源控制器命令行界面(CLI)负责。 使用 resource service-instance-create 命令。

ibmcloud resource service-instance-create <INSTANCE_NAME> <SERVICE-ID>-gen2-<PLAN NAME> <REGION> -p  '{"dataservices":{"restore_backup_id":"<BACKUP_CRN>"}}'

示例命令:

ibmcloud resource service-instance-create mysql-restore-abc databases-for-mysql databases-for-mysql-gen2-standard us-east -p  '{"dataservices":{"restore_backup_id":"crn:v1:bluemix:public:databases-independent-backups:us-east:a/26b19aex04da4475b6e31205fa93248d:793b4f27-7733-4803-917f-de8e055e2deb::"}}'
  • 将 instance_name 的值更改为您希望为新实例命名的名称。
  • service-id 是实例类型(例如,databases-for-mysql )。
  • region 是您希望新实例所在的位置,该区域可以与源实例所在的区域不同。
  • restore_backup_id 就是您想要还原的备份。

上述命令将把备份恢复到一台与您原始部署具有相同配置且采用相同托管模式的机器上。

CLI 中的可选参数

可通过命令行界面(CLI)使用可选参数。 如果您需要自定义资源、更改托管模式,或者在新实例上使用“自带密钥”( Key Protect )进行加密,请使用这些选项。 请参阅以下示例:

ibmcloud resource service-instance-create <INSTANCE_NAME> <SERVICE-ID> gen2-<PLAN NAME> <REGION> -p
'{"restore_backup_id":"BACKUP_ID","key_protect_key":"KEY_PROTECT_KEY_CRN", "storage_gb":"DESIRED_DISK_IN_GB", "host_flavor": "<VALUE>"}'

host_flavor 应作为尺寸合适的主机。 如需了解更多信息,请参 阅可用值列表。

在实例仪表板的 “备份和还原”选项卡中,该备份的详细视图里提供了针对特定备份的预格式化命令。

默认情况下,从备份恢复时,系统会为实例配置首选版本的数据库类型,而不是您用于恢复的实例的版本。 第二代 Cloud Databases 目前每个数据库仅支持一个版本。 随着时间的推移,将会发布新版本;当新版本推出时,您可以通过从备份中恢复来升级到该版本。

通过 API 还原备份

资源控制器 API 支持数据库实例的配置和恢复。 POST 该创建请求是一个发送到 /resource_instances 该端点。

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":{
      "restore_backup_id": "<BACKUP_ID>"
    }
  }'

参数 name、target、resource_group 和 resource_plan_id 均为必填项,而 restore_backup_id 则是您要还原的备份。

  • 将 name 的值更改为您希望为新实例命名的名称。
  • resource_plan_id 是实例类型(例如,databases-for-mysql )。
  • target 是您希望新实例所在的区域,该区域必须是 Gen 2 区域。
  • restore_backup_id 就是您想要还原的备份。

上述命令将把备份恢复到一台与您原始部署具有相同配置且采用相同托管模式的机器上。

API 中的可选参数

可通过资源控制器 API 访问可选参数。 如果您需要自定义资源、更改主机规格、部署到特定版本,或者在新实例上使用 Key Protect 密钥进行BYOK加密,请使用这些选项。

如果需要调整资源,请在请求正文中添加以下任一可选参数:key_protect_key、storage_gb、host_flavor 或 version,并指定其首选值。

备份加密

独立备份在静止状态下采用与数据库实例相同的加密方式进行加密。 如果您使用 Key Protect 来管理数据库的加密,则备份将使用相同的密钥进行加密。 如需了解更多信息,请参阅 Key Protect 集成。

恢复使用 Key Protect 密钥加密的备份时,您可以使用相同的密钥,也可以使用不同的密钥。 如果您使用的是另一把密钥,则新实例将使用这把新密钥进行加密。

业务连续性与灾难恢复

独立备份是您业务连续性和灾难恢复策略的关键组成部分。 由于它们独立于源数据库实例而存在,因此能够防范以下情况:

  • 意外删除数据库
  • 数据损坏
  • 区域故障(当备份存储在不同区域时)

有关使用 Cloud Databases 实现业务连续性和灾难恢复的全面信息,请参阅:

使用 CLI 删除独立备份

若要在独立备份到期前将其删除,请使用以下命令:

ibmcloud resource service-instance-delete <BACKUP_CRN> --force

示例:

ibmcloud resource service-instance-delete e318275d-f860-4e4e-a63b-271fb4400c26 --force

备份使用增量式的基础设施级卷快照。 因此,删除一个备份可能会导致剩余备份的占用空间增加。

删除备份的操作是永久性的,无法撤销。 删除前,请确保您不再需要这些备份数据。

使用 API 删除独立备份

若要在独立备份到期前将其删除,请使用以下命令:

curl -X DELETE \
  https://resource-controller.cloud.ibm.com/v2/resource_instances/${INDEPENDENT_BACKUP_ID} \
  -H 'Authorization: Bearer <>'

示例:

curl -X DELETE \
  https://resource-controller.cloud.ibm.com/v2/resource_instances/793b4f27-7733-4803-917f-de8e055e2deb \
  -H 'Authorization: Bearer <>'

后续步骤

从耦合备份过渡

从关联备份过渡到独立备份的过程因数据库服务而异:

支持独立备份的数据库

数据库 区域
PostgreSQL au-syd, ca-mon, eu-de, eu-es, in-che, in-mum, us-east, us-south, eu-gb
MongoDB 企业 au-syd, ca-mon, eu-de, eu-es, in-che, in-mum, us-east, us-south, eu-gb
MongoDB 分片 ca-mon, in-che, in-mum, us-east
Elasticsearch ca-mon, in-che, in-mum, eu-gb

| Redis | eu-gb |

表格中列出的数据库正在指定区域内从耦合备份过渡到独立备份。

我们将分阶段为符合条件的数据库和区域启用独立备份功能。

在30天的过渡期内:

  • 关联备份与独立备份并存。
  • 所有新备份均作为独立备份创建。
  • 现有的关联备份将继续运行,并在30天后自动删除。
  • 该用户界面同时显示这两种备份类型。
  • 无需执行任何操作。 该转换将自动完成。
  • 30天过渡期结束后,仅保留独立备份。

MySQL

Databases for MySQL 自正式发布起,仅支持独立备份。 MySQL 的部署不涉及关联备份,也没有过渡期。

独立备份的计费

独立备份将作为单独的服务实例进行计费:

  • 免费配额:您将获得与数据库部署的总预配磁盘大小等值的免费备份存储空间。
  • 超额费用:超出免费配额的使用量将另行收费。
  • 账单透明度:备份费用会在您的账单中作为单独的项目列出。

有关详细的定价信息,请参阅 “定价”部分。

安全性和合规性

独立备份遵循与您的数据库实例相同的安全标准:

  • 静态加密:所有备份均使用 IBM 管理的密钥或您通过 Key Protect 提供的自有密钥进行加密。
  • 传输过程中的加密:在备份创建和恢复操作期间,数据会进行加密。
  • 访问控制:IAM 策略用于控制谁可以创建、查看和还原备份。 如需了解更多信息,请参阅 “独立备份的 IAM 权限”。

限制和约束

请注意以下限制:

  • 不支持批量操作(批量复制、批量删除)。
  • 无法下载独立备份;请使用数据库专用的工具(例如 mysqldump )进行本地备份。
  • 备份保留时长目前尚不可配置(默认值为30天)。
  • 每个数据库实例最多可创建 50 个按需备份。
  • MySQL 不支持按需备份。