前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MSP迁移实践-对象存储迁移篇

MSP迁移实践-对象存储迁移篇

原创
作者头像
howardhwang
修改于 2019-07-03 10:52:14
修改于 2019-07-03 10:52:14
2.2K0
举报

常见的迁移场景中,通常用户需要先了解源和目标两端的访问方法,自己开发脚本实施迁移。这使得迁移的难度高、周期长,并且由于迁移并非用户熟悉的常规操作,经常会遇到意料之外的问题。

为方便用户迁移,腾讯云建立了MSP迁移服务平台,目标是通过全界面化的操作为用户提供快速简便和高效的迁移能力。

因为各类迁移场景下需要关注的细节和具体操作会有差异,因此我们将针对不同的场景提供操作指引,帮助用户进一步了解和掌握这个平台工具的使用。

本篇针对对象存储迁移场景中的不同情况进行分析,说明如何针对不同的迁移类型和条件,基于MSP平台建立最合适的迁移方案并实施迁移。

一、迁移需求和条件确认

客户期望的启动时间、结束时间

何时能够启动和完成迁移往往与切量计划相关,针对时间的要求,制定方案时会权衡是否需要适当放宽成本,或者临时调整资源。

计划迁移的数据量

数据量的大小直接影响到对迁移资源的需求,并且影响迁移时间。

计划迁移的数据的特征

因为影响对象存储迁移速度的除了带宽外,还有存储桶的最高并发访问限制(QPS),平均文件大小越小,会因频繁访问而触达QPS上限,即:大文件迁移的瓶颈是带宽,小文件迁移的瓶颈是QPS。

是否需要增量迁移

因为迁移前后需要保障文件的完整性和一致性,如果迁移过程中迁移源有持续增加的新文件,需要根据客户的具体情况针对这些增量文件制定双写或增量迁移方案

是否存在低频、冷数据

如果迁移源存在低频和冷数据,一是需要确认是否需要进行预热(否则冷数据可能无法迁移),二是需要确认迁移到目标云之后是否需要保持低频和冷数据的状态(存储类型影响到存储成本)

客户的迁移源、目标是否存在正在服务的业务? 业务的波峰波谷是怎样的?

无论是直接访问对象存储或是通过URL进行访问,如果是在迁移生产环境的数据,迁移所产生的QPS或流量,都有可能对线上业务产生影响: 1)对象存储访问:迁移产生的QPS压力与业务QPS叠加可能超出数据桶的QPS上限,造成访问文件失败,业务出现故障; 2)URL(CDN)访问:迁移产生的高带宽有可能与业务流量峰值叠加,产生高额的CDN成本; 因此,迁移前需要请客户提供业务流量曲线和源存储云厂商的QPS上限能力,以便评估是否需要限速或采取错峰迁移方案。

客户是否已有专线或计划拉通专线?带宽多大?

如果客户因业务所需已有可复用的专线、或迁移量巨大希望避免通过公网迁移产生流量成本,那么需要评估专线迁移的可行性,结合数据量计算专线带宽需求。

二、迁移方案制定

根据收集到的客户迁移需求和条件,我们可以针对性的制定迁移方案。

2.1 确定迁移模式

根据客户是否有专线(或者根据迁移的预估成本判断是否需要拉专线)来选择模式

2.1.1 常规的通过公网访问对象存储或URL的拉模式

因拉模式会产生公网流量,给客户提供方案时需要讲预估的流量成本与客户进行确认

2.1.2 客户有专线的情况下采用推模式

2.2 确认增量迁移方案

1.1 方案一:客户先进行双写改造,改造完成后进行存量迁移

优点:业务不中断

缺点:客户侧需要有开发工作量

1.2 方案二:先进行一次存量迁移,迁移完成后进行业务切量,切量完成后进行二次增量迁移

优点:客户无需开发

缺点:需要切量到二次增量迁移过程中的数据不一致对业务是否产生影响

2.3 确认迁移数据量和资源需求

如果客户迁移任务时间紧数据量大,需要相应调整方案中的资源(专线带宽、后台服务器数量等)

三、迁移实施

3.1 公网拉模式迁移实施步骤(MSP操作说明)

公网拉模式迁移是非常简单的全托管模式,在MSP控制台上,新建迁移任务,按照迁移需求情况填写即可。

所有参数填写完成后,按下“新建并启动”按钮,迁移即会在后台自动进行。

3.2 专线推模式迁移实施步骤(MSP操作说明)

专线推模式迁移需要准备专线以及在用户侧部署和启动Agent工具,略微繁琐。

3.2.1 专线准备确认

Agent模式通过专线迁移,需要确保源云侧主机上使用COS SDK可经过专线访问COS,迁移前务必确认,以免产生外网流量。

3.2.2 迁移限速

MSP迁移工具提供了限制QPS(对象存储模式)和带宽限速(URL列表模式),但均为粗略控制,存在较大误差。在使用Agent迁移的情况下,建议在迁移服务器上进行限速操作,而在MSP中创建任务时选择“不限速”

1)查看网卡

[root@VM_10_12_centos ~]# ifconfig

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

inet 10.0.10.12 netmask 255.255.255.0 broadcast 10.0.10.255

ether 52:54:00:bb:49:0f txqueuelen 1000 (Ethernet)

RX packets 13361 bytes 19400520 (18.5 MiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 1001 bytes 67101 (65.5 KiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536

inet 127.0.0.1 netmask 255.0.0.0

loop txqueuelen 1000 (Local Loopback)

RX packets 0 bytes 0 (0.0 B)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 0 bytes 0 (0.0 B)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

2)限速前测试

[root@VM_10_12_centos ~]# wgegt https://msp-test-src-1256125716.cos.ap-guangzhou.myqcloud.com/bkce_src-5.0.2.tar.gz

-bash: wgegt: command not found

[root@VM_10_12_centos ~]# wget https://msp-test-src-1256125716.cos.ap-guangzhou.myqcloud.com/bkce_src-5.0.2.tar.gz

--2019-04-08 10:47:41-- https://msp-test-src-1256125716.cos.ap-guangzhou.myqcloud.com/bkce_src-5.0.2.tar.gz

Resolving msp-test-src-1256125716.cos.ap-guangzhou.myqcloud.com (msp-test-src-1256125716.cos.ap-guangzhou.myqcloud.com)... 211.159.131.23, 211.159.131.24, 211.159.130.21, ...

Connecting to msp-test-src-1256125716.cos.ap-guangzhou.myqcloud.com (msp-test-src-1256125716.cos.ap-guangzhou.myqcloud.com)|211.159.131.23|:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: 1574565066 (1.5G) [application/octet-stream]

Saving to: ‘bkce_src-5.0.2.tar.gz’

5% [========> ] 86,299,969 14.2MB/s eta 94s ^C

3)安装iproute工具(默认centos 7.x已安装,此步可跳过)

[root@VM_10_12_centos ~]# yum -y install iproute

Loaded plugins: fastestmirror, langpacks

Determining fastest mirrors

Package iproute-4.11.0-14.el7.x86_64 already installed and latest version

Nothing to do

4)限速

[root@VM_10_12_centos ~]# /sbin/tc qdisc add dev eth0 root tbf rate 50kbit latency 50ms burst 10000

如果需要限速10M,可以将50kbit改为10Mbit

5)限速后测试

[root@VM_10_12_centos ~]# wget https://msp-test-src-1256125716.cos.ap-guangzhou.myqcloud.com/bkce_src-5.0.2.tar.gz

--2019-04-08 10:49:15-- https://msp-test-src-1256125716.cos.ap-guangzhou.myqcloud.com/bkce_src-5.0.2.tar.gz

Resolving msp-test-src-1256125716.cos.ap-guangzhou.myqcloud.com (msp-test-src-1256125716.cos.ap-guangzhou.myqcloud.com)... 139.199.41.140, 119.29.47.254, 211.159.130.20, ...

Connecting to msp-test-src-1256125716.cos.ap-guangzhou.myqcloud.com (msp-test-src-1256125716.cos.ap-guangzhou.myqcloud.com)|139.199.41.140|:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: 1574565066 (1.5G) [application/octet-stream]

Saving to: ‘bkce_src-5.0.2.tar.gz.1’

0% [ ] 155,313 359KB/s

6)解除限速

[root@VM_10_12_centos ~]# /sbin/tc qdisc del dev eth0 root tbf

3.2.3 迁移源准备(以阿里云为例下操作)

3.2.3.1 准备好可以访问源数据桶的密钥对

在阿里云控制台右上方,选择accesskeys

此处的AccessKey/Acdess Key Secret,需要在创建迁移任务的时候用到

3.2.3.2 建立用于迁移的临时服务器(主控服务器)

因为建立迁移任务时需要填写Agent主控服务器的IP地址(内网IP地址,用于与迁移集群中的worker服务器通信),因此在建立迁移任务之前,先在阿里云准备一台服务器。操作系统CentOS 7.x 64位

如使用专线迁移,服务器必须配置为可通过专线直接访问COS。

例如,在阿里云上先创建一台主控服务器,内网IP地址172.19.97.94

3.2.4 建立迁移任务(本节在腾讯云迁移目标账号下操作)

正则表达式,仅迁移文件名中不包含下划线的文件:^((?!_).)*$

所有参数填写完毕后,按下“新建并启动”按钮,在Agent模式下任务已创建成功但并未运行,需要按以下步骤在阿里云主机上手工启动Agent。

3.2.5 启动Agent(在master主控服务器上操作)

1)将Agent工具解压到合适的目录(目录无特殊要求)

2)修改配置文件

./agent/conf/agent.toml

# 此处填写腾讯云用于迁移的云API密钥对 secret_id = '此处填写腾讯云API密钥AccessKey' secret_key = '此处填写腾讯云API密钥SecretKey'

3)启动Agent

# chmod +x ./agent/bin/agent

# cd agent/bin

#./agent

必须在bin目录中启动agent程序(否则会找不到配置文件)

Agent会定时自动从MSP平台获取任务的详细配置信息,如果创建多个迁移任务无需重复启动Agent。

3.2.6 扩充迁移集群(增加worker服务器)

Agent模式支持分布式迁移(多服务器协同),如果希望进一步提高迁移速度,在有可用带宽的情况下可以增加worker服务器加入到迁移:

  1. worker服务器必须与master服务器互通
  2. 如使用专线迁移,worker服务器必须配置为可通过专线直接访问COS

下例中,增加了一台服务器“workerA”,与master内网互通

worker服务器可以是任意配置,但建议与master保持一致。部署和启动Agent的方式与master服务器完全相同(同样需要修改agent.toml中的secret_id和secret_key),因新建任务的时候已经指定了master服务器,新加入的agent均被作为worker节点与master服务器通信获得任务。

Worker服务器可以随时加入迁移集群,但建议创建任务之前将所有的worker服务器与master一同创建并配置和启动Agent,以便master启动任务时可以更有效的进行分片调度。

四、迁移后的结果检查

当迁移任务建立后,可以在MSP的控制台上查看任务执行状态和执行结果

如果任务执行中有失败的文件(因网络原因等),可以在任务执行完成后直接点击“重试失败任务”,或者下载“失败文件列表”进一步确认问题的原因。

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
IDC、友商云数据上云(COS)最佳实践
本文从通用的数据上云场景,以及友商云数据迁移场景出发,介绍基于腾讯云对象存储(COS)的上云步骤,包括迁移前的环境准备工作,云上的配置与迁移工具的实施,数据的一致性校验,云上业务的切换与验证。
wainsun
2021/08/18
2.4K0
IDC、友商云数据上云(COS)最佳实践
腾讯云对象存储COS之间的数据如何进行迁移
全托管公网迁移模式中,无需自主部署 Agent,任务创建之后自动化执行。腾讯云 COS 间迁移时 MSP 将通过内网拉取源对象存储桶数据并保存到目标对象存储桶,不会产生额外费用。
云存储
2020/01/03
2.8K0
腾讯云对象存储COS之间的数据如何进行迁移
FTP文件迁移上对象存储COS
在很多传统企业,经常会用到FTP服务,这些FTP服务会逐渐遇到使用、稳定性、性能等问题。
ictfox
2021/12/20
1.9K0
FTP文件迁移上对象存储COS
如何实现客户对象存储数据迁移到腾讯云COS
在云计算客户的拓展过程中,会面临客户的各种需求。其中最常见的需求包括,如何在云计算上构建客户的业务系统,搭建基础架构;另外一个就是如何实现客户数据的高效存储,包括存储新产生的用户数据,以及将现有的用户数据平滑迁移到云计算上来,提供更方便,更快捷的访问。
张小波
2018/10/24
4.7K0
CentOS 7 挂载腾讯云COS对象存储教程
本文将详解使用腾讯云cosfs工具将COS对象存储的存储桶挂载到CentOS 7服务器的教程.其他平台及常见问题请参考官方说明:
用户8851537
2021/07/30
5.6K0
【玩转Lighthouse】使用MinIO搭建云原生对象存储服务
本文从通用的AWS S3对象存储协议,以及在MinIO中使用 腾讯云对象存储 的场景出发,介绍基于MinIO云原生对象存储的搭建步骤和MinIO客户端的使用示例,以及MinIO SDK使用示例;包括在 CentOS8 中运行minIO服务端、minIO存储网关,在Docker环境中单点单容器运行minIO服务端、单点多容器运行minIO服务端以及单点单容器运行minIO存储网关
yjwang
2022/04/17
7.7K1
【玩转Lighthouse】使用MinIO搭建云原生对象存储服务
使用COSCLI六步将对象存储文件迁移至轻量对象存储
由于我的服务器大多都是轻量应用服务器,近期轻量云也推出了个轻量对象存储,套餐包的形式相比cos资源包还是挺划算,最主要的是没有读写请求计费,一个套餐包涵盖所有内容。
小宇-xiaoyu
2024/03/29
4701
使用腾讯云对象存储 COS 作为 Velero 后端存储,实现集群资源备份和还原
Velero(以前称为 Heptio Ark)是一个开源工具,可以安全地备份和还原,执行灾难恢复以及迁移 Kubernetes 集群资源和持久卷,可以在 TKE 集群或自建 Kubenetes 集群中部署 Velero 用于:
云存储
2020/12/24
3.4K0
基于CenterOS7环境下本地挂载云端COS对象存储桶256TB!
方案客户群体:企业或个人海量文件存储备份,数据迁移灾备,数据云端灾备服务,实现本地挂载COS存储256TB大容量网盘。
TCS-F
2018/12/07
3.2K0
基于CenterOS7环境下本地挂载云端COS对象存储桶256TB!
巧用 JuiceFS Sync 命令跨云迁移和同步数据
近年来,云计算已成为主流,企业从自身利益出发,或是不愿意被单一云服务商锁定,或是业务和数据冗余,或是出于成本优化考虑,会尝试将部分或者全部业务从线下机房迁移到云或者从一个云平台迁移到另一个云平台,业务迁移涉及到数据的迁移。正好 JuiceFS 已经对接了各种对象存储的 API ,也实现了数据同步的逻辑,让我们来了解下 JuiceFS 的 sync 命令。
Juicedata
2022/04/25
2K0
巧用 JuiceFS Sync 命令跨云迁移和同步数据
Docsify+腾讯云对象存储 COS,一键搭建云上静态博客
最近一直在想如何利用 COS 简化静态博客的搭建过程。搜了很多的静态博客搭建过程,发现大部分的静态博客都要通过编译才能生成静态页面。功夫不负有心人,终于让我找到了一个超简洁博客的搭建方法。
云存储
2020/12/03
2.4K0
使用轻量应用服务器锐驰型反向代理对象存储
腾讯云轻量应用服务器锐驰相比其它套餐类型,最突出特点是峰值带宽 200 Mbps,这么大的带宽,用来取代 CDN 降低成本岂不是美载?
jwj
2025/03/01
1150
云函数 SCF 与对象存储实现 WordCount 算法
本文将尝试通过 MapReduce 模型实现一个简单的 WordCount 算法,区别于传统使用 Hadoop 等大数据框架,本文使用云函数 SCF 与对象存储 COS 来实现。 MapReduce 在维基百科中的解释如下: MapReduce 是 Google 提出的一个软件架构,用于大规模数据集(大于 1TB)的并行运算。概念「Map(映射)」和「Reduce(归纳)」,及他们的主要思想,都是从函数式编程语言借来的,还有从矢量编程语言借来的特性。 通过这段描述,我们知道,MapReduce 是面向大数
腾讯云serverless团队
2020/05/28
9390
对象存储 COS 帮您轻松搞定跨域访问需求
早期为了避免 CSRF(跨站请求伪造) 攻击,浏览器引入了 “同源策略” 机制。如果两个 URL 的协议,主机名(域名/IP),端口号一致,则视为这两个 URL “同源”,属于同一个 “域”,否则视为 “非同源”,即 “跨域”。浏览器会主动拦截跨域的 AJAX 请求,以规避安全风险。
云存储
2021/01/27
2.2K0
对象存储 COS 帮您轻松搞定跨域访问需求
什么是 SSR
SSR 顾名思义就是 Server-Side Render, 即服务端渲染。原理很简单,就是服务端直接渲染出 HTML 字符串模板,浏览器可以直接解析该字符串模版显示页面,因此首屏的内容不再依赖 Javascript 的渲染(CSR - 客户端渲染)。
不会飞的小鸟
2020/06/11
9.6K0
从对象存储服务同步数据到Elasticsearch
AWS的S3, 阿里云的OSS, 腾讯云的COS, 都是常见的对象存储服务。对象存储服务面向非结构化数据,支持通过HTTP/HTTPS协议访问,支持存入文本、图片、视频等多种类型的数据。
bellen
2018/08/15
2.4K0
从对象存储服务同步数据到Elasticsearch
如何使用亚马逊对象存储AWS S3 SDK访问腾讯云存储COS
COS 提供了 AWS S3 兼容的 API,因此当您的数据从 S3 迁移到 COS 之后,只需要进行简单的配置修改,即可让您的客户端应用轻松兼容 COS 服务。本文主要介绍不同开发平台的 S3 SDK 的适配步骤。在完成添加适配步骤后,您就可以使用 S3 SDK 的接口来访问 COS 上的文件了。
云存储
2020/05/26
4.5K0
腾讯云主机安装COSFS工具并使用COS对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。
yuanfan2012
2021/01/28
3.9K0
利用STS临时密钥服务快速搭建直传页面的实践
为了实现权限分离,提供更细隔离度的权限控制,有效的控制帐号生效周期,本文通过腾讯云CAM产品的STS(临时访问凭证)来实现部署,调试,验证等一系列的操作体验。
吴硕卫
2020/07/28
6.3K2
利用STS临时密钥服务快速搭建直传页面的实践
使用Velero实现K8S集群资源备份到对象存储COS
开源工具 Velero(旧版本名称为 Heptio Ark)可以安全地备份和还原、执行灾难恢复以及迁移 Kubernetes 集群资源和持久卷。在容器服务 TKE 集群或自建 Kubenetes 集群中部署 Velero 可以实现以下功能:
Lcry
2022/11/29
1.7K0
使用Velero实现K8S集群资源备份到对象存储COS
推荐阅读
相关推荐
IDC、友商云数据上云(COS)最佳实践
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档