管理Cloud Databases备份
每天都会按计划自动备份数据库。 您还可以按需备份。 备份使用自动密钥加密,如果使用自带密钥 (BYOK),则使用自己的密钥加密。 您可以将备份恢复到Cloud Databases 的新实例。
要访问Cloud Databases 的备份,请转到数据库实例的控制面板,查看“备份和还原”选项卡。
下面是一些有关备份的其他一般信息:
- 每天进行自动备份,并以 30 天为一个简单的保留时间表。
- 备份无法删除。
- 如果删除实例,其备份也会自动删除。
- 无法配置每日备份计划。
- 备份可还原到其他区域,但
eu-de
、eu-es
和par-01
除外,它们只能在彼此间还原备份。 例如,par-01
备份可恢复到eu-de
和eu-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 中的可选字段来调整新实例的大小。 确保为数据和工作负载分配足够的资源;如果没有为实例分配足够的资源,还原就会失败。
恢复备份时,请勿删除源实例。 删除旧实例之前,请等待新实例完成配置并恢复备份。 删除实例也会删除其备份。
在用户界面中恢复备份
要将备份恢复到新的服务实例、
- 单击相应行,展开要还原的备份的选项。
- 单击复原。
- 在 “供应”页面,从一些可用选项中进行选择。
- 新实例自动命名为
<name>-restore-[timestamp]
,但您也可以重新命名。 - 您还可以选择新实例所在的区域。 Cross-region restores are supported, except for restoring into or out of the
eu-de
region. - 您可以选择初始资源分配,扩大或缩小新实例的资源。 您还可以启用或禁用专用内核。 请注意,如果减少资源量,可能会导致供应失败或数据库无法正常运行。
- 新实例自动命名为
- 单击恢复备份。 出现“开始从备份恢复”信息。 单击“您的新实例现在可用”可进入“资源列表”。
在 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 fromeu-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>"
}
}'
参数 name
、target
、resource_group
和 resource_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 theeu-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 将备份从旧版本恢复到新版本。
代码如下
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-in 和 Cloud 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)功能:
备份常见问题
有关备份的常见问题,请参阅 备份常见问题。