IBM Cloud Docs
配置备份

配置备份

备份的先决条件

版本控制功能

必须启用版本控制,才能用 BackupPolicy 对桶进行配置。 有关如何配置版本控制的更多信息,请参阅版本控制 对象

授权备份

您需要在源数据桶和目标之间创建 Service2Service 授权策略。

cloud-object-storage.backup-vault.sync 操作需要获得 BackupVault 的许可。 它是通过使用服务对服务策略授予的,即使备份桶和备份库在同一个账户或 serviceInstance 中,也必须进行配置。

有关配置服务到服务权限的更多详细信息,请参阅 《开始使用 IAMIdentity and Access Management 操作》

为水桶添加备份策略

备份的配置方式是将 BackupPolicy 添加到备份桶中。 在任何时间点,水桶最多可以有三个 BackupPolicies,每个 BackupPolicy 针对一个独特的 BackupVault。 一旦水桶上设置了 BackupPolicy,就必须先删除该策略,然后才能删除水桶。

创建备份策略

BackupPolicy 的创建是通过 POST /v1/buckets/{bucket_name}/backup_policies 请求完成的。 该请求要求具体说明以下内容:

元素 描述
policy_name BackupPolicy 的名称,用于跟踪 BackupPolicy 和由此产生的 RecoveryRange。
target_backup_vault_crn 应将备份数据写入的 BackupVault 的 CRN。BackupVaults 可以位于相同或不同的账户或 IBM Cloud Object Storage 区域内。
backup_type BackupPolicy。 目前只支持连续备份
initial_retention 在新创建的 RecoveryRange 上设置的初始保留配置。 创建保留配置后,可直接在 RecoveryRange 上进行控制,与使用 initial_retention 配置的初始设置无关。

BackupPolicy 配置到一个数据桶时,IBM Cloud Object Storage 就会启动一个一次性的过程,将当前所有对象版本从数据桶同步到 BackupVault。 在此过程完成之前,BackupVault 上是看不到 RecoveryRange 的。 由于要同步的对象数量可能很大,因此这一初始化操作可能需要几个小时才能完成。

初始化完成后,写入数据桶的任何新数据都会同步到 RecoveryRange,从而将时间范围向前扩展。 当 BackupPolicy 存在且同步操作成功时,就会出现这种情况。 同步操作的设计具有很强的弹性,在持续失败的同步操作触发 BackupPolicy 故障之前,会重试数天,之后将不再尝试同步操作。 用户必须监控同步操作是否出现故障,以帮助确保 BackupPolicy 不会进入故障状态。

您需要监控同步成功的备份策略

更新备份策略

备份策略一旦创建就不能修改。 对政策的任何更改都必须通过删除和重新创建政策来实现。 这触发了新恢复范围的创建。

删除或禁用备份策略

删除备份策略不会导致删除通过该备份策略创建的任何备份数据。

Monitoring

IBM Cloud Object Storage 用户可通过两种机制监控。BackupPolicies

监控备份策略

首选的方法是反省 BackupPolicy 的状况。 BackupPolicy 提供了与邮筒内容相关的更多详细信息。

示例请求

GET /buckets/myBucket/backup_policies HTTP/1.1
Authorization: Bearer {token}
Content-Type: application/json
Host: config.cloud-object-storage.cloud.ibm.com

示例响应

{
  "policy_name": "myBackupPolicy",
  "initial_retention": {
    "delete_after_days": 10
  },
  "backup_type": "continuous",
  "policy_id": "44d3dd41-d616-4d25-911a-9ef7fbf28aef",
  "policy_status": "pending",
  "target_backup_vault_crn": "crn:v1:bluemix:public:cloud-object-storage:global:a1229395:1a0ec336-f391-4091-a6fb-5e084a4c56f4:backup-vault:backup-vault-name"
}
状态指示器 描述
暂挂 已收到政策,并已开始对政策进行预处理。
初始化 正在对已有的对象版本进行初始同步。 在此状态下,响应包含一个 initial_sync_progress 条目,报告初始同步的完成百分比。
活动 策略已完成初始化,运行正常。
已降级 同步操作因服务器内部错误而失败,且无法通过任何用户操作进行修复。 如果这种状态持续存在,请联系支持部门。
需要采取的行动 同步操作因错误而失败,用户必须进行补救。 在此状态下,响应包含一个 error_cause 条目,报告出错原因。
失败 据观察,同步操作始终会失败,而且 IBM Cloud Object Storage 系统不会再重新尝试。 这是一种终端状态,表示 BackupPolicy 不再向 BackupVault 同步新数据。 要从这种状态恢复,用户必须删除 BackupPolicy 并重新创建。

什么是同步

以下内容同步到 BackupVault

  • 在设置 BackupPolicy
  • 在设置了 BackupPolicy
  • 在设置了 BackupPolicy
  • 在对象版本上设置对象标记

以下内容未同步到 BackupVault

  • 桶配置(如加密、活动跟踪、权限等)
  • 对象锁定、存档和对象-ACL 状态
  • 生命周期政策触发的删除操作
  • 版本删除操作(即删除特定版本)
  • 使用 S3 复制时写入的对象
  • 使用备份还原操作时写入的对象
  • 同步时直接写入存档或存档的对象
  • 使用 SSE-C 时加密的对象

版本删除互动

在启用版本管理后,S3 对象的 DELETE 操作是非破坏性操作,它会创建一个删除标记,成为对象当前的新版本。 之前的当前版本会变成保留在版本历史中的非当前版本。 备份支持删除标记的创建。

版本删除操作是一种 S3 对象 DELETE 操作,其中指定了 versionId。 这是一种破坏性操作,会从版本控制历史中删除对象版本。 备份为这些行动提供了有限的支持。

如果版本删除发生在尚未同步到 BackupVault, 的版本上,则 BackupPolicy 无法为对象创建后的任何时间点提供备份覆盖。 它会导致 BackupPolicy 失效。 要从这种情况下恢复,用户必须删除 BackupPolicy 并重新创建。

当前版本(即给定对象存在的最新版本)的版本删除操作不会同步到 BackupVault,执行此操作后的任何时间点的还原操作都不会反映 version-delete 操作的结果。

对非当前版本(即版本历史中保留的版本)的版本删除操作可在已同步到 BackupVault 的版本上执行。 此类操作可在版本写入后等待足够的时间后进行。 通常不超过 1 小时,但如果 BackupPolicy 出现同步延迟(如 IAM 配置错误导致的延迟),时间可能会更长。 这些操作可以直接执行,也可以在使用 S3 生命周期过期策略时执行,该策略会在非当前版本超过一定天数后将其删除。

Object Storage 建议用户应通过自定义 IAM 角色授权访问源数据库,该角色不包括 或 操作,因为这些操作允许进行潜在有害的版本删除操作。cloud-object-storage.object.delete_version cloud-object-storage.bucketput_lifecycle