前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何实现客户对象存储数据迁移到腾讯云COS

如何实现客户对象存储数据迁移到腾讯云COS

原创
作者头像
张小波
修改2018-10-25 12:06:44
4.4K0
修改2018-10-25 12:06:44
举报
文章被收录于专栏:云之翼云之翼

背景描述:

在云计算客户的拓展过程中,会面临客户的各种需求。其中最常见的需求包括,如何在云计算上构建客户的业务系统,搭建基础架构;另外一个就是如何实现客户数据的高效存储,包括存储新产生的用户数据,以及将现有的用户数据平滑迁移到云计算上来,提供更方便,更快捷的访问。

对比业界标杆,我们知道,亚马逊S3服务从诞生开始,受到客户的喜爱,是当前AWS上使用最广的服务之一。今天,介绍一下,多种客户场景下,如何将客户现有的数据迁移到腾讯云COS(Cloud Object Storage)。

场景描述:

对象存储(Cloud Object Storage,简称:COS)是腾讯云提供的面向非结构化数据,支持 HTTP/HTTPS 协议访问的分布式存储服务,它能容纳海量数据并保证用户对带宽和容量扩充无感知,可以作为大数据计算与分析的数据池。腾讯云 COS 提供网页端管理界面、多种语言的 SDK 以及命令行和图形化工具,并且完全兼容 S3 的 API 接口,方便用户直接使用社区工具和插件,COS 还可以和其他云产品结合,比如利用 CDN 的全球节点提供加速服务,利用数据万象的图片处理能力提供一站式图片解决方案等。

通过在项目过程中遇到的场景,我们也做了一些常用的场景总结,从数据的源地址,容量以及存储迁移的要求来看,我们可以遇到多种场景:

根据迁移源地址来考虑:

  1. 迁移的数据来自于客户的IDC。
  2. 迁移的数据来源于其它公有云厂商。

迁移的数据用途和迁移要求来分:

1.迁移的数据都是离线数据,对实时访问没有大的要求,基本无更新。

2.迁移的数据在实时更新,不希望有数据访问的中断。

迁移场景
迁移场景

迁移方式描述:

  1. 使用对象存储迁移工具,来实现从客户现有IDC中数据的同步

如下图方案一~方案四中,使用腾讯云的对象存储迁移工具,来实现从友商或者IDC上实现现有对象存储的迁移,通过在CVM和友商/IDC计算节点上部署cos migration工具,来实现数据同步到COS,具体COS Migration工具的使用方式参考:https://cloud.tencent.com/document/product/436/15392

方案一:

方案二:

方案三:

方案四:

2.使用CDM工具,来实现从客户现有IDC中数据的同步

有些场景下,客户现网网络环境较差,公网带宽不足,存储的数据量也非常大,那么在这个场景下,可以使用离线邮寄存储阵列,实现用户数据的迁移,这个服务就是云数据迁移(CDM),参考https://cloud.tencent.com/product/cdm

但是该服务使用的时候,需要了解客户容量,现有CDM设备存货,客户现有运维能力,寄货周期等。所以在使用前综合评估一下。

常见的案例有深圳某手机厂商,以及深圳某文娱厂商,数据量级在160T左右。

3.CDN回源的方式来实现数据同步

操作步骤:

①用户继续访问原有域名,例如a.b.com

②腾讯云上创建对应的存储Bucket,用来存储迁移过来的文件。

③在创建的Bucket设置回源地址为七牛上的域名。

④本地host绑定a.b.com的解析记录到腾讯云上的CDN节点域名或者COS(刚才的COS Bucket开启了CDN的话,就用CDN的cname记录)。

⑤本机测试访问a.b.com某些URL,多次验证测试是否能够正常访问。

⑥在DNS上,灰度切量用户的解析记录到腾讯云CDN(COS),用户继续访问a.b.com/xx/yy.jpg(例子),DNS生效前,如果本地有DNS缓存,用户还是访问原有的域名,如果本地DNS已经生效,是最新的DNS记录,会CNAME到腾讯云CDN(COS)节点,COS发现本地没有记录,会回源到源站,将请求返回给用户的同时,将数据存储到本地COS的bucket中。

⑦用户持续访问,直至命中所有的数据,都缓存到腾讯云COS。

⑧新的用户数据建议写入到腾讯云COS。

配置说明:

限制说明:

时间较长,如果有些文件长时间没有用户访问,则这些文件无法同步到COS,因此建议配合后面数据迁移工具来使用。

4.实时数据读写,对迁移要求较高,不中断

应用场景:

①用户使用友商对象存储(例如七牛,阿里等)进行图片或者文件的上传保存,例如电商或者一些移动app(相册等),集成友商SDK,上传数据。

②上传数据后,最终用户通过CDN或者公网的URL访问这些文件。

客户要求:

①客户要求对现有业务冲击小,能够尽量平滑迁移,不影响用户的业务。

②客户深度集成友商的SDK或者API,存在数据写入,同时存在用户访问。

关键步骤:

①T0时刻:获取T0时刻在友商URL清单L0,持续从友商将L0的数据拷贝到COS

②T0时刻:同时开启用户侧的双写和双读,持续的将数据写入友商对象存储和COS(需要客户业务改造)。

③T1时刻:完成L1的数据传输,业务观察正常后,关闭到友商/IDC的写,完成迁移

第一步:收集现有CDN/存储逻辑

评估现有环境:

①现有存储容量,文件个数:以便权衡工具在迁移的时候的速度,例如都是小文件,那么迁移速度会相对较慢。

②计费方式,带宽还是流量:峰值带宽多少,如果持续超过峰值带宽,会为客户额外增加成本,所以需要选择低峰时间段复制,同时控制复制速度,节省成本,如果增加额外成本,可以和商务沟通是否有补贴。

③访问域名:有些厂商,例如七牛对象存储的域名不做生产用,会限速,访问必须使用CDN加速域名。

评估现有环境:

①现有存储容量,文件个数:以便权衡工具在迁移的时候的速度,例如都是小文件,那么迁移速度会相对较慢。

②计费方式,带宽还是流量:峰值带宽多少,如果持续超过峰值带宽,会为客户额外增加成本,所以需要选择低峰时间段复制,同时控制复制速度,节省成本,如果增加额外成本,可以和商务沟通是否有补贴。

③访问域名:有些厂商,例如七牛对象存储的域名不做生产用,会限速,访问必须使用CDN加速域名。

第二步:增量数据双写逻辑改造

推动客户的写逻辑改造,可以两个对象存储:

①在服务器端已经考虑解耦,有个写模块,来屏蔽多家差异,这样只需要基于COS的API/SDK来扩展一个模块即可,这样很快可以改造完。

②也存在与一家SDK绑死写到客户端逻辑,服务器端没有单独的上传模块,那只能推客户改造,周期长点。

举例:Java SDK文档参考:

https://cloud.tencent.com/document/product/436/10199

第三步:使用工具,拷贝存量数据

获取存量文件的URL List(双写开始时间点),通过工具实现复制:

启用MSP迁移服务:

设置源AK,SK

设置源URL列表和目的Bucket

设置复制时间段等等。

参考下图:

典型客户迁移案例说明:

用户现状:

①目前OSS存量323T,总文件数为29491911个

②CDN峰值40G,业务低峰期在0点~5点(10G以下)

文件同步过程:

①新增文件通过服务器端双写,同时写入友商OSS和腾讯云COS,需要客户端改造,改造周期两周。

②存量文件需要通过错峰从CDN拉取,拉取时间为0点到5点,拉取峰值按照10G来计算,每天拉取22T,预计需要20天拉完。

③COS配置镜像回源方式,预热部分URL

④切部分量到腾讯云CDN,观察调优。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景描述:
  • 场景描述:
  • 迁移方式描述:
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档