使用ossimport迁移数据

更新时间:

ossimport支持将任意地域的本地存储数据、第三方存储数据、对象存储OSS数据迁移至任意地域的OSS中。本文介绍如何使用ossimport将数据从第三方存储迁移到OSS。

背景信息

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

ossimport有单机模式和分布式模式两种部署方式:

  • 对于小于30TB的小规模数据迁移,单机模式即可完成。

  • 对于大规模的数据迁移,请使用分布式模式。

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

说明

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

准备工作

  • 开通OSS,并创建华东1(杭州)地域的存储空间(Bucket)

  • 创建RAM用户,并授予访问OSS的权限

    在RAM控制台创建RAM用户,并授权该RAM用户访问OSS的权限,然后保存AccessKey ID和AccessKey Secret。详情请参见准备工作

  • (可选)购买ECS

    购买与OSS相同地域的ECS实例。有关ECS实例规格的更多信息,请参见通用型(g系列)。如果迁移后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下载、配置过程的常见错误及排除等,请参见分布式部署

迁移方案

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

说明

在ECS上搭建ossimport分布式环境后,ossimport从腾讯云COS广州(华南)区域下载数据到ECS华东1(杭州),建议使用外网。使用ossimport从ECS华东1(杭州)将数据上传到OSS华东1(杭州),建议使用内网。

image

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

迁移实施

  1. 全量迁移第三方存储T1前的历史数据。

    详细步骤请参考分布式部署的运行

    重要

    T1为Unix时间戳,即自1970年01月01日UTC零点以来的秒数,通过命令date +%s获取。

  2. 配置镜像回源。

    数据迁移过程中,源站还在不断产生新的数据。为了不中断业务,做到业务无缝切换,还需要配置镜像回源功能。当用户请求的文件在OSS中没有找到时,OSS会自动到源站抓取对应文件保存到OSS,并将内容直接返回给用户。更多信息,请参见OSS镜像回源

  3. 修改配置文件job.cfg的配置项importSince=T1,重新发起迁移任务,进行T1~T2的增量数据迁移。

  4. 将业务系统读写切换至OSS,此时业务系统记录的时间为T2。

    说明
    • 步骤4完成后,您业务系统的所有的读写都在OSS上。第三方存储只是一份历史数据,您可以根据需要决定保留或删除。

    • ossimport只负责数据的迁移和校验,不会删除任何数据。

参考文档

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

分布式部署(已下线)

ossimport概述(已下线)

常见问题(已下线)