本文介绍如何使用ossimport将数据从第三方存储(或对象存储OSS)迁移到OSS。

前提条件

  • 已开通OSS,并已创建了华东1(杭州)地域的存储空间(Bucket)
  • 已配置RAM子账号,并授予访问OSS的权限

    在RAM控制台创建子帐号,并授权该子账号访问OSS的权限,并保存AccessKeyID和AccessKeySecret。详情请参见创建 RAM 子账号并授予相关权限

  • (可选)已购买ECS
    购买OSS同区域华东1(杭州)的ECS,一般普通的2核4G机型即可,如果迁移后ECS需释放,建议按需购买ECS。
    说明 若分布式部署所需的计算机数量较少时,您可以直接在本地部署;若所需计算机数量较多时,建议在ECS实例上部署。本示例以ECS实例进行迁移任务。

    ECS所需数量的计算公式为:X/Y/(Z/100)台。其中X为需要迁移的数据量、Y为要求迁移完成的时间(天)、Z为单台ECS迁移速度Z Mbps(每天迁移约Z/100 TB数据)。假设单台ECS迁移速度达到200Mbps(即每天约迁移2TB数据),则上述示例中需购买ECS 36台(即500/7/2)。

  • 已配置ossimport

    结合本示例中的大规模迁移需求,您需要在ECS上搭建ossimport分布式模式。有关分布式部署的配置定义信息,如conf/job.cfgconf/sys.properties、并发控制等配置,请参见说明及配置。有关分布式部署的相关操作,如ossimport下载、配置过程的常见错误及排除等,请参见分布式部署

背景信息

某用户的数据存储于腾讯云COS广州(华南)区域,数据大小约500TB。现希望将这些数据,通过ossimport工具,于一周内迁移至OSS华东1(杭州)区域。在迁移的同时,需保证自身业务的正常进行。

ossimport有单机模式和分布式模式两种部署方式:
  • 对于小于30TB的小规模数据迁移,单机模式即可完成。
  • 对于大规模的数据迁移,请使用分布式模式。

此需求需要使用ossimport分布式配置进行数据迁移。

说明 您也可以使用在线迁移服务进行数据的迁移,迁移过程更加简单,详情请参见在线迁移服务

迁移方案

使用分布式模式将第三方存储迁移至OSS的过程如下:

说明 在ECS上搭建ossimport分布式环境后,ossimport从腾讯云COS广州(华南)区域下载数据到ECS华东1(杭州),建议使用外网。使用ossimport从ECS华东1(杭州)将数据上传到OSS华东1(杭州),建议使用内网。
 使用ossimport迁移数据_数据迁移_最佳实践_对象存储 OSS 阿里云技术文档
  1. 全量迁移第三方存储T1前的历史数据,详细步骤请参考分布式部署的运行
    注意 T1为Unix时间戳,即自1970年1月1日UTC零点以来的秒数,通过命令date +%s获取。
  2. 在OSS控制台打开OSS镜像回源,回源地址设置为迁移源(第三方存储)。
  3. 将业务系统读写切换至OSS,此时业务系统记录的时间为T2。
    T1前的数据从OSS读取,T1后的数据则通过OSS镜像回源从第三方存储读取,新数据完全写入OSS。T2后不再有新数据写入迁移源。
  4. 修改配置文件job.cfg的配置项importSince=T1,重新发起迁移任务,进行T1~T2的增量数据迁移。
    说明
    • 步骤4完成后,您业务系统的所有的读写都在OSS上。第三方存储只是一份历史数据,您可以根据需要决定保留或删除。
    • ossimport只负责数据的迁移和校验,不会删除任何数据。

费用说明

迁移过程涉及到的成本包含:源和目的存储空间访问费用、源存储空间的流出流量费用、ECS实例费用、数据存储费用、时间成本。如果数据超过TB级别,存储成本和迁移时间成正比。相对流量、存储费用,ECS费用较小,增加ECS数量,会减少迁移时间。

参考文档

有关ossimport的相关说明,请参考以下文档:

分布式部署

说明及配置

常见问题