使用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.cfg
、conf/sys.properties
、并发控制等配置,请参见说明及配置。有关分布式部署的相关操作,如ossimport下载、配置过程的常见错误及排除等,请参见分布式部署。
迁移方案
使用分布式模式将第三方存储迁移至OSS的过程如下:
在ECS上搭建ossimport分布式环境后,ossimport从腾讯云COS广州(华南)区域下载数据到ECS华东1(杭州),建议使用外网。使用ossimport从ECS华东1(杭州)将数据上传到OSS华东1(杭州),建议使用内网。
迁移过程涉及到的费用包含:源和目的存储空间访问费用、源存储空间的流出流量费用、ECS实例费用、数据存储费用、时间成本。如果数据超过TB级别,存储成本和迁移时间成正比。相对流量、存储费用,ECS费用较小,增加ECS数量,会减少迁移时间。
迁移实施
全量迁移第三方存储T1前的历史数据。
详细步骤请参考分布式部署的运行。
重要T1为Unix时间戳,即自1970年01月01日UTC零点以来的秒数,通过命令date +%s获取。
配置镜像回源。
数据迁移过程中,源站还在不断产生新的数据。为了不中断业务,做到业务无缝切换,还需要配置镜像回源功能。当用户请求的文件在OSS中没有找到时,OSS会自动到源站抓取对应文件保存到OSS,并将内容直接返回给用户。更多信息,请参见OSS镜像回源。
修改配置文件job.cfg的配置项importSince=T1,重新发起迁移任务,进行T1~T2的增量数据迁移。
将业务系统读写切换至OSS,此时业务系统记录的时间为T2。
说明步骤4完成后,您业务系统的所有的读写都在OSS上。第三方存储只是一份历史数据,您可以根据需要决定保留或删除。
ossimport只负责数据的迁移和校验,不会删除任何数据。
参考文档
有关ossimport的相关说明,请参见以下文档: