跨集群复制
操作场景
跨集群复制能够为用户提供跨AZ数据容灾的能力,满足用户数据复制到同一区域下不同AZ进行备份的需求。
每个OBS桶都有其所属的区域、可用区(AZ)和集群。当需要对桶进行AZ间容灾时,可以使用跨集群复制功能,将一个桶(源桶)的数据复制到另一个AZ的集群下的另一个桶(目标桶)。当其中一个AZ故障时,另一个AZ中的数据仍能够正常使用,保证业务不中断。
在配置跨集群复制规则时,您可以按前缀匹配请求复制部分对象,也可以请求复制桶中的所有对象。复制到目标桶的对象是源桶中对象的精确副本。它们具有相同的对象名称和元数据,包括:对象内容、大小、最后修改时间、创建者、版本号、用户定义的元数据以及ACL。
复制的内容
启用跨集群复制规则后,符合以下条件的对象会复制到目标桶中:
- 新上传的对象。
- 有更新的对象,比如对象内容有更新或者已复制成功的对象ACL有更新。
- 桶中的历史对象(需要开启“同步历史对象”功能)。
约束与限制
- 启用跨集群复制功能之前上传的对象,默认不会被复制到目标桶。
- 源桶和目标桶必须属于同一区域的不同可用区。
- 源桶和目标桶的多版本控制状态必须保持一致。
- 源桶中的对象只能被复制到一个目标桶中,且复制过去的对象不能再被复制到另外一个目标桶。例如有两个不同可用区的桶A和桶B,桶A数据可以复制到桶B中,桶B数据也可以复制到桶A中,但桶B中存储的桶A数据的副本不会复制,同理桶A中存储的桶B数据的副本也不会复制。
- 当且仅当源桶、目标桶多版本控制状态开启,在源桶中不指定版本删除对象时,目标桶会同步删除此对象;除此之外,删除源桶对象时,目标桶默认不会同步删除操作。
- 在启用跨集群复制过程中,如果您修改目标桶的多版本控制状态,会导致对象复制失败;如果您尝试修改源桶多版本控制状态,必须先删除复制配置,然后才能进行修改。
- 源桶或目标桶都需要一直保证桶拥有者具有读写权限,以确保数据能够成功同步。如果源桶或目标桶的读写权限错误,导致系统没有读源对象或者写目标对象的权限,这种对象将一直复制不成功,即使将权限修改正确后,也不会重新复制。
- 如果源桶拥有者与对象拥有者不同,则对象拥有者必须通过对象ACL向源桶拥有者授予对象读取和ACL读取权限;如果目标桶拥有者与源桶拥有者不同,需要目标桶拥有者通过桶策略向源桶拥有者授予ReplicateObject和ReplicateDelete权限。
- 同一个源桶只能创建一条复制所有对象的跨集群复制规则,或多条(最多100条)按前缀匹配的跨集群复制规则。
- OBS目前仅支持一个源桶同时复制到一个目标桶,不支持一个源桶同时复制到多个目标桶。允许修改目标桶,但修改目标桶会更改所有已创建规则的目标桶。
- 在启用跨集群复制过程中,如果您删掉OBS云服务委托,会导致对象复制状态为FAILED。
- 不建议您对目标桶中的副本对象进行删除、覆盖或者修改ACL操作,此类操作可能导致目标桶中对象最新版本或者对象访问控制权限与源桶不一致。
- 如果已经设置过桶的跨集群或跨区域复制配置,再次设置将会覆盖已有的复制策略。
操作步骤
- 在左侧导航栏,单击“跨集群复制”。
- 单击“创建规则”,系统将弹出“创建跨集群复制规则”对话框。
- 根据业务规划配置跨集群复制规则,参数的详细说明如表1所示。
表1 跨集群复制规则参数 参数
说明
状态
选择启用或者禁用当前规则。源桶和目标桶的多版本控制状态必须保持一致。
源桶
复制对象
在源桶中选择要复制的对象。
- 所有对象:复制所有对象到目标桶。
- 按前缀匹配:复制具有相同前缀的对象到目标桶。
前缀
- 按前缀匹配对象时,输入的对象名前缀不能为空,长度限制为1023个字节。
- 当按前缀配置时,如果指定的前缀名与某条已配置的规则指定的前缀名存在包含或被包含关系,OBS会将两条规则视为同一条,而禁止您配置本条规则。例如,系统中已存在指定前缀名为“abc”的规则,则不允许再配置指定前缀以“ab”或“abcd”字段开头的规则。
- 如果要复制文件夹,对象名前缀需要使用/作为最后一个字符(例如,imgs/)。
同步历史对象
选择是否将创建本规则前已经存在于桶中的对象同步复制到目标桶,默认不同步。
跨集群复制规则配置完成后需要等待15分钟,才会开始启动历史对象复制任务。
后台管理员开启同步历史对象功能时,该选项才可见。
目标桶
桶
选择复制到的目标桶,目标桶需要与源桶处于不同集群。
当一个源桶配置多条跨集群复制规则时,不同规则指定的目标桶必须保持一致。如果修改其中一条规则的目标桶,将改变所有规则的目标桶。
权限
IAM委托
将您资源的操作权限委托给OBS,OBS使用此委托执行对象的跨集群复制。
如果还未创建委托,请先参考创建用于跨区域或跨集群复制的委托进行创建。如果已经创建,可以从下拉列表中选择。
说明:委托要求:
此IAM委托必须为“对象存储服务 OBS”的云服务委托,且需要具有OBS管理员权限(即OBS所有权限)。
- 单击“确定”,完成跨集群复制规则创建。