功能描述
ossutil :是命令行迁移的工具,配置简单,可以适用在本地域名迁移到 OSS 上,支持多线程以及超时重试功能。但支持场景少可以用在本地迁移、OSS 之前迁移,而且迁移日志不太友好,分析起来比较麻烦,没有详细的任务进度;
ossimport :也是需要命令行进行配置,支持多个目录同时进行迁移,适合第三方云迁移到 OSS,本地数据迁移到 OSS、OSS 之前迁移。而且支持主备多机器同时迁移,增加迁移的带宽吞吐,可以有效的提高迁移效率。缺点是配置复杂,多个不同目录迁移时需要配置多个迁移文件;
在线迁移服务:这种方式几乎兼容了以上的所有优先,还可以限制每天迁移高峰期的流量,但缺点是客户数据如果放在本地的 IDC 机房那就无法使用了,要用 ossutil 或者 ossimport ,本文主要介绍在线迁移的方式;
在线迁移
- 目前由于 OSS 数据迁移服务涉及到对目标的 OSS 要有很多 action 的 API 授权,为避免用户产生过多的学习成本,我们直接强制使用主账号进行迁移;
- 该服务正在公测中,目前仍在免费使用阶段;服务使用需要提前工单申请账号 UID 加入白名单;
在线迁移分类
离线迁移:
这里是指的闪电立方硬盘数据 copy 的方式迁移到 OSS;适合用在专有云,以及海量 PB 级别数据想要快速迁移的需求;
在线迁移:
包含了第三方存储迁移到 OSS 以及 ECS 数据迁移到 OSS,具体配置方法如下;
1、创建数据地址,类似 ossimport job.cfg 的操作,配置迁移的数据源,以及目标 OSS bucket 相关配置;
- 迁移数据用的 accesskeyID 要具有对应的权限,授予子账号存储空间读写权限(AliyunOSSFullAccess)和在线迁移管理权限(AliyunMGWFullAccess)
- 数据地址要创建两个,一个源数据地址,一个目标数据地址;
2、创建迁移任务
3、任务类型说明
- 全量迁移:上传所有的源文件到 OSS;
- 增量迁移:上传前先 list 所有的源文件,比对哪些是已经上传过的,将不再重复上传;
- 数据同步:这里注意下,当部署的是 OSS 之间迁移的任务时,可以在同区域进行数据同步操作,定期的同步源 bucket 数据到目标 bucket;
同时还可以针对指定文件的时间进行数据迁移;
4、调优设置
用户配置好迁移体量和文件大致数量后,可以根据设置自动计算分配的工作线程数,同时用户也可以灵活的按时间段限流,或者不限流;
5、使用注意
在创建迁移任务后,OSS 会去源拉个别文件进行测试,如果恰好源文件含有非法命名的 object 就会导致整个任务失败,
非法字符包含 "/ .. " 以及长度不能超过 1024字节;
在线迁移管理
已经创建好的迁移任务,用户可以对其进行管理和监控;
- 进入到管理界面后我们可以看到迁移任务的整体监控(流量,任务状态,迁移进展)
- 任务迁移过程中如果出现失败,用户可以进行重试;
- 任务迁移完成后,用户生成迁移报告,包含来整体的迁移实际数量,是否有报错,以及报错原因等信息;报告是保存在 OSS 上的;
FQA
1、如果要使用迁移服务,子账号需要具备 OSS 管理权限 以及 MGW 的管理权限,授权地址
服务开启方式
https://mgw.console.aliyun.com/?spm=a2c4g.11186623.2.12.5bf6614cWHZzGe#/job?_k=6w2hbo
2、跨域迁移的场景,需要提交功能单独申请,个人要提供内容合法性的生命。
3、排查失败任务原因可以在控制台迁移任务内,生成对应任务报告
4、迁移文件量大、文件多时,OSS 要对源文件进行 list 后才会启动迁移,在 list 过程中比较耗时,如果看到迁移进度 0 的情况正常,只要没有迁移失败用户不用担心;