IDC、友商云数据上云(COS)最佳实践

1.概述

1.1简介

本文从通用的数据上云场景,以及友商云数据迁移场景出发,介绍基于腾讯云对象存储(COS)的上云步骤,包括迁移前的环境准备工作,云上的配置与迁移工具的实施,数据的一致性校验,云上业务的切换与验证。

1.2名词解释

COS:对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。COS 提供网页端管理界面、多种主流开发语言的 SDK、API 以及命令行和图形化工具,并且兼容 S3 的 API 接口,方便用户直接使用社区工具和插件。

CVM:云服务器(Cloud Virtual Machine,CVM)为您提供安全可靠的弹性计算服务。 只需几分钟,您就可以在云端获取和启用 CVM,用于实现您的计算需求。随着业务需求的变化,您可以实时扩展或缩减计算资源。CVM 支持按实际使用的资源计费,可以为您节约计算成本。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。

MSP:迁移服务平台(Migration Service Platform,MSP)整合了各种迁移工具,并提供统一监控。用户在迁移时可选择腾讯云官方迁移工具,也可选择官方认证的第三方迁移工具。迁移服务平台帮助用户方便快捷的将系统迁移上云,并清晰掌握迁移进度。迁移服务平台 MSP 不收取任何额外费用,您只需为使用的迁移工具及资源付费。

IDC:互联网数据中心(Internet Data Center,简称IDC)是指一种拥有完善的设备(包括高速互联网接入带宽、高性能局域网络、安全可靠的机房环境等)、专业化的管理、完善的应用的服务平台。

友商云:指提供云服务的互联网厂商,包括但不仅限于阿里云,AWS,华为云,七牛云等等。

数据源:顾名思义,数据的来源,是提供某种所需要数据原始文件。

2.业务架构

2.1云下IDC典型业务架构图

IDC典型业务架构图

2.2云上典型业务架构图

云上典型业务架构图

2.3数据上云流程图

常见的热数据迁移方式,通用的迁移流程如下图:

数据迁移流程

3.环境配置

3.1迁移准备与评估

迁移上云前需要提前进行网络VPC规划,确定业务服务器所在园区和可用区,CVM同园区访问COS可实现内网互通。

业务服务器和基础环境的上云迁移,这些属于非对象数据迁移,这里就不详细介绍了(略)

3.2数据存储配置项检查

从本地迁移至COS,无需特殊检查,只需确保本地文件的读取与公网上行的连通性正常即可。

当从友商云迁移至腾讯云COS的场景,可参见下面的环境配置检查项,确保数据一致和功能可用。

场景

产品

检查项

检查说明

问题案例

第三方友商源->COS

友商云

对象权限检查

检查源站读权限 GetObject(必须),Listobjects1.源站为公共读权限,可通过MSP对友商生成的URL清单进行批量迁移,减少listobject耗时。2.如果源站为私有访问,可通过MSP生成指定友商的签名串。3.源站为公共读时,是否设置了空referer防盗链。需要迁移工具配合设置或将源站referer临时放开。注意:对象无读取权限则不可迁移。

1.迁移时失败。访问对象返回403无权限。

对象类型检查

对象类型为标准存储,低频存储,智能存储均可。注意:部分厂商对于归档存储类型不可直接访问,需要先预热。否则会在迁移时对于归档类型的对象迁移失败。

1.直接访问归档类型会返回403,需要临时提取预热或长期设置为标准类型。

QPS性能检查

1.评估源站读对象性能,如果为热迁移则需要考虑源站的日常业务QPS和迁移QPS相加值。2.COS写QPS一般为国内3W,海外3k

因并发过高导致源站读取请求被拒绝。需要和源站厂商沟通。

回源配置检查

针对于源站的回源配置。1.确保源站的回源可正常读,需要迁移前测试调通。2.确保源站的回源不受版本控制影响,可读取到最新版本文件。3.源站回源内容,不设置CDN 等缓存产品,需要确保可直接读取到源站真实数据。4.回源建议使用https协议,避免请求被劫持。

因回源设置为CDN缓存,导致迁移到COS的数据和源站不一致,为中间CDN缓存内容。

回调触发配置检查(SCF)

如配置回调触发1.确保回调触发QPS与迁移工具复制Object频率 一致或有buffer2.回调函数读取资源要为对象最新版本资源,不要受到CDN缓存或版本控制的原因影响。3.函数涉及到落盘操作,需要确认临时空间是否满足,同时要在复制对象后进行临时资源删除。

因回源设置为CDN缓存,导致迁移到COS的数据和源站不一致,为中间CDN缓存内容。

重定向配置检查

各个友商对于4XX错误或5XX错误提供了“异常状态码重定向规则”。1.一定避免使用“异常状态码重定向规则”。2.对于图像处理场景,建议增加忽略参数,当处理异常时可获取到原图内容。

1.对于源站404等状态码会跳转到指定地址,会导致迁移为指定页面而非原图,2.对于帧数过大或尺寸过大的图片,源站图像处理异常时会返回错误码,这里建议使用过滤参数,可在直接获取到原图,确保文件迁移成功。例如:“/ignore-error/1”

跨国迁移检查

检查源站和目标站点是否存在海外到国内,或国内到海外场景1.如果源在海外目标在国内,建议通过MSP的半托管方式,源站就近读取,并使用COS全球加速能力进行写入。2.如果源在国内目标在海外,建议通过MSP的半托管方式,使用COS全球加速能力读取,并在目标就近写入对象。注意,目标不依赖于非腾讯端网络。

COS

QPS性能检查

检查COS的写性能1.COS 非下载频控QPS一般为国内3W,海外3k

对象权限检查

检查COS的写权限,1.包括PUT,POST以及分片上传的全部写入权限。2.包括head object权限,会验证对象是否已上传,是否执行覆盖上传。

版本控制配置检查

建议开启版本控制,可在非预期被覆盖后,统一通过版本号进行回滚。

数据万象

回源配置检查

热迁移过程中访问对象1.尽量不要开启“异常状态码重定向规则”,可能会导致未迁移的数据无法按预期显示

设置了404重定向到指定对象地址,会覆盖404时回源拉取。

图像处理异常忽略检查

访问时,目标端建议开启图像处理异常忽略参数1.开启忽略参数后,当对象过大或帧数过多的场景出现时,不会返回错误码,而是从源站拉取对象,可确保对象热复制成功。

3.3云上高可用架构图

迁移上云后的高可用架构,可通过接口级容灾方案+跨园区存储桶复制的能力,实现园区级灾难的持续性访问能力。

高可用架构图

4.对象数据迁移

4.1数据迁移工具介绍

4.1.1云下迁移工具COS Migration

原理架构图

COS Migration

4.1.2友商云迁移工具 MSP

原理架构图

MSP

4.2数据迁移工具原理说明

4.2.1COS Migration

  1. COS 迁移工具是有状态的,已经迁移成功的会记录在 db 目录下,以 KV 的形式存储在 leveldb 文件中。
  2. 每次迁移前对要迁移的路径,先查找下 db 中是否存在, 如果存在,且属性和 db 中存在的一致, 则跳过迁移,否则进行迁移。
  3. 这里的属性根据迁移类型的不同而不同,对于本地迁移,会判断 mtime。对于其他云存储迁移与 Bucket 复制,会判断源文件的 etag 和长度是否与 db 一致。
  4. 注意:我们参照 db 中是否有过迁移成功的记录,而不是查找 COS内的记录,如果绕过了迁移工具,通过别的方式(如 COSCMD 或者控制台)删除修改了文件,那么运行迁移工具由于不会察觉到这种变化,是不会重新迁移的。

4.2.2MSP

  1. 数据源采集,这里有两种情况,第一种可以通过listobject接口来获取对象列表,然后分发给worker进行迁移,如果文件多为小文件,list接口会成为瓶颈,还有一种方式为一次性拉取源站资源清单,目前大部分友商均支持清单功能,通过对不同厂商的清单结果进行格式化,可得到待迁移列表。由于不需要通过接口遍历目录,所以迁移性能会大幅提高。
  2. 全托管迁移时,无需考虑迁移集群的内部配置,此时配置对客户端透明,仅需要等待任务完成。比较适合少量对象或时间预期不敏感的场景。
  3. 半托管迁移时,会针对于具体场景优化迁移性能。Master节点会对待迁移任务进行分配,并下发到不同的worker进行迁移,如果选择跳过同名文件,则会对目标对象产生一次head请求,在大量小文件场景中或QPS水位较高时,需要注意。
  4. 迁移任务完成后会生成迁移任务结果,针对迁移失败的对象可进行重试迁移,也可导出失败文件列表手动迁移,确保迁移对象完全成功。

4.3数据迁移步骤

待迁移数据-->全量数据迁移-->热数据回源配置-->业务可用性检查-->业务入口切换-->增量数据迁移-->增量数据检查-->迁移完成

4.4迁移过程操作说明

4.4.1COS Migration进行本地迁移

步骤1 创建存储桶

创建存储桶

出于对数据的安全管控,如无特殊需求,建议访问权限设置为私有读写权限。

https://console.cloud.tencent.com/cos5/bucket

步骤2 创建迁移账号

主要用于授权写入COS的权限策略,如无特殊要求,可设置一个权限较大的QcloudCOSFullAccess进行数据迁移,迁移完毕释放。

创建迁移账号信息

授权QcloudCOSFullAccess权限

https://console.cloud.tencent.com/cam

步骤3 创建API密钥

创建子帐号API密钥

以上,完成基本资源准备。

步骤4 下载迁移工具,下载到待迁移的服务器侧。

https://github.com/tencentyun/cos_migrate_tool_v5

步骤5 进行迁移工具配置,这里主要已本地迁移数据举例

首先看一下迁移配置,这里包括迁移类型,云上目标端,本地节点 三项配置

代码语言:javascript
复制
# 配置迁移类型
# 目前支持四大类, 这里的存储类型和之后的分节名称一致
# 1 从本地迁移, migrateLocal(本地迁移工具, 同之前的本地同步工具)
# 2 从友商迁移, migrateAws(从aws迁移), migrateAli(从阿里迁移), migrateQiniu(从七牛迁移), migrateUpyun(从又拍云迁移)
# 3 从url列表迁移, migrateUrl(这些url都是可以直接下载的,将要迁移的url放到一个文件或者多个文件里)
# 4 COS的bucket复制. migrateBucketCopy(将COS一个bucket下的数据复制到另外一个bucket, 支持跨账号跨地域,前提是账户需要对源bucket源bucket有可读权限,对目的bucket有putObjectCopy权限)
[migrateType]
type=migrateLocal
代码语言:javascript
复制
# 迁移工具的公共配置分节,包含了要迁移到得目的COS的账户信息 
[common]
# 用户的秘钥 secret_id (可在 https://console.qcloud.com/capi 查看)
secretId=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# 用户的秘钥 secret_key  (可在 https://console.qcloud.com/capi 查看)
secretKey=yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
# 如果使用临时密钥访问存储桶,此处配置临时密钥的Token,该密钥需要有目的桶的PutObject权限(如果迁移类型是migrateBucketCopy,则该密钥需要有源桶的GetObject权限以及目的桶的PutObject权限)
# token=zzzzzzzzzzzzzzzzz
# 目的Bucket的名称, 命名规则为{name}-{appid},即bucket名必须包含appid, 例如movie-1251000000
bucketName=mybucket-1251668577
# 目的bucket的region信息. COS地域的简称请参照 https://www.qcloud.com/document/product/436/6224
region=ap-guangzhou
# 目的园区的endpoint suffix, 一般情况不用填写,适用于自定义域名CNAME到COS上传域名的客户.工具会在自动在在suffix前加上${bucketname}。最终形成的域名是
# ${bucketName}.${endPointsuffix}. endPoint的优先级比region高,如果设置了endpoint则会以enpoint来补充域名
endPointSuffix=
# 存储类型, 标准(Standard), 低频(Standard_IA), 归档(Archive), 多AZ标准(Maz_Standard), 多AZ低频(Maz_Standard_IA)
storageClass=Standard
# 要迁移到的cos路径, /表示迁移到bucket的根路径下, /aaa/bbb/表示要迁移到bucket的/aaa/bbb/下面, 如果/aaa/bbb/不存在,则会自动建立
cosPath=/
# 是否使用HTTPS传输(传输速度较慢,适用于对传输安全要求高的场景), on开启, off关闭
https=off
# 临时目录,用于运行过程中,临时文件的存储, 主要用于友商数据迁移到COS, 因为迁移会现将数据下载到临时目录,再进行上传后删除.对于linux绝对路径, 如/a/b/c, 对于windows绝对路径,注意分隔符为两个反斜杠,如E:\\a\\b\\c
# 默认存储在工具下的tmp目录, 请确保磁盘空间充足,取决于要迁移的文件的大小与并发度。
tmpFolder=./tmp
# 小文件阈值的字节,大于等于这个阈值使用分块上传,否则使用简单上传, 默认5MB
# 注意:最大能上传5GB的小文件
smallFileThreshold=5242880
# 小文件(文件小于smallFileThreshold)的并发度,使用简单上传,此值对于带宽充足或小文件过多时,可以适当增大调整为128或者256等。
# 同时如果从友商或者URL迁移,下载是使用的线程池并发度也由smallFileExecutorNum来决定,因此可以通过增大下载速度。
smallFileExecutorNum=64
# 大文件(文件大于等于smallFileThreshold)的并发度,使用分块上传,此值不宜过大,建议不大于32
bigFileExecutorNum=8
# 用来指定分块上传时单个分块的大小, 单位字节,默认分块大小是5MB
# 由于分块上传对单个文件块的数目有最大限制(10000块),所以对于超出5MB*10000大小的文件,需要根据具体情况调整该参数 
bigFileUploadPartSize=5242880
# 用来指定上传到 COS 时单个线程的最高带宽,单位 bit/s,默认不做限制
# 可以配合并发度控制迁移时的上传带宽,例如指定为 83886080 (83886080 = 80 * 1024 * 1024),则限制单线程 80Mbps 上传带宽
# 注意限速范围为819200 - 838860800,即800Kbps - 800Mbps
threadTrafficLimit=
# 表示迁移工具将全文的MD5计算后,存入文件的自定义头部x-cos-meta-md5中, 用于后续的校验,因为COS的分块上传的大文件的etag不是全文的md5
# on 打开, off关闭
entireFileMd5Attached=off
# 表示是否启用damon模式,damon表示程序会循环不停的去执行同步,每一轮同步的间隔由damonModeInterVal参数设置
# 如果启用damon模式, 则设置为on, 否则为off
daemonMode=off
# 表示每一轮同步结束后,多久进行下一轮同步,单位为秒
daemonModeInterVal=60
# 表示任务执行的时间窗口, 满足部分客户要求在指定时间段内执行,比如03:30,21:00, 表示在凌晨03:30到晚上21:00之间执行任务。
# 如果当前时间不在时间窗口内,则会进入睡眠状态,暂停迁移,直到下一个时间窗口内自动再继续执行。
# 但每一个任务都是 先判断时间是否在迁移窗口,然后开始迁移,有可能判断的时候 在时间窗口,但是迁移过程中有可能跨过时间窗口, 即存在少量的迁移在时间窗口外执行。
executeTimeWindow=00:00,24:00

迁移成功的结果,按日期归档此目录,为空即不输出。格式每一行为:绝对路径\t文件大小\t最后修改时间,该目录需要存在。

outputFinishedFileFolder=./result

是否接着最后一次运行的结果,继续往下遍历源的文件列表

resume=false

如果 COS 已经有相同的文件,是否直接跳过。默认不跳过,即覆盖原有文件。

skipSamePath=false

代码语言:javascript
复制
# 从本地迁移到COS配置分节
[migrateLocal]

本地目录, 表示将该路径下的数据都迁移到COS, 对于linux绝对路径, 如/a/b/c, 对于windows绝对路径,注意分隔符为两个反斜杠,如E:\a\b\c

localPath=E:\code\java\workspace\cos_migrate_tool\test_data

要排除的目录或者文件的绝对路径, 表示将localPath下面某些目录或者文件不进行迁移,多个绝对路径之前用分号分割,不填表示localpath下面的全部迁移

excludes=

排除更新时间与当前时间相差不足一定时间段的文件,单位为秒

默认不设置, 表示不根据lastmodified时间进行筛选

适用于客户在更新文件的同时又在运行迁移工具, 不准备把正在更新的文件迁移上传到COS, 比如设置为300, 表示只上传更新了5分钟以上的文件

ignoreModifiedTimeLessThanSeconds=

多个后缀用;隔开,例如:.txt;.tmp;

ignoreSuffix=

on:忽略空文件,off:不忽略。默认不忽略

ignoreEmptyFile=

on: 使用列表文件指定所有待迁移文件的相对路径; off: migration递归遍历localPath, 添加待迁移文件; 默认off

可使用excludes, ignoreModifiedTimeLessThanSeconds, ignoreSuffix, ignoreEmptyFile忽略列表中的文件

#fileListMode=on

当fileListMode=on的时候,fileListPath参数为localPath下待迁移文件的相对路径列表

#fileListPath=/data/config/myFileList.txt

比较通用且必要的迁移配置包括以下这几项

type=migrateLocal
secretId=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
secretKey=yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
bucketName=mybucket-1251668577
region=ap-guangzhou
cosPath=/

其中threadTrafficLimit参数可指定上传限速,以避免带宽占用过高,注意,threadTrafficLimit为单链接限速,需要结合smallFileExecutorNum与bigFileExecutorNum之乘积来整体预估带宽值。

其中fileListMode为24小时内的周期执行配置,如将迁移任务放置在夜间等业务低峰时期进行迁移。避免影响业务高峰体验。

步骤6 执行迁移指令

代码语言:javascript
复制
sh start_migrate.sh

执行任务后可以看到迁移进度列表。直到迁移完成

COS Migration执行结果

如有migrate_fail失败记录,可在log目录内的error.log查明原因

4.4.2MSP迁移

创建bucket及子帐号授权步骤同4.4.1 略

步骤1 资源准备

这里我们以从OSS迁移对象到COS,使用半托管agent方式为例

首先需要创建至少两台ECS服务器(一台为master,一台为worker),在阿里云ECS控制台购买

步骤2 下载agent到待迁移ECS服务器,并修改配置,填写数据源的服务密钥

代码语言:javascript
复制
./agent/conf/agent.toml

此处填写腾讯云用于迁移的云 API 密钥对

secret_id = '此处填写腾讯云 API 密钥 AccessKey'
secret_key = '此处填写腾讯云 API 密钥 SecretKey'

agent 下载地址 https://migrate-1256125716.cos.ap-guangzhou.myqcloud.com/agent/agent.zip

步骤3 创建MSP任务

MSP迁移服务平台-对象存储迁移-新建对象迁移任务

迁移任务配置信息
迁移任务配置信息

https://console.cloud.tencent.com/msp/v2file/create

步骤5 观察进度

启动gent,执行命令如下

代码语言:javascript
复制
# chmod +x ./agent/bin/agent

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

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

执行结果(成功)

代码语言:javascript
复制
use conf file ../conf/agent.toml
local ip is empty, use 172.17.172.235!
worker num is empty, use 1!
accout area ok!
checking network...
network ok
start agent service in background!

注意agent所在的迁移服务器的安全组或防火墙需要开放两个端口的出方向,也可自行修改端口

代码语言:javascript
复制
# RPC list agent的默认端口
rpc_list_agent_default_port = 12345

RPC worker agent的默认端口

rpc_worker_agent_default_port = 22345

5分钟后回到MSP控制台观察进度。

任务启动后几分钟可看到agent状态,如下

说明任务执行正常。

步骤6 任务完成

迁移任务完成

如发现有失败的任务,可以通过“重试失败任务”来尝试继续迁移。如多次失败,可通过“导出失败文件列表”来进行手动迁移。一般为源站访问失败或源站文件过大,超时或失败次数过多导致。错误信息如:frag retry too many times timeout

4.5数据一致性校验

本地数据一致性校验

linux可通过ls -lR | grep "^-"| wc -l 来统计当前目录及子目录下的文件个数。

windows可通过属性的方式统计文件个数

windows资源管理的目录属性

云上目的资源统计

可通过在bucket概览处查看桶内文件总数(文件概览统计有一定延时,一般情况下最长在2个小时左右

COS目的对象数统计

友商源资源统计

OSS源文件数统计

如对象数较多且需要迁移源为指定前缀,可使用友商的“清单”方式来统计,这里不做过多介绍,详见

https://help.aliyun.com/document_detail/163489.html

迁移资源统计

迁移资源数统计

4.6数据迁移工具总结

COS Migration

MSP

易用性

需自行配置

全托管方式简单易用★★★

性能

依赖于单机性能

半托管方式可创建多个worker服务器并发迁移★★★

用途

本地迁移,AWS,阿里云,七牛云,又拍云,腾讯云,URL方式

阿里云,华为云,七牛云,金山云,百度云,ucloud,又拍云,AWS,支持S3协议源站,腾讯云,URL方式 ★★★

灵活性

需要自行切割前缀,实现多台服务器并发迁移

通过配置,实现worker服务实时队列增减。 ★★★

时间周期

24小时内定制时间执行,通过系统的“计划任务”可实现周、月纬度时间定制执行★★★

无时间周期设置

限速

通过控制并发数来实现限速

可通过设置单个worker外网带宽来限速;也可以通过设置整个任务的总带宽限制★★★

成本

友商迁移场景,迁移服务器建议创建在友商。数据源(内网下行)--(内网上行)迁移服务器(外网下行)--(外网上行)COS

友商迁移场景(量大),全托管方式不推荐,会产生较高公网下行流量费用。数据源(外网下行)--(外网上行)MSP全托管服务(内网下行)--(内网上行)COS

5.云上环境切换与验证

5.1云上环境校验

5.1.1网络连通性验证

常用命令可以使用telnet或curl来做验证

COS默认开放80和443端口,命令方式

代码语言:javascript
复制
telnet [bucket]-[appid].cos.ap-beijing.myqcloud.com 80

如下所示

telnet验证

验证端口正常。

如果要测试资源的连通性,可使用curl命令,注意如公共读权限可直接下载访问,如果是私有权限的对象,可通过“复制临时链接”的方式下载验证

对象详细页面

如下所示为带有临时签名方式的访问

curl 命令验证

命令下载验证成功

5.1.2访问权限校验

在控制台-存储桶-权限管理 页面来业务所需权限设置

访问策略验证流程如下

建议非必要情况下,不使用匿名或公共读策略,可能会导致被盗刷等风险。

5.1.3数据冗余能力校验

控制台--存储桶--容错容灾管理

版本控制

版本控制可在误删除或误覆盖的场景下保存历史版本信息,可通过历史版本恢复丢失的对象内容。同时,历史版本会产生一定的存储空间,可使用生命周期自动清理过期的历史版本,以节约成本,同时也保证数据的灾难恢复。

存储桶复制

存储桶复制是一种更为可靠的容灾能力,可通过同步将存储桶数据复制到异地存储桶,在园区级异常的场景下,可通过切换或重试访问异地存储桶,实现服务的可持续性访问。

建议开启。

5.1.4增量差异数据读取功能校验

控制台--存储桶--基础配置--回源设置

该功能可设置为当COS访问404时,可通过获取源站的方式同步/异步拉取到资源到COS,同时返回给客户端,确保“热”数据同步迁移和访问正常。

如下示例,为设置源站xxx.com 的同步回源配置

这样可以确保已迁移到COS上的数据和未复制到COS上的数据同时访问。

5.1.5日志、监控等配套功能校验

控制台--存储桶--日志存储/数据监控

这两个功能用于生成离线数据和实时监控数据,建议开启,方便对于后续的访问日志进行核对。

日志存储&数据监控

5.2云上业务环境切换

5.2.1数据源切换

在测试访问成功的基础上。将业务文件源站域名切换至COS域名,通过业务入口进行线上验证。

5.2.2域名解析切换

如使用自定义域名(推荐),可以以COS为源或CDN为源的形式。无论以哪种形式来访问,均需要在COS控制台绑定自定义域名。然后将业务域名cname修改为CDN/COS 。实现业务入口的切换。

CDN&自定义域名管理

5.3差异数据同步

5.3.1增量差异数据一次性同步

在一次性任务迁移完成后至业务入口切换完成前,仍有一部分增量数据在源站待迁移。这一部分增量数据相对数据规模不大,可使用MSP的全托管方式来实现。

这里的时间范围为一次性迁移至业务完全切换后的时间段。同时可设置同名文件跳过,避免重复复制。

差异数据迁移

5.3.2增量差异数据读功能验证

任务完成后,对增量迁移数据访问

curl XXXX -v /dev/null

检查响应头的server节点为tencent-cos 即为迁移成功。

至此,切换任务完毕,数据全部上云。