数据复制概述
使用场景
在数据存储过程中,如果出现故障,会严重影响业务,因此灾备能力对数据存储至关重要。可以使用数据复制来满足灾备要求,数据复制能够满足您将数据复制到其他桶(同区域桶或异地区域桶)进行备份的需求,为您提供数据容灾的能力。
数据复制分为:同账号跨区域复制、跨账号跨区域复制、同账号同区域复制、跨账号同区域复制。

以下数据复制的源桶和目标桶均为华为云OBS桶。
- 同账号跨区域复制:将账号A下区域A的桶A中的数据复制到账号A下区域B的桶B中。详情请参见同账号跨区域桶之间数据复制。
- 跨账号跨区域复制:将账号A下区域A的桶A中的数据复制到账号B下区域B的桶B中。详情请参见跨账号跨区域桶之间数据复制。
- 同账号同区域复制:将账号A下区域A的桶A中的数据复制到账号A下区域A的桶B中。详情请参见同账号同区域桶之间数据复制。
- 跨账号同区域复制:将账号A下区域A的桶A中的数据复制到账号B下区域A的桶B中。详情请参见跨账号同区域桶之间数据复制。
复制的内容
桶数据的复制往往伴随多版本控制、生命周期、服务端加密、WORM保留策略等功能的使用,以下介绍结合各功能使用时,哪些数据会被复制,哪些数据不会被复制。
数据复制结合多版本控制使用时,存在如下复制情况:
条件 |
执行的操作 |
复制结果 (使用OBS控制台) |
复制结果 (使用OBS API) |
复制结果 (使用OBS obsutil) |
---|---|---|---|---|
源桶和目标桶的多版本控制状态(未启用/开启/暂停)一致 |
- |
会复制 |
会复制 |
会复制 |
源桶和目标桶的多版本控制状态(未启用/开启/暂停)不一致 |
- |
不会复制 |
不会复制 |
不会复制 |
启用同账号跨区域复制后 |
修改源桶或目标桶的多版本控制状态 |
不会复制 |
不会复制 |
不会复制 |
源桶和目标桶多版本控制处于开启或暂停状态,且同账号跨区域复制规则处于开启状态 |
在源桶中不指定版本删除对象 |
同步删除此对象 |
||
在源桶中指定版本删除对象 |
同步删除此版本对象 |
|||
源桶和目标桶多版本控制处于未启用状态,且同账号跨区域复制规则处于开启状态 |
在源桶中删除对象 |
同步删除此对象 |

源桶和目标桶的多版本控制状态必须保持一致,即同时开启或关闭多版本控制,否则无法使用同账号跨区域复制。
条件 |
执行的操作 |
复制结果 (使用OMS控制台) |
复制结果 (使用OMS API) |
复制结果 (使用OBS obsutil) |
---|---|---|---|---|
源桶和目标桶的多版本控制状态(未启用/开启/暂停)一致 |
新上传/修改对象 |
会复制 |
会复制 |
会复制 |
源桶和目标桶的多版本控制状态(未启用/开启/暂停)不一致 |
新上传/修改对象 |
会复制 |
会复制 |
不会复制 |
源桶和目标桶多版本控制处于开启或暂停状态 |
在源桶中不指定版本删除对象 |
目标桶中不会删除此对象。 |
||
在源桶中指定版本删除对象 |
目标桶中不会删除此对象。 |
|||
源桶和目标桶多版本控制处于未启用状态 |
在源桶中删除对象 |
目标桶中不会删除此对象。 |
目标桶中不会删除此对象。 |
同步删除此对象。 |
条件 |
执行的操作 |
复制结果 (使用OMS控制台) |
复制结果 (使用OMS API) |
复制结果 (使用OBS API) |
复制结果 (使用OBS SDK) |
复制结果 (使用OBS obsutil) |
---|---|---|---|---|---|---|
源桶和目标桶的多版本控制状态(未启用/开启/暂停)一致 |
新上传/修改对象 |
会复制 |
会复制 |
会复制 |
会复制 |
会复制 |
源桶和目标桶的多版本控制状态(未启用/开启/暂停)不一致 |
新上传/修改对象 |
会复制 |
会复制 |
不会复制 |
不会复制 |
不会复制 |
源桶和目标桶多版本控制处于开启或暂停状态 |
在源桶中不指定版本删除对象 |
目标桶中不会删除此对象。 |
目标桶中不会删除此对象。 |
同步删除此对象 |
同步删除此对象 |
同步删除此对象 |
在源桶中指定版本删除对象 |
目标桶中不会删除此对象。 |
目标桶中不会删除此对象。 |
同步删除此版本对象 |
同步删除此版本对象 |
同步删除此版本对象 |
|
源桶和目标桶多版本控制处于未启用状态 |
在源桶中删除对象 |
目标桶中不会删除此对象。 |
目标桶中不会删除此对象。 |
同步删除此对象 |
同步删除此对象 |
同步删除此对象 |
数据复制结合生命周期使用时,存在如下复制情况:
- 如果源桶配置了生命周期过期删除规则,那么目标桶不会同步复制生命周期规则,源桶通过生命周期规则删除的对象,在目标桶中也不会同步删除。
- 如果源桶配置了生命周期规则(不包含过期删除),那么目标桶不会同步复制生命周期规则,只会将规则作用的结果同步至目标桶。
数据复制结合服务端加密使用时,存在如下复制情况:
- 当源桶中对象未加密,目标桶也未配置加密时,那么复制到目标桶的对象副本也未加密。
- 当源桶中对象未加密,目标桶使用SSE-OBS加密模式时,那么复制到目标桶的对象副本也使用SSE-OBS加密。
- 当源桶中对象未加密,目标桶使用SSE-KMS加密模式并使用默认密钥/自定义密钥时,那么复制到目标桶的对象副本加密方式与目标桶相同。
- 当源桶中的对象使用SSE-OBS加密模式时,对象副本的加密方式与源桶对象相同,与目标桶是否配置加密无关。
- 当源桶中的对象使用SSE-KMS加密模式并使用默认密钥/自定义密钥,对象副本的加密方式与源桶对象相同,与目标桶是否配置加密无关。
- 当源桶中的对象使用SSE-C加密模式时,使用OBS控制台、OBS API不会复制SSE-C加密对象;使用OBS SDK、OBS obsutil、OMS控制台、OMS API会复制SSE-C加密对象。
当桶配置了WORM保留策略,且未到保留期时,可以向桶中上传对象或读取对象,但无法修改(覆写)或删除对象。关于WORM保留策略详情请参见配置对象锁定(WORM)防止对象被更改或删除。
数据复制结合WORM保留策略使用时,存在如下复制情况:
- 当源桶处于WORM保留期(源桶中对象必定处于保留期)时,目标桶是否处于WORM保留期不影响复制操作,新增对象会被复制到目标桶,但不会复制源桶的WORM保留策略。
- 当源桶没有处于WORM保留期时:
- 源桶中的对象处于WORM保留期,目标桶是否处于WORM保留期不影响复制操作,新增对象会被复制到目标桶,但不会复制源对象的WORM保留策略。
- 源桶中的对象没有处于WORM保留期,目标桶处于WORM保留期时,新增对象会被复制到目标桶,但修改或删除的对象不会同步至目标桶中。
- 源桶中的对象没有处于WORM保留期,目标桶也没有处于WORM保留期时,新增/修改对象会被复制到目标桶,删除的对象是否会同步在目标桶中删除依赖于使用数据复制的方式(使用OBS的控制台、API、SDK、obsutil会在目标桶同步删除对象,使用OMS的控制台和API不会在目标桶同步删除对象)。
- 目标桶对象副本的创建时间为源桶中对象的创建时间,而不是复制到目标桶中的时间。
- 数据复制结合存储类别使用,存在如下复制情况:
- 源桶中归档存储或深度归档存储类型的对象,处于已恢复状态时,才会成功复制到目标桶;源对象未恢复或正在恢复时,会复制失败。
- 如果目标桶所属区域不支持设置存储类别或不支持某种存储类别,则复制后对象的存储类别均为标准存储类别。
- 数据复制结合对象ACL使用,存在如下复制情况:
- 当源桶对象配置了ACL,使用OBS控制台、OBS API、OBS SDK、OBS obsutil会复制对象和对象ACL;使用OMS控制台、OMS API会复制对象,但不会复制对象ACL。
- 当源桶对象没有配置ACL,无论使用哪种方式均会复制对象。
数据复制费用说明
- 使用OMS的控制台和API进行数据迁移时,会调用源端和目的端的对象存储服务的API进行数据的上传、下载,所以会产生一定的API请求及下载流量费用,详情请参见OMS计费说明。同时,对象存储至目标桶,还会产生存储费用,详情请参见存储费用。
- 使用OBS的控制台、API、obsutil进行跨区域数据复制时,会产生请求费用、流量费用、存储费用,如表4。
表4 跨区域复制数据说明 操作名称
产生费用类别
费用说明
付费方式
跨区域复制数据
请求费用
按复制成功的对象数计算请求次数,产生请求费用。复制对象过程中调用的请求,请参考复制对象说明。
- 对于非多段对象,成功复制一个对象,会产生源桶的一个GET请求和目标桶的一个PUT请求;在源桶删除一个对象,会产生目标桶的一个DELETE请求。
- 多段对象的每个分段,均会产生源端的GET请求和目标端的PUT请求。
如何计算请求费用等详细说明,请参见请求费用说明。
按需计费
流量费用
使用跨区域复制功能将源桶数据复制到另一个区域的目标桶时所产生的跨区域复制流量,只收取数据流出源桶的单向流量费用。
如果对象经过了服务端加密,计算跨区域复制流量费用时,SSE-KMS和SSE-OBS按照明文长度计算。
按需计费
存储费用
跨区域复制目标桶的存储费用,即除了为源桶数据支付存储费用,由于目标桶经过复制会后也存储了数据,您还需支持目标桶数据的存储费用。
如果您修改了复制对象的存储类别,复制到目标桶的数据按新的存储类型计算存储费用。
如果对象经过了服务端加密,计算存储费用时,按照密文长度计算。
按需计费
资源包(各存储类别对应的存储包)
同步历史对象
请求费用
启用同步历史对象功能,系统会将创建跨区域复制规则前已经存在于桶中的对象同步复制到目标桶。
请求费用按系统自动同步时复制成功的对象数计算请求次数,产生请求费用,且对于历史对象的列举,产生相应的列举费用。
按需计费
流量费用
系统跨区域同步对象时,所产生的跨区域复制流量,只收取数据流出源桶的单向流量费用。
如果历史对象经过了服务端加密,计算跨区域复制流量费用时,SSE-KMS和SSE-OBS按照明文长度计算。
按需计费
存储费用
跨区域复制目标桶的存储费用,即除了为源桶数据支付存储费用,由于目标桶经过复制会后也存储了数据,您还需支持目标桶数据的存储费用。
如果您修改了复制对象的存储类别,复制到目标桶的数据按新的存储类型计算存储费用。
如果历史对象经过了服务端加密,计算存储费用时,按照密文长度计算。
按需计费
资源包(各存储类别对应的存储包)
- 使用OBS的API、SDK、Browser+、obsutil进行同区域数据复制时,会产生请求费用、存储费用,如表5。