最近将公司几十G的图片附件整个都迁移到了阿里云对象存储OSS,使用OSS的好处这里就不多说了,迁移的过程使用了几个工具和遇到的问题在这里做一下汇总记录。

下面一共介绍了四种工具的使用 OssFSOssImportOssUtilOssBrowser

OssImport

OssImport是阿里云OSS提供的一款将数据迁移至OSS存储空间(Bucket)的工具。您可以将OssImport部署在本地服务器或云上ECS实例内,轻松将您本地或其它云存储的数据迁移到OSS。

最初是想用阿里云正在测试的在线迁移,但是不知为何就是选不到ECS服务器的网络节点,工单也没有解决,最后工单推荐这个工具;这个工具很简单,下载下来以后解压即可使用;

安装

下载后解压即可使用,下载地址见阿里云官网。
该工具需要java环境,如果没有请先安装

yum -y install java-1.8.0-openjdk*

配置

该工具只需要根据需求修改配置文件即可

常用命令

#一键导入
bash import.sh 
#清除同名任务
bash console.sh clean 
#启动服务
bash console.sh start 
#停止服务
bash console.sh stop 
#任务状态
bash console.sh stat 

这个工具很好用,走内网迁移速度也超快,20个G的文件眨眼功夫就完事了。

OssUtil

ossutil是以命令行方式管理OSS数据的工具,提供方便、简洁、丰富的Bucket和Object管理命令,支持Windows、Linux、 Mac平台。

曾经我有一个香港ECS服务器要迁移到北京OSS Bucket的需求,发现用前面的ossimport相当慢,工单说换这个试试看,但其实速度和ossimport一样。

这个工具就如介绍说的,是命令行版的OSS数据管理,也可以用作数据迁移。

安装

wget http://gosspublic.alicdn.com/ossutil/1.5.0/ossutil64

设置权限

chmod 755 ossutil64

使用方法

这个工具很简单,详细使用教程参加阿里云官网 传送门;下面提供两个常见命令。

#写配置:
./ossutil64 config -e oss-cn-beijing.aliyuncs.com -I LT****lTto3Rg -k 9oG9y1n0*******2r3WF3

#上传文件夹,上传文件去掉-r即可,--update 参数跳过已存在文件
./ossutil64 cp -r /Downloads/signature oss://shj-test/ossutiltest --update

OssBrowser

OssBrowser 是 OSS 官方提供的图形化管理工具,提供类似 Windows 资源管理器的功能。使用 ossbrowser,您可以方便地浏览、上传、下载和管理文件。

1.png

这个就不用多说了,图形化的,适合小白来管理OSS数据。

OssFS

ossfs能让您在Linux系统中把OSS bucket 挂载到本地文件系统中,您能够像操作本地文件一样操作OSS对象,实现数据的共享。

这个工具是我最早使用的工具,当时是想把服务器的几十G附件文件备份到我个人电脑,服务器上打包以后下载会受ECS服务器的带宽限制,我的服务器是3M的最多也就300多K每秒,太慢了,于是找到了这个工具;将OSS Bucket挂在到ECS服务器上,然后把打包后的文件拷贝到挂在的目录,这里等于直接上传至OSS了,而且阿里系产品可以走内网,超快,还不收流量费;最后从OSS获取文件路径下载,不限速可以跑慢带宽贼爽。

具体的使用方法见以前写过一篇关于ossfs的文章 > 传送门

最后说一下,按照阿里云官方的说法,不同地域就不能走内网了;我曾经从青岛ECS迁移数据到青岛OSS,走内网且超快;还从青岛ECS迁移到北京OSS,按照官方说法这就不能走内网,但是ossimport工具我还是配置的内网地址,迁移成功且好像速度也很快;我还在OSS Bucket之前测试了迁移,从青岛Bucket迁移到北京Bucket,似乎也超快。但是唯一的从香港ECS迁移到北京OSS,那叫一个慢,应该是受香港ECS服务器的带宽限制,所以如果从香港迁移到国内节点,用ossimport和ossutil都是很慢的;我最后是建了一个香港的OSS Bucket,这样从香港ECS打包迁移到香港OSS,然后从香港OSS满速下载回本地解压,用最后提到的ossbrowser把文文件上传到国内的OSS这样要比用ossimport和ossutil从香港迁移到国内快的多。对了,期间我还测试过香港Bucket迁移到北京Bucket也很慢,看来只有国内的节点之间会很快。