阿里云服务器-跨地域-文件快速传输方案

场景描述:

    阿里云服务器之间大文件的传输,有集中情况,

    1 同一地域下(如,都是在华北三区):

         同是【经典网络】,同是【专有网络】---这种简单,直接内网IP传输文件就行;

         一台是【经典网络】,一台是【专有网络】--这种情况,通过设置ClassicLink安全组规则,用ClassicLink来实现。

       参考:经典网络和专有网络互通,https://help.aliyun.com/document_detail/108468.html

   2. 不同地域下,两台服务器之间,不能使用内网IP传输,外网传输的话,取决于服务的网络带宽,一般带宽5M的话,传输速度在700Kb/秒,稍微大点的文件,估计要拷贝到睡着;接下来也就是今天要说的重点,可以通过对象存储建立中转来处理:https://developer.aliyun.com/article/868864?spm=a2c6h.12873639.article-detail.43.11b84b5bSJ1clm

以linux操作系统为例:

一:阿里云oss控制台,对象存储---Bucket列表,创建新的Bucket名称:test-aokesi 用于存放数据;

创建完成后进入该Bucket,概览界面可以看到,待会我们要用到的传输地址,复制下来。

二: 数据文件所在服务器操作:

注意:重要!重要!重要!刚创建的Bucket所在的区域,和数据所在的服务器所处地域,必须在同一个区域,例:都在华北3区,否则网络不通,已验证!!!

ossutil下载和安装
[root@iZ2zeab8t820b6yl5wbxk6Z ~]# wget http://gosspublic.alicdn.com/ossutil/1.6.9/ossutil64
[root@iZ2zeab8t820b6yl5wbxk6Z ~]# chmod 755 ossutil64

使用命令行交互式配置生成配置文件:
[root@iZ2zeab8t820b6yl5wbxk6Z ~]# ./ossutil64 config
The command creates a configuration file and stores credentials.
Please enter the config file name,the file name can include path(default /root/.ossutilconfig, carriage return will use the default file. If you specified this option to other file, you should specify --config-file option to the file when you use other commands): ----回车
No config file entered, will use the default config file /root/.ossutilconfig
For the following settings, carriage return means skip the configuration. Please try "help config" to see the meaning of the settings
Please enter language(CH/EN, default is:EN, the configuration will go into effect after the command successfully executed):EN  ---输入EN

Please enter endpoint: http://oss-cn-zhangjiakou-internal.aliyuncs.com --输入自己的对象存储地址
Please enter accessKeyID:********* ---输入accessKeyID
Please enter accessKeySecret:*********** ---输入accessKeySecret
Please enter stsToken: ---可以直接回车,不用输入

[root@iZ2zeab8t820b6yl5wbxk6Z ~]# cat  /root/.ossutilconfig
[Credentials]
language=EN
endpoint= http://oss-cn-zhangjiakou-internal.aliyuncs.com 
accessKeyID=***********
accessKeySecret=*********

注意:

endpoint: http://oss-cn-zhangjiakou-internal.aliyuncs.com  ,必须要有http://,要不会被当作外网,产生流量费用;accessKeyID和accessKeySecret的获取方式:https://help.aliyun.com/document_detail/53045.html     

三:文件上传:

上传命令:

./ossutil64 cp /home/test/aaa.zip oss://test-aokesi/aaa.zip

说明:上边的命令是把本地/home/test/aaa.zip的文件,复制传输到远程oss存储地址Bucket下,名字叫aaa.zip ---路径根据自己实际修改调整。

四.下载

登录目标服务器,创建接收目录,同样要在该服务器上安装ossutil64工具,并做步骤一的配置;

开始执行文件下载命令:

./ossutil64 cp oss://test-aokesi/aaa.zip ./aaa.zip

说明:上边的命令是从远程oss存储地址,复制aaa.zip,到本地当前目录下名字叫aaa.zip  ---路径根据自己实际修改调整。

 

OK,感受下速度,一般文件上传速度在50M/秒左右,下载在70M/秒左右!!!

另外注意,文件传输完成后,如果文件没有其他用处,记得在OSS控制台,把Bucket下你刚传的文件“aaa.zip”删除,否则可能产生额外存放费用。

---补充:

如果,往对象存储地址上传可以,但是在目标服务器上下载有问题,首先检查下Bucket是否开通了“公共读”或者“公共读写”权限;

然后再次尝试下载!!!

如果还是不能正常下载(即:输入命令后没反应),原因可能是,数据上传的对象Bucket所在区域 和 目标服务器所在区域,不在同一个区域,例如都是“华北3区-张家口”;

可以试下另一个方法,利用阿里云oss的扩展功能:对象存储--》冗余容错--》跨区域复制--〉同步到到目标服务器所在区域的Bucket下的对象存储地址。

---不过这样会产生一定的流量费用。

 

posted @ 2022-06-10 16:33  hello-Jesson  阅读(1281)  评论(0编辑  收藏  举报