备份水桶
IBM Cloud® Object Storage 备份功能使用户能够为 存储桶创建时间点一致的备份,这些备份不会受到攻击、意外删除或修改的影响。IBM Cloud Object Storage 这是一种策略驱动型服务,允许跨账户和跨区域备份 IBM Cloud Object Storage 存储桶。
IBM Cloud Object Storage Backup 的核心是一个新的用户管理 IBM Cloud Object Storage 资源,称为 BackupVault。 备份库以安全、不可修改的方式存储备份数据,提供高度的数据完整性。 备份库在 IBM Cloud Object Storage 实例中与存储桶一起配置,但其管理和行为方式与存储桶不同。
备份通过在 IBM Cloud Object Storage 桶上设置 BackupPolicy 生成,该桶将 BackupVault 作为备份存储目标。 设置该策略后,IBM Cloud Object Storage 将立即开始将现有数据从数据桶同步到 BackupVault。 写入数据桶的任何新数据都将持续同步到 BackupVault。 只要策略存在并处于活动状态,数据同步就会发生。
这种连续备份方法允许用户从任何时间点恢复对象。 IBM 对象同步到备份的目标时间最长为一小时,即恢复点目标(RPO)为一小时或更短。
当 BackupPolicy 进入活动状态时,会在目标 BackupVault 中创建结果 RecoveryRange。 初始创建 RecoveryRange 时,需要将源数据桶上的所有现有数据同步到 BackupVault。 创建 RecoveryRange 所需的时间取决于源数据桶中存储的数据量。在初始化过程中,IBM Cloud
Object Storage 会报告 BackupPolicy 的状态和进度百分比。 请注意,生成的 RecoveryRange 在完全初始化后才会显示。
BackupVault 中的备份数据表示为恢复范围列表。 每个 RecoveryRange 都定义了一个时间范围,在这个时间范围内,特定 IBM Cloud Object Storage 桶存在时间点一致的备份覆盖。 该时间范围以开始和结束时间的形式报告,并随着新数据的备份和旧数据的过期而不断更新。 当源数据桶的备份策略将新数据同步到 RecoveryRange 时,结束时间就会向前移动。 当恢复范围的保留配置导致旧数据被删除时,开始时间就会向前移动。
创建后,RecoveryRange's 的生命周期完全由其保留配置和 BackupPolicy 的状态决定。只有当 BackupPolicy 被移除,且 RecoveryRange 上的保留配置已删除所有数据,导致开始时间等于结束时间时,才会完全删除 RecoveryRange。
恢复范围内的数据可通过还原操作写入 IBM Cloud Object Storage 数据桶。 执行还原时,必须指定要还原到的时间点,且该时间点必须位于为恢复范围报告的开始和结束时间之间。 该操作会触发 IBM Cloud Object Storage,将数据从 BackupVault 写入目标存储桶。
还原操作完成所需的时间取决于必须从 BackupVault 传输到目标存储桶的数据量。在还原操作过程中,IBM Cloud Object Storage 会报告还原操作的状态和进度百分比。
还原的对象是源数据桶在请求还原时间点上的当前对象版本。 只恢复时间点的当前版本。 不恢复非当前版本。
| 术语 | 描述 |
|---|---|
BackupVault |
一个新的 IBM Cloud Object Storage 资源,用于存储以 RecoveryRanges 表示的备份数据。 |
| 源存储区 | 需要备份的 IBM Cloud Object Storage 桶。 |
BackupPolicy |
在源数据桶上设置一个策略,该策略会触发在目的地 BackupVault 上创建一个新的 RecoveryRange。 |
RecoveryRange |
源桶存在备份覆盖的时间范围。 随着新数据被写入 BackupVault,这一范围也随之向前延伸。 |
| 复原 | 由用户发起的操作,通过该操作可将 RecoveryRange 中的时间点写入目标目标桶。 |
| 目标存储区 | IBM Cloud Object Storage 从还原操作中接收恢复数据的存储桶。 |
恢复范围
定期备份解决方案对给定时间点的数据进行单个“快照”,而 IBM Cloud Object Storage 则对一个时间范围内的数据桶进行备份,使用户能够恢复到 RecoveryRange 中包含的任何特定时间点。 这种粒度更细的方法为用户提供了更大的灵活性,并能实现更低的恢复点目标,而不受扫描数据桶自上次备份以来的变化所需的时间限制。
RecoveryRanges BackupVault BackupPolicy BackupVault IBM Cloud Object Storage 只要相关 启用并处于活动状态,就会接收新数据。BackupPolicy RecoveryRanges 有关创建和监控 BackupPolicy 的详细信息,请参阅
配置备份。
用户可以使用以下命令列出 BackupVault 中的 RecoveryRanges:
示例请求
GET /backup_vaults/myBackupVault/recovery_ranges HTTP/1.1
Authorization: Bearer {token}
Content-Type: application/json
Host: config.cloud-object-storage.cloud.ibm.com
示例响应
{
"next": {
"token": "SWYwNTZMflFmZUgheGNcNHMuIm9OMTFz",
"href": "config.cloud-object-storage.cloud.ibm.com/v1/backup_vaults/mybackupvault/recovery_ranges?token=1znNRhmyheG-pm6mlMKFsoxcKXFnW1hgBb2_6ZReqHduL3rivfeBWHeyL-OaJvtfVZjKrgRVmODtOdVeQEXkKCxDWpA5hRWuv9WgTPR2eLIN9fbEaTxqdNO4dp0sQeHh4HO-13nTgRV_1QGiR1QFzREHX3wzquLn9o_1DZZAEP-vAY2V8d6BCA1z2krhpMfswKJ8r6UynUc0W5JHSH4auwJ6jC-h8sc8NEcQpHUx2Ep4oxebmtJMaycQSjLA3J2fdcYuysKq3YIcszDnPte0zwr25x5_GmBrxlgd2oesjfyTaLHfIg1g4TD0uH9m9aEAv"
},
"recovery_ranges": [
{
"recovery_range_id": "44d3dd41-d616-4d25-911a-9ef7fbf28aef",
"source_resource_crn": "crn:v1:bluemix:public:cloud-object-storage:global:a1229395:8dfbcba4e6a740e3866020847e525436:bucket:sourcebucket",
"backup_policy_name": "myBackupPolicy",
"range_start_time": "2024-06-02T12:00:00.000Z",
"range_end_time": "2024-06-03T12:00:00.000Z",
"range_create_time": "2024-06-02T12:00:00.000Z",
"retention": {
"delete_after_days": 100
}
},
{
"recovery_range_id": "6ff0d31c-7583-4463-8ae5-208752f5769c",
"source_resource_crn": "crn:v1:bluemix:public:cloud-object-storage:global:a1229395:8dfbcba4e6a740e3866020847e525436:bucket:sourcebucket",
"backup_policy_name": "myBackupPolicy",
"range_start_time": "2024-06-04T12:00:00.000Z",
"range_end_time": "2024-06-05T12:00:00.000Z",
"range_create_time": "2024-06-04T12:00:00.000Z",
"retention": {
"delete_after_days": 100
}
}
]
}
RecoveryRange 保留
RecoveryRanges 有一个强制保留配置,该配置通过 进行初始设置,之后可在 上进行更新。BackupPolicy BackupVault 保留配置由 DeleteAfterDays 值组成,该值控制保留备份范围的天数。 这实际上限制了 RecoveryRange 的 startTime 可以延伸到过去的天数。 超过 RecoveryRanges 开始时间的数据将在后台删除。 完全删除 RecoveryRange 时,相关的 BackupPolicy 会被删除,RecoveryRange 中的所有数据也会通过其保留配置被删除。
示例请求
GET /backup_vaults/myBackupVault/recovery_ranges/44d3dd41-d616-4d25-911a-9ef7fbf28aef HTTP/1.1
Authorization: Bearer {token}
Content-Type: application/json
Host: config.cloud-object-storage.cloud.ibm.com
示例响应
{
"recovery_range_id": "6ff0d31c-7583-4463-8ae5-208752f5769c",
"source_resource_crn": "crn:v1:bluemix:public:cloud-object-storage:global:a1229395:8dfbcba4e6a740e3866020847e525436:bucket:sourcebucket",
"backup_policy_name": "myBackupPolicy",
"range_start_time": "2024-06-04T12:00:00.000Z",
"range_end_time": "2024-06-05T12:00:00.000Z",
"range_create_time": "2024-06-04T12:00:00.000Z",
"retention": {
"delete_after_days": 100
}
}
访问控制
BackupVault 中的操作与 IBM Cloud Object Storage 中其他资源的控制方式相同。
有关 IAM 如何与 IBM Cloud Object Storage 协同工作的一般详情,请参阅 IAM 入门、IAM 概述 和
服务证书。 BackupVaults 上的 IAM 操作不同于 IBM Cloud Object Storage 桶上的 IAM 操作。 BackupVaults 的具体操作包含在 BackupReader 和 BackupManager 角色中。
授予备份权限
要让源数据桶上的 BackupPolicy 将备份数据写入 BackupVault,源数据桶必须拥有在 BackupVault 上执行 cloud-object-storage.backup-vault.sync 操作的权限。 具体做法是,授予源桶的服务实例针对 BackupVaults 服务实例执行此操作的权限。 该操作包含在管理器、备份管理器和备份阅读器角色中。
BackupPolicy 必须始终有此权限才能正常运行。 如果该权限被取消,BackupPolicy 就会报错。
授予还原权限
要使还原操作能将对象写入目标存储桶,BackupVault 必须拥有在目标存储桶上执行 cloud-object-storage.bucket.restore_sync 操作的权限。 具体做法是授予源 BackupVault 的服务实例针对目标数据桶的服务实例执行此操作的权限。 该权限包含在管理员和作家角色中。