COS 迁移到 OSS

准备工作

首先,我们要先了解在 OSS 要部署在哪个 地域 里面。创建存储桶后在同一地域购买一个临时的 抢占式实例 进行迁移工作。

同一地域使得上传文件可以通过内网地址或者挂载磁盘来走内网通道。这块传输流量费是免费的,好一点的配置内网带宽都有 1 Gbps

创建存储桶

创建服务器

抢占式实例购买地址:https://ecs-buy.aliyun.com/wizard/#/spotPostpay/

COS

coscmd 文档:https://cloud.tencent.com/document/product/436/10976

安装工具需要的 python3 环境

1
$ yum -y install python36

安装 coscmd

1
$ pip3 install coscmd

coscmd 初始化

1
2
3
$ coscmd config -a <SECRET_ID> -s <SECRET_KEY> -b <BucketName-APPID> -r <REGION> -m 30
# 示例
$ coscmd config -a AKxxxxxx -s Ws6xxxx -b cdn-1252156936 -r ap-guangzhou -m 30

创建一个临时目录,然后将全部资源下载到该目录

1
2
$ mkdir migration
$ coscmd download -rf / migration

注意:空文件夹不会被下载下来的。

OSS

ossutil 文档:https://help.aliyun.com/document_detail/50452.html

安装 ossutil

1
2
$ wget http://gosspublic.alicdn.com/ossutil/1.6.10/ossutil64
$ chmod 755 ossutil64

ossutil 初始化

1
2
3
4
5
6
7
8
$ ./ossutil64 config
请输入配置文件名,文件名可以带路径(默认为:/home/user/.ossutilconfig,回车将使用默认路径。如果用户设置为其它路径,在使用命令时需要将--config-file选项设置为该路径):
未输入配置文件路径,将使用默认配置文件:/home/user/.ossutilconfig。
对于下述配置,回车将跳过相关配置项的设置,配置项的具体含义,请使用"help config"命令查看。
请输入endpoint:http://oss-cn-shenzhen.aliyuncs.com
请输入accessKeyID:yourAccessKeyID
请输入accessKeySecret:yourAccessKeySecret
请输入stsToken:

将刚才临时目录的全部文件上传

1
$ ./ossutil64 cp -r migration oss://hongfs-migration/ --jobs 100

完成

通过 OSS Browser 可以看到我们文件都上传上去了。

我文章写的这个方案只适合小规模的数据迁移,没有去做资源的完整性校验。而且采用这个方案你购买的 服务器磁盘大小 = 存储桶容量 + 20 G 的系统文件

推荐下阿里云其他的迁移工具:ossimport在线迁移服务

参考

阿里云ECS:网络FAQ

往上