使用ossimport遷移數據
ossimport支持將任意地域的本地存儲數據、第三方存儲數據、對象存儲OSS數據遷移至任意地域的OSS中。本文介紹如何使用ossimport將數據從第三方存儲遷移到OSS。
背景信息
某用戶的數據存儲于騰訊云COS廣州(華南)區域,數據大小約500TB。現希望將這些數據,通過ossimport工具,于一周內遷移至OSS華東1(杭州)區域。在遷移的同時,需保證自身業務的正常進行。
ossimport有單機模式和分布式模式兩種部署方式:
對于小于30TB的小規模數據遷移,單機模式即可完成。
對于大規模的數據遷移,請使用分布式模式。
此需求需要使用ossimport分布式配置進行數據遷移。
您也可以使用在線遷移服務進行數據的遷移,遷移過程更加簡單,詳情請參見在線遷移服務。
準備工作
開通OSS,并創建華東1(杭州)地域的存儲空間(Bucket)
創建RAM用戶,并授予訪問OSS的權限
在RAM控制臺創建RAM用戶,并授權該RAM用戶訪問OSS的權限,然后保存AccessKey ID和AccessKey Secret。詳情請參見準備工作。
(可選)購買ECS
購買與OSS相同地域的ECS實例。有關ECS實例規格的更多信息,請參見通用型(g系列)。如果遷移后ECS實例需釋放,建議按需購買ECS。
說明如果分布式部署所需的計算機數量較少時,您可以直接在本地部署;如果所需計算機數量較多時,建議在ECS實例上部署。本示例以ECS實例進行遷移任務。
ECS所需數量的計算公式為:X/Y/(Z/100)臺。其中X為需要遷移的數據量、Y為要求遷移完成的時間(天)、Z為單臺ECS遷移速度Z Mbps(每天遷移約Z/100 TB數據)。假設單臺ECS遷移速度達到200Mbps(即每天約遷移2TB數據),則上述示例中需購買ECS 36臺(即500/7/2)。
配置ossimport
結合本示例中的大規模遷移需求,您需要在ECS上搭建ossimport分布式模式。有關分布式部署的配置定義信息,如
conf/job.cfg
、conf/sys.properties
、并發控制等配置,請參見說明及配置。有關分布式部署的相關操作,如ossimport下載、配置過程的常見錯誤及排除等,請參見分布式部署。
遷移方案
使用分布式模式將第三方存儲遷移至OSS的過程如下:
在ECS上搭建ossimport分布式環境后,ossimport從騰訊云COS廣州(華南)區域下載數據到ECS華東1(杭州),建議使用外網。使用ossimport從ECS華東1(杭州)將數據上傳到OSS華東1(杭州),建議使用內網。
遷移過程涉及到的費用包含:源和目的存儲空間訪問費用、源存儲空間的流出流量費用、ECS實例費用、數據存儲費用、時間成本。如果數據超過TB級別,存儲成本和遷移時間成正比。相對流量、存儲費用,ECS費用較小,增加ECS數量,會減少遷移時間。
遷移實施
全量遷移第三方存儲T1前的歷史數據。
詳細步驟請參考分布式部署的運行。
重要T1為Unix時間戳,即自1970年01月01日UTC零點以來的秒數,通過命令date +%s獲取。
配置鏡像回源。
數據遷移過程中,源站還在不斷產生新的數據。為了不中斷業務,做到業務無縫切換,還需要配置鏡像回源功能。當用戶請求的文件在OSS中沒有找到時,OSS會自動到源站抓取對應文件保存到OSS,并將內容直接返回給用戶。更多信息,請參見OSS鏡像回源。
修改配置文件job.cfg的配置項importSince=T1,重新發起遷移任務,進行T1~T2的增量數據遷移。
將業務系統讀寫切換至OSS,此時業務系統記錄的時間為T2。
說明步驟4完成后,您業務系統的所有的讀寫都在OSS上。第三方存儲只是一份歷史數據,您可以根據需要決定保留或刪除。
ossimport只負責數據的遷移和校驗,不會刪除任何數據。
參考文檔
有關ossimport的相關說明,請參見以下文檔: