文档首页/ 对象存储服务 OBS/ 用户指南/ 数据管理/ 数据复制/ 跨账号跨区域桶之间数据复制
更新时间:2025-08-26 GMT+08:00
分享

跨账号跨区域桶之间数据复制

使用场景

跨账号跨区域复制是指将某个账号某个区域下的源桶中的数据复制到其他账号其他区域下的目标桶中。

支持复制的对象范围:可以选择文件/文件夹、对象列表、指定对象前缀、指定URL列表来复制对象。

支持复制的对象内容:对象名称、元数据(对象内容、大小、最后修改时间、创建者、版本号、用户定义的元数据)、ACL(obsutil支持)、存储类别。

图1 跨账号跨区域复制

跨账号跨区域复制主要适用于以下场景:

  • 合规性要求

    OBS默认跨多个地理位置较远的可用区存储数据,但由于合规性要求所规定的数据存储距离可能更远,此时通过跨区域复制,可以在远距离OBS区域之间复制数据以满足这些合规性要求。

  • 最大限度减少延迟

    客户需要在多地访问相同的OBS资源。为了最大限度缩短访问对象时的延迟,您可以使用跨区域复制,在离客户较近的区域中创建对象副本。

  • 数据复制

    由于业务原因,您需要将OBS数据从一个区域的数据中心迁移至另一个区域的数据中心。

  • 数据备份与容灾

    出于对数据安全性以及可用性的考虑,您希望对所有写入OBS的数据,都在另一个区域的数据中心显式地创建一个备份,以防止在数据发生不可逆损毁时,有安全、可用的备份数据。

  • 易维护

    您在两个不同OBS区域中具有分析同一组对象的计算集群,您可能选择在这些区域中维护对象副本。

OBS帮助您将存储于华为云对象存储的业务数据复制到指定Region,但华为云并不感知您的数据的具体内容,也不对您使用本服务的合法合规性负责。如果您的复制涉及跨境传输,请确保您使用本服务符合法律法规的要求。

约束与限制

使用对象存储迁移服务 OMS迁移数据存在以下限制:

表1 OMS迁移任务限制

类别

限制

多版本对象迁移

OMS默认只迁移源端多版本对象中的最新版本,不支持迁移历史版本的对象存储数据。

目的端桶存储类别

目的端桶的存储类别为:标准存储低频访问存储、归档存储和深度归档存储

迁移网络

支持公网迁移,内网迁移。不支持专线迁移。

元数据迁移

仅支持中文字符、英文字符、数字和中划线【-】迁移。除上述字符外,其他所有字符均不支持。

不支持中文标点符号迁移,由于中文标点符号不会被转换成URL编码,因此元数据中包含中文标点符号时,将无法迁移成功。
  • 中文字符:迁移过程中,会被转换成URL编码形式。
  • 英文字符、数字与中划线【-】:迁移过程中不需要进行编码转换,可以直接迁移。

迁移范围

目前单个任务(迁移任务/迁移任务组)仅支持迁移单桶数据,如果涉及多桶数据迁移,需要创建多个任务。

软链接

暂不支持源端软链接文件的迁移。在迁移过程中,软链接文件均会添加到失败列表中并造成迁移任务最终失败,但其中非软链接文件可正常迁移到目的端。如果源端包含软链接,请填写实际的文件路径。

对象ACL迁移

OMS暂不支持对象ACL迁移。

迁移速度

通常OMS的迁移速度参考值是10~20 TB每天。若需更高的迁移效率,建议使用迁移中心MgC的存储迁移工作流进行迁移。迁移中心MgC提供独享的集群资源,能够动态扩展迁移性能,最高支持20Gbit/s带宽。

迁移速度受源端对象个数、大小,带宽以及公网传输距离影响,建议用户创建一个含有实际数据的迁移任务来测试迁移速度,实际最大迁移速度为单个任务平均速度的5倍(单个Region内并发任务数最大为5)。如果需要更高的并发任务数,可以使用迁移中心 MgC的存储迁移工作流来自定义并发子任务数。

归档数据

对于归档类型的数据,迁移前需要您进行解冻操作,待解冻完成后再创建迁移任务,解冻时请注意如下事项:

  • 请务必在解冻完成后再创建迁移任务。
  • 请根据待迁移的数据总量评估并设置解冻有效期,以防迁移期间数据再次变成归档状态。
  • 解冻操作可能会产生一定的费用,由源端云厂商收取,计费规则请咨询源端云厂商。

迁移任务

同一用户,单个Region内并发任务数最大为5。

说明:

假设分别迁移对象存储数据到华北-北京一和华南-广州时,总并发数为5*2=10个。

24小时内,单个Region内最多创建迁移任务数为1000000个。

迁移任务组

同一用户,单个Region内并发任务组数最大为5。

说明:

假设分别迁移对象存储数据到华北-北京一和华南-广州时,总并发数为5*2=10个。

同步任务

同步任务和迁移任务、迁移任务组共用配额,优先于迁移任务、迁移任务组下发。

并发执行同步中的任务数量最多为5个。

对象列表文件

  • 对象列表文件大小不能超过1024MB。
  • 对象列表文件必须是“.txt”类型的文件,并且该文件元数据中的“ContentType”只能为:“text/plain”。
  • 对象列表文件必须是UTF-8无BOM格式编码格式。
  • 对象列表文件中每行只能包含一个对象名称,并且对象名称使用URL Encode编码。
  • 对象列表文件中每行不要添加无效空格,否则会将空格作为对象名,导致迁移失败。
  • 对象列表文件中每行长度不要超过65535,否则会导致迁移失败。
  • 对象列表文件的元数据中不能设置“ContentEncoding”,否则会导致迁移失败。

URL列表文件

  • URL列表文件大小不能超过1024MB。
  • URL列表文件必须是“.txt”类型的文件,并且该文件元数据中的“ContentType”只能为:“text/plain”。
  • URL列表文件必须是UTF-8无BOM格式编码格式。
  • URL列表文件中每行只能包含一个URL和目的端对象名称。
  • URL列表文件中每行长度不要超过65535,否则会导致迁移失败。
  • URL列表文件的元数据中不能设置“ContentEncoding”,否则会导致迁移失败。
  • URL列表文件中每行不要添加无效空格,否则会将空格作为对象名,导致迁移失败。
  • URL列表文件中每行使用制表符\t分隔URL和目的端对象名称,格式为:[URL][制表符][目的端对象名称],其中源端对象名称如果包含中文、特殊字符必须使用URL Encode对URL编码;目的端对象名称如果包含中文、特殊字符也需要使用URL Encode编码。
    例如:
    http://xxx.xxx.xxx.xxx.com/doc/%e6%96%87%e4%bb%b61.txt doc/%e6%96%87%e4%bb%b61.txt http://xxx.xxx.xxx.xxx.com/doc/thefile2.txt doc/thefile2.txt http://xxx.xxx.xxx.xxx.com/the%20file.txt the%20file.txt 
    http://xxx.xxx.xxx.xxx.com/the%20file2.txt the+file2.txt 
    http://xxx.xxx.xxx.xxx.com/doc/thefile.txt doc/thefile.txt

    以上示例中,URL所表示的文件,被复制到目的端桶后,对象会被分别命名为:doc/文件1.txt、doc/thefile2.txt、the file.txt、the file2.txt以及doc/thefile.txt。

    URL编码仅从域名后第二个字符开始,不要将协议头、域名以及域名两侧的斜线转码,否则将导致格式校验错误。

    URL与目的端对象名称之间使用一个制表符(键盘上Tab键)进行分隔,请勿使用空格。

  • URL列表文件中的URL需确保可通过HEAD和GET请求正常访问。

失败对象列表文件

单个任务失败对象列表最多记录10万个失败对象。

说明:

失败对象超过10万个的场景,建议基于已有失败对象列表,分析处理后重新迁移。

跨账号跨区域复制费用说明

  • 使用OMS的控制台和API进行数据迁移时,会调用源端和目的端的对象存储服务的API进行数据的上传、下载,所以会产生一定的API请求及下载流量费用,详情请参见OMS计费说明。同时,对象存储至目标桶,还会产生存储费用,详情请参见存储费用
  • 使用OBS obsutil工具进行跨区域数据复制时,也会产生请求费用、流量费用、存储费用,如表2
    表2 跨区域复制数据说明

    操作名称

    产生费用类别

    费用说明

    付费方式

    跨区域复制数据

    请求费用

    按复制成功的对象数计算请求次数,产生请求费用。复制对象过程中调用的请求,请参考复制对象说明

    • 对于非多段对象,成功复制一个对象,会产生源桶的一个GET请求和目标桶的一个PUT请求;在源桶删除一个对象,会产生目标桶的一个DELETE请求。
    • 多段对象的每个分段,均会产生源端的GET请求和目标端的PUT请求。

    如何计算请求费用等详细说明,请参见请求费用说明

    按需计费

    流量费用

    使用跨区域复制功能将源桶数据复制到另一个区域的目标桶时所产生的跨区域复制流量,只收取数据流出源桶单向流量费用。

    如果对象经过了服务端加密,计算跨区域复制流量费用时,SSE-KMS和SSE-OBS按照明文长度计算。

    按需计费

    资源包(跨区域复制流量包)

    存储费用

    跨区域复制目标桶的存储费用,即除了为源桶数据支付存储费用,由于目标桶经过复制会后也存储了数据,您还需支持目标桶数据的存储费用。

    如果您修改了复制对象的存储类别,复制到目标桶的数据按新的存储类型计算存储费用。

    如果对象经过了服务端加密,计算存储费用时,按照密文长度计算。

    按需计费

    资源包(各存储类别对应的存储包)

    同步历史对象

    请求费用

    启用同步历史对象功能,系统会将创建跨区域复制规则前已经存在于桶中的对象同步复制到目标桶。

    请求费用按系统自动同步时复制成功的对象数计算请求次数,产生请求费用,且对于历史对象的列举,产生相应的列举费用。

    按需计费

    流量费用

    系统跨区域同步对象时,所产生的跨区域复制流量,只收取数据流出源桶的单向流量费用。

    如果历史对象经过了服务端加密,计算跨区域复制流量费用时,SSE-KMS和SSE-OBS按照明文长度计算。

    按需计费

    资源包(跨区域复制流量包)

    存储费用

    跨区域复制目标桶的存储费用,即除了为源桶数据支付存储费用,由于目标桶经过复制会后也存储了数据,您还需支持目标桶数据的存储费用。

    如果您修改了复制对象的存储类别,复制到目标桶的数据按新的存储类型计算存储费用。

    如果历史对象经过了服务端加密,计算存储费用时,按照密文长度计算。

    按需计费

    资源包(各存储类别对应的存储包)

前提条件

  • 已在某个账号某个区域下创建源桶。
  • 已在另一个账号的另一个区域下创建目标桶。创建桶操作请参见创建桶
  • 使用OBS的obsutil工具进行跨账号跨区域对象复制时,源桶的版本号为3.0及以上,并且源桶所在区域支持跨区域复制功能。OBS各区域的支持情况,请在功能总览页面搜索“跨区域复制”查询。

跨账号跨区域数据复制

支持使用对象存储迁移服务(Object Storage Migration Service,OMS)控制台和API来进行跨账号跨区域数据迁移,支持使用OBS的命令行工具obsutil进行跨账号跨区域数据复制。

OMS迁移数据为非自动迁移,即源桶中数据修改后,不会自动同步至目标桶。源桶中数据修改后,需要再次执行迁移任务后,才可将源桶中数据的增量同步至目标桶中。

相关文档