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典型业务架构图
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
原理架构图
4.1.2友商云迁移工具 MSP
原理架构图
、
4.2数据迁移工具原理说明
4.2.1COS Migration
- COS 迁移工具是有状态的,已经迁移成功的会记录在 db 目录下,以 KV 的形式存储在 leveldb 文件中。
- 每次迁移前对要迁移的路径,先查找下 db 中是否存在, 如果存在,且属性和 db 中存在的一致, 则跳过迁移,否则进行迁移。
- 这里的属性根据迁移类型的不同而不同,对于本地迁移,会判断 mtime。对于其他云存储迁移与 Bucket 复制,会判断源文件的 etag 和长度是否与 db 一致。
- 注意:我们参照 db 中是否有过迁移成功的记录,而不是查找 COS内的记录,如果绕过了迁移工具,通过别的方式(如 COSCMD 或者控制台)删除修改了文件,那么运行迁移工具由于不会察觉到这种变化,是不会重新迁移的。
4.2.2MSP
- 数据源采集,这里有两种情况,第一种可以通过listobject接口来获取对象列表,然后分发给worker进行迁移,如果文件多为小文件,list接口会成为瓶颈,还有一种方式为一次性拉取源站资源清单,目前大部分友商均支持清单功能,通过对不同厂商的清单结果进行格式化,可得到待迁移列表。由于不需要通过接口遍历目录,所以迁移性能会大幅提高。
- 全托管迁移时,无需考虑迁移集群的内部配置,此时配置对客户端透明,仅需要等待任务完成。比较适合少量对象或时间预期不敏感的场景。
- 半托管迁移时,会针对于具体场景优化迁移性能。Master节点会对待迁移任务进行分配,并下发到不同的worker进行迁移,如果选择跳过同名文件,则会对目标对象产生一次head请求,在大量小文件场景中或QPS水位较高时,需要注意。
- 迁移任务完成后会生成迁移任务结果,针对迁移失败的对象可进行重试迁移,也可导出失败文件列表手动迁移,确保迁移对象完全成功。
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密钥
以上,完成基本资源准备。
步骤4 下载迁移工具,下载到待迁移的服务器侧。
https://github.com/tencentyun/cos_migrate_tool_v5
步骤5 进行迁移工具配置,这里主要已本地迁移数据举例
首先看一下迁移配置,这里包括迁移类型,云上目标端,本地节点 三项配置
# 配置迁移类型
# 目前支持四大类, 这里的存储类型和之后的分节名称一致
# 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
# 迁移工具的公共配置分节,包含了要迁移到得目的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
# 从本地迁移到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 执行迁移指令
sh start_migrate.sh
执行任务后可以看到迁移进度列表。直到迁移完成
如有migrate_fail失败记录,可在log目录内的error.log查明原因
4.4.2MSP迁移
创建bucket及子帐号授权步骤同4.4.1 略
步骤1 资源准备
这里我们以从OSS迁移对象到COS,使用半托管agent方式为例
首先需要创建至少两台ECS服务器(一台为master,一台为worker),在阿里云ECS控制台购买
步骤2 下载agent到待迁移ECS服务器,并修改配置,填写数据源的服务密钥
./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,执行命令如下
# chmod +x ./agent/bin/agent
cd agent/bin //必须在 bin 目录中启动 agent 程序(否则会找不到配置文件)
#./agent
Agent 会定时自动从 MSP 平台获取任务的详细配置信息,如果创建多个迁移任务无需重复启动 Agent。
执行结果(成功)
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所在的迁移服务器的安全组或防火墙需要开放两个端口的出方向,也可自行修改端口
# RPC list agent的默认端口
rpc_list_agent_default_port = 12345RPC 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可通过属性的方式统计文件个数
云上目的资源统计
可通过在bucket概览处查看桶内文件总数(文件概览统计有一定延时,一般情况下最长在2个小时左右)
友商源资源统计
如对象数较多且需要迁移源为指定前缀,可使用友商的“清单”方式来统计,这里不做过多介绍,详见
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端口,命令方式
telnet [bucket]-[appid].cos.ap-beijing.myqcloud.com 80
如下所示
验证端口正常。
如果要测试资源的连通性,可使用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 。实现业务入口的切换。
5.3差异数据同步
5.3.1增量差异数据一次性同步
在一次性任务迁移完成后至业务入口切换完成前,仍有一部分增量数据在源站待迁移。这一部分增量数据相对数据规模不大,可使用MSP的全托管方式来实现。
这里的时间范围为一次性迁移至业务完全切换后的时间段。同时可设置同名文件跳过,避免重复复制。
5.3.2增量差异数据读功能验证
任务完成后,对增量迁移数据访问
curl XXXX -v /dev/null
检查响应头的server节点为tencent-cos 即为迁移成功。
至此,切换任务完毕,数据全部上云。