nasimport具有以下特性:
支援的資料源:本地磁盤、oss、七牛、百度對象存儲、金山對象存儲、又拍雲、亞馬遜 s3、騰訊雲 cos、http連結;
支援存量資料同步(允許指定隻同步某個時間點之後的檔案);
支援增量資料自動同步;
支援斷點續傳;
支援并行資料下載下傳和上傳。
需要在能夠挂載目标nas檔案系統的ecs虛拟機上運作該遷移工具。能否挂載nas檔案系統及如何挂載詳見:
windows server 2008 标準版 sp2 32位
windows server 2008 r2 資料中心版 64位
windows server 2012 r2 資料中心版 64位
windows server 2016 資料中心 64位
首先,在您本地伺服器上建立同步的工作目錄(這裡以c:nasimport作為示例),并且将【nasimport】工具包下載下傳在該目錄中。
<a href="http://nasimport.oss-cn-shanghai.aliyuncs.com/nasimport-win.zip">下載下傳</a>
建立一個新的工作目錄,并将壓縮包解壓到目錄中
編輯工作目錄下的配置檔案,即config/sys.properties
建議您直使用配置預設值。如有特殊要求,可以編輯配置字段值
送出任務:<code>nasimport -c config/sys.properties submit <your-job-configuration></code>
取消任務:<code>nasimport -c config/sys.properties clean <job-name></code>
檢視任務:<code>nasimport -c config/sys.properties stat detail</code>
重試任務:<code>nasimport -c config/sys.properties retry <job-name></code>
啟動服務:<code>nasimport -c config/sys.properties start</code>
進入工作目錄,并在目前目錄中打開一個指令行
在指令行中運作<code>nasimport –c config/sys.properties start</code>
備注:
請保持nasimport處于運作狀态。或者,使用者可以将其設定為一個windows背景服務
啟動nasimport時,可以将日志重定向到檔案,友善以後檢視`nasimport -c
configsys.properties start > nasimport.log 2>&1`
configlocal_job.cfg是一個任務定義檔案的模闆,使用者可以按照此模闆來定義自己的任務。
如果配置了自動增量模式,則任務會定期被執行以掃描最新的資料,該任務永遠不會結束。
對于 srctype 為 youpai 的情況,由于又拍雲本身 api 限制,list 檔案的操作無法實作 checkpoint,在 list 完成之前殺掉程序會導緻重新 list 所有檔案的操作。
這裡,我們嘗試将本地的c:\program files\internet explorer複制到nas上。
編輯任務:複制一份configlocal_job.cfg到工作目錄,編輯以下項
注意,destmountdir要選擇一個目前不存在的盤符,否則會和已經存在的産生沖突。destmounttarget為nas的挂載點。
送出任務:在工作目錄重新啟動一個指令行,運作<code>nasimport -c config\sys.properties submit local_job.cfg</code>
注意事項:
如果有同名任務正在執行,則送出任務會失敗。
如果您需要暫停同步任務,您可以停止 nasimport 程序,需要同步時重新開機 nasimport 程序即可,重新開機後會按照上次的進度繼續上傳。
在指令行中輸入<code>nasimport -c config\sys.properties stat detail</code>
這裡會顯示目前任務的總體的執行進度,并且會顯示目前正在執行的 task進度。例如上文中:“4158464/30492741”表示:總共需要上傳的資料量(4158464位元組)/已經上傳完成的資料量(30492741位元組)。“1/1” 表示:總共需要上傳的檔案個數(1個)/已經上傳完成的檔案個數(1個)。
遷移工具會将使用者送出的一個 job 任務分解為多個 task 并行執行,當所有的 task 都執行完成之後,job 任務才算執行完成。任務執行完成之後,jobstate 會顯示為”succeed”或者”failed”,表示任務執行成功或者失敗。如果任務執行失敗,可以通過以下檔案檢視各個task失敗的原因:
對于任務失敗的情況,我們在工具中已經做了較為充分的重試,對于可能由于資料源或者目标源暫時不可用引起的失敗情況,可以通過如下指令嘗試重新執行失敗的 task:
一段時間後,再次運作stat detail指令,
此時,<code>succeededtasks</code>為1,表示任務已經完成。打開檔案浏覽器,可以看到,h:盤中,已經有相關的檔案了:
任務配置出錯,比如 access key/id 出錯,權限不足等,這種情況下通常現象是所有task都失敗,具體确認需要檢視工作目錄下的nasimport.log 檔案(啟動nasimport時需要将日志重定向到此檔案,或者,直接在運作nasimport start的指令行上直接檢視)。
源檔案名的編碼方式與系統預設的檔案名編碼方式不符,例如在 windows下檔案名預設為 gbk 編碼,linux 下預設為 utf-8 編碼,對于資料源是 nfs 的情況下較容易出現該問題。
上傳過程中源目錄的檔案發生了修改,這種情況在 audit.log 裡會提示size_not_match 相關字樣的錯誤,這種情況下老的檔案已經上傳成功,新的修改沒有上傳到 nas。
源檔案在上傳過程中被删除,導緻下載下傳檔案時失敗。
資料源出現問題導緻下載下傳資料源檔案失敗。
沒有先殺掉程序再執行 clean 有可能會導緻程式執行異常。
程式異常退出,任務狀态為 abort,這種情況請聯系我們(請加旺旺群:1562614356 )。
在配置遷移服務時,如果源端是 oss,請将 srcdomain 設為帶 internal 的内網域名,可以省掉從 oss 源端下載下傳的流量費,僅收取 oss 通路次數的費用,且可以獲得更快的遷移速度,oss 内網域名您可以從 oss 控制台擷取。