1. 程式人生 > >阿裏雲OSS和騰訊雲COS互相遷移

阿裏雲OSS和騰訊雲COS互相遷移

存儲 col 直接下載 不支持 分布 因此 時間 lse 運行環境

利用阿裏、騰訊的幫助文檔中提供的遷移工具測試遷移對象存儲數據。

一、騰訊to阿裏
文檔鏈接:https://help.aliyun.com/document_detail/56990.html?spm=5176.7851628.6.1079.UqBdXK
OssImport工具可以將本地、其它雲存儲的數據遷移到OSS,它有以下特點:

支持的豐富的數據源,有本地、七牛、百度BOS、AWS S3、Azure Blob、又拍雲、騰訊雲COS、金山KS3、HTTP、OSS等,並可根據需要擴展;
支持斷點續傳;
支持流量控制;
支持遷移指定時間後的文件、特定前綴的文件;
支持並行數據下載、上傳;
支持單機模式和分布式模式,單機模式部署簡單使用方便,分布式模式適合大規模數據遷移。

  • 運行環境
    安裝Java 1.7及以上
  • 部署方式
    OssImport有 單機模式 和 分布式模式 兩種部署方式。對於小於 30TB 的小規模數據遷移,單機模式即可完成。對於大規模的數據遷移,請使用分布式模式。

單機模式下文件結構如下:
技術分享圖片

分布式:
技術分享圖片

本例是測試單擊部署
下載工具包地址:http://gosspublic.alicdn.com/ossimport/standalone/ossimport-2.3.1.zip?spm=5176.doc57053.2.4.iSAMVL&file=ossimport-2.3.1.zip
下載到本地後解壓,編輯配置文件\ossimport-2.3.1\conf\local_job.cfg


如下是相關配置

#是否打開增量模式,如果設為true,會每間隔incrementalModeInterval(單位秒)重新掃描一次增量數據,並將增量數據同步到oss上,incrementalModeInterval不建議配置成小於3600秒的值,會浪費很多請求次數,造成額外的開銷(目前可配置的最小間隔為900秒)
isIncremental=false
incrementalModeInterval=86400
####################同步源端設置####################
#同步源類型,目前支持:
#1.local(本地文件,此選項只需要填寫srcPrefix,不需要填寫srcAccessKey,srcSecretKey,srcDomain,srcBucket)
#2.oss(從oss的一個bucket遷移到另一個bucket)
#3.qiniu(七牛)
#4.bos(百度的雲存儲)
#5.ks3(金山的雲存儲)
#6.s3(亞馬遜s3)
#7.youpai(又拍雲,又拍雲獲取文件列表的接口比較特殊,在同步時list不支持斷點,因此在list沒有完成時殺掉同步進程會導致下次會重新全部list文件列表)
#8.http (通過提供的http鏈接列表同步數據,此選項不需要填寫srcAccessKey,srcSecretKey,srcDomain,srcBucket,srcPrefix)
#9.cos(騰訊雲)
#10.azure(微軟blob)
srcType=cos
srcAccessKey=AKIDuhxxxxxxvUt
srcSecretKey=PekfTxxxxxxxxohR
#源endpoint,同步本地文件以及通過http地址同步的不需要填
srcDomain=sh
srcBucket=testsh
#源前綴,默認為空,如果srcType=local,則此目錄是本地目錄,如果是其他類型,則是源Bucket裏需要同步的Object的前綴,註意如果是本地目錄,需要完整目錄路徑(以‘/‘進行分割並且以‘/‘結尾,例: c:/example/)
srcPrefix=/123/

#####################同步目的端設置######################
destAccessKey=LTxxxxxxxxxxxxxxxxxxxxxxxxxxKQ
destSecretKey=edHc1xxxxxxxxxxxxxxxxxxxxxxxPC
#目的endpoint,請根據您的實際oss區域填寫,默認為杭州的域名,如果用阿裏雲ecs虛擬機做遷移的,請使用internal域名,不計費且不受虛擬機帶寬限制(非虛擬機無法使用);例:http://oss-cn-hangzhou-internal.aliyuncs.com
destDomain=http://oss-cn-shanghai.aliyuncs.com
#目的bucket,不需要加上"/"
destBucket=qianyi-test
#目標前綴,默認為空,直接放在bucket下(如果要將數據同步到oss的某個目錄下,請以‘/‘結尾),註意:oss不支持以 ‘/‘ 作為文件的開頭,所以destPrefix請不要配置以‘/‘做為開頭
destPrefix=111/

配置正確後運行程序:
windows到工具目錄裏,運行import.bat,linux運行import.sh

技術分享圖片

查看運行的狀態
技術分享圖片

已遷移完成
技術分享圖片

阿裏OSS上查看結果
技術分享圖片

註意:程序裏有相關參數設置,比如默認是每執行一次都是將源對象存儲中的數據全部復制過來,而且是覆蓋復制,這些的都可以在配置文件中設置參數。

二、阿裏to騰訊
本遷移工具支持從 AWS S3、阿裏雲OSS 和七牛雲等服務遷移文件到對象存儲COS;同時也支持文件列表遷移,即從一系列給定的 URL 中遷移文件到對象存儲 COS。
使用限制:只適用於 COS V4 版本
系統環境:Linux 或 Mac 系統
軟件依賴:Python 2.7.x,同時應該安裝 pip,gcc 與 python-dev。

安裝及配置:

  • 1、安裝python2.7.x
    wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
    tar -zxvf Python-2.7.9.tgz
    cd Python-2.7.9
    ./configure --prefix=/usr/local/python-2.7.9
    make&&make install
    ln -s /usr/local/python-2.7.9/bin/python /usr/bin/python2.7.9
  • 2、安裝 pip,gcc 與 python-dev
    yum install python-pip python-devel gcc
    如果pip安裝的有問題再如下這樣安裝:
    wget https://bootstrap.pypa.io/get-pip.py
    python get-pip.py
    pip -V 查看pip版本
  • 3、下載工具
    https://github.com/tencentyun/cos_migrate_tool,可以下載ZIP到本地然後上傳到linux服務器上。
    直接下載到服務器上:git clone https://github.com/tencentyun/cos_migrate_tool.git
    如果沒有git,yum install git安裝,需要高版本的要編譯安裝。
    技術分享圖片

  • 4、安裝工具
    pip install -U cos_migrate_tool
    cos_migrate_tool -h 檢查是否安裝成功
    技術分享圖片

  • 5、配置
    技術分享圖片
    
    編輯oss-2-cos.conf(這是cos4版本4的)
    [common]
    workspace=/tmp/tmp6

[source]
type=oss
accesskeyid=LTxxxxxxxQ
accesskeysecret=edHxxxxxxPC
bucket=qianyi-test1
endpoint=oss-cn-qingdao.aliyuncs.com

[destination]
type=cosv4
region=sh
#註意這個region要填寫縮寫
accesskeyid=AKxxxxxxxxovUt
appid=1253961596
accesskeysecret=PxxxxxxxxxxxxxxxxxxR
bucket=testsh



- 6、運行測試
    cos_migrate_tool -c /root/cos_migrate_tool-master/conf/oss-2-cos.conf

![](https://s1.51cto.com/images/blog/201904/18/18182cdb5a582393ba78161ba3b8b904.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

卸載:pip uninstall cos_migrate_tool

阿裏雲OSS和騰訊雲COS互相遷移