准备工作
首先,我们要先了解在 OSS 要部署在哪个 地域 里面。创建存储桶后在同一地域购买一个临时的 抢占式实例 进行迁移工作。
同一地域使得上传文件可以通过内网地址或者挂载磁盘来走内网通道。这块传输流量费是免费的,好一点的配置内网带宽都有 1 Gbps
。
创建存储桶
创建服务器
COS
coscmd 文档:https://cloud.tencent.com/document/product/436/10976
安装工具需要的 python3 环境
1 | yum -y install python36 |
安装 coscmd
1 | pip3 install coscmd |
coscmd 初始化
1 | coscmd config -a <SECRET_ID> -s <SECRET_KEY> -b <BucketName-APPID> -r <REGION> -m 30 |
创建一个临时目录,然后将全部资源下载到该目录
1 | mkdir migration |
注意:空文件夹不会被下载下来的。
OSS
ossutil 文档:https://help.aliyun.com/document_detail/50452.html
安装 ossutil
1 | wget http://gosspublic.alicdn.com/ossutil/1.6.10/ossutil64 |
ossutil 初始化
1 | ./ossutil64 config |
将刚才临时目录的全部文件上传
1 | ./ossutil64 cp -r migration oss://hongfs-migration/ --jobs 100 |
完成
通过 OSS Browser 可以看到我们文件都上传上去了。
我文章写的这个方案只适合小规模的数据迁移,没有去做资源的完整性校验。而且采用这个方案你购买的 服务器磁盘大小 = 存储桶容量 + 20 G 的系统文件
。
推荐下阿里云其他的迁移工具:ossimport、在线迁移服务