遷移任務是線上遷移服務的核心操作單元。通過配置並執行遷移任務,系統按既定的頻寬、並發、覆蓋策略與篩選規則,將源端的資料拷貝至目的端儲存,併產生遷移日誌與報告用於審計與回溯。
基礎配置
配置遷移任務的基本資料,包括任務名稱、源地址和目的地址。
任務名稱
遷移任務的名稱,名稱需要符合以下規則:
名稱不可為空,長度為3~63個字元。
支援英文小寫字母、數字和特殊字元短劃線(-)和底線(_),且區分大小寫。
UTF-8編碼不能以短劃線(-)和底線(_)開頭。
地址配置
源地址:資料移轉從該地址讀取資料,作為資料移轉的起始點。
目的地址:資料移轉向該地址寫入資料,作為資料移轉的終點。
限流配置
通過限流配置控制遷移過程中的網路頻寬使用和檔案傳輸速率,確保遷移過程不會對業務造成影響。實際遷移頻寬與資料來源、網路、檔案大小等因素有關,不一定能達到指定上限。請您評估資料來源、業務情況、網路頻寬等,並根據實際情況選擇合理數值,限流不恰當可能會影響業務的正常運行。不同地區支援的任務頻寬與QPS上限不同。
遷移頻寬
資料移轉時所佔用的網路頻寬上限。在遷移任務進行中,您可以根據業務負載隨時修改頻寬上限,修改頻寬上限後需要一定的生效時間。
檔案傳輸速率
每秒遷移檔案數,控制檔案傳輸的並發度。資料移轉過程中,您可以根據您的實際情況隨時修改每秒遷移檔案數上限參數,修改每秒遷移檔案數上限後需要一定的生效時間。
覆蓋方式
當目的端存在同名檔案時,選擇相應的處理策略。合適的覆蓋策略可以在您進行多輪資料移轉時,減少同名檔案的重複搬遷,節省頻寬和所需時間。
覆蓋方式選項
不覆蓋:跳過該檔案,不進行遷移。
全部覆蓋:源地址中的檔案會覆蓋目的地址中的檔案。
根據最後修改時間覆蓋:
當源地址中的檔案最後修改時間晚於目的地址中的檔案最後修改時間時,目的地址中的檔案會被覆蓋。
當源地址中的檔案最後修改時間與目的地址中的檔案最後修改時間相同時,若二者的Size和Content-Type有一項不同,則目的地址中的檔案會被覆蓋。
根據最後修改時間覆蓋無法嚴格保證一定不會覆蓋更新的檔案,存在舊檔案覆蓋新檔案的風險。
若您選擇根據最後修改時間覆蓋的覆蓋方式,請務必確保源端檔案能返回最後修改時間、Size、Content-Type等資訊,否則覆蓋策略可能失效,產生非預期的遷移結果。
選擇不覆蓋或根據最後修改時間覆蓋時,為執行後續覆蓋判斷,會分別請求源端和目的端meta資訊一次,因此會在源端和目的端產生對應的請求費用。
過濾器
通過設定過濾器來精確控制需要遷移的檔案範圍,支援檔案名稱過濾和時間過濾。
過濾器的工作原理是先對源端檔案進行全量掃描,再從中篩選出需要遷移的檔案。因此,當源端檔案數量較多時,全量掃描會耗費較長時間。
檔案名稱過濾器作用於源檔案的絕對路徑。
檔案名稱過濾
檔案名稱:設定檔案名稱過濾器,以精準控制需要遷移的檔案範圍。
支援設定包含和排除兩種過濾規則,規則採用RE2庫Regex文法(僅支援部分文法)。
規則樣本
.*\.jpg$表示以.jpg結尾的所有檔案。^file.*預設表示根目錄下以file開頭的所有檔案。如果來源資料地址設定了首碼,例如來源資料地址首碼為data/to/oss/,則需要使用
^data/to/oss/file.*來匹配指定首碼下以file開頭的所有檔案。.*/picture/.*表示匹配某一級為picture的子目錄。
過濾規則說明
包含規則:符合規則的檔案都會被遷移,如果有多條規則,符合任意一個條件的檔案都會被遷移。
例如2個檔案picture.jpg和picture.png,設定一條包含規則過濾
.*\.jpg$,此時只會遷移picture.jpg檔案,如果同時也設定了包含規則過濾.*\.png$,則2個檔案都會被遷移。排除規則:符合規則的檔案都不會被遷移,如果有多條規則,符合任意一個條件的檔案都不會被遷移。
例如2個檔案picture.jpg和picture.png,設定一條排除規則過濾
.*\.jpg$,此時只會遷移picture.png,如果同時也設定了排除規則過濾.*\.png$,則2個檔案都不會被遷移。
優先順序:排除規則優先。當一個檔案既在排除規則中又在包含規則中,則檔案不會被遷移。
例如檔案file.txt,設定排除規則過濾.*\.txt$檔案,並同時設定包含規則過濾file.*,則此時file.txt檔案不會被遷移。
檔案修改時間過濾
檔案修改時間:根據檔案的最後修改時間來篩選需要遷移的檔案。
系統將只遷移最後修改時間在指定範圍內的檔案。
僅指定開始時間:例如設定為"2019-01-01 00:00:00",則僅遷移最後修改時間晚於或等於該時間點的檔案。
僅指定結束時間:例如設定為"2022-01-01 00:00:00",則僅遷移最後修改時間早於或等於該時間點的檔案。
同時指定起止時間:例如開始時間為"2019-01-01 00:00:00",結束時間為"2022-01-01 00:00:00",則遷移此時間區間內(含邊界)的所有檔案。
任務調度
設定遷移任務的啟動和執行計畫,支援立即執行、指定時間執行和周期性調度。
調度說明
正在遷移中的任務,在下一個指定時間前仍未結束本輪遷移,則會在本輪遷移結束後,自動順延至下一個指定時間啟動任務,直至完成指定次數的遷移。
遷移任務並發數量限制:超出遷移任務並發數量限制後可能導致定時任務調度無法按預期執行。
執行方式
立即執行:立即執行當前任務。
指定執行時間:指定任務執行期間每天的執行時間段。預設情況下,任務將在指定的起始時間啟動,在指定的停止時間暫停。
周期調度:通過調整執行頻率和最大執行輪次來啟動任務。
執行頻率:支援以每小時、每天、每周、一周中某些天、自訂等5種頻率,具體請查看執行頻率詳解。
最大執行輪次:任務從啟動到結束為一輪次,在該輪次限制內自動調度,超過該輪次限制不再自動調度,但仍能手動調度。最大執行輪次限制請參考控制台提示。
可隨時手動啟動和暫停任務,不受自訂執行時間的影響。
執行頻率詳解
執行頻率參考如下:
執行頻率 | 說明 | 樣本 |
每小時 | 選擇以每小時為頻率,可搭配最大執行輪次一起使用。 | 目前時間為8:05,指定每小時為頻率,執行3次任務,則會在下一個整點9點鐘開始第一次任務。
|
每天 | 選擇以每天為頻率時,需設定0~23小時中任意整點時間啟動任務,可搭配最大執行輪次一起使用。 | 目前時間為8:05,指定每天10點,執行5次,會在當天10點開始第一次任務。
|
每周 | 選擇每周時,需指定周內任意一天,並設定0~23小時中任意整點時間啟動任務,可搭配最大執行輪次一起使用。 | 目前時間為周一8:05分,指定每周一的10點,執行10次,則會在當天10點時開始第一次任務
|
一周中某些天 | 選擇一周中某些天時,支援選擇周內任意幾天,並設定0~23小時中任意整點時間啟動任務 | 當前為周三8:05,指定每周一、三、五的10點,則會在當天的10點時開始第一次任務。
|
自訂 | 使用Cron運算式自訂設定任務啟動時間 | 說明 Cron運算式由6個欄位組成,每個欄位之間使用空格分隔,依次表示任務的執行時間規則:秒、分鐘、小時、日、月、星期,最小間隔1小時。 以下Cron運算式樣本僅供參考,更多請參照Cron運算式產生器:
|
遷移報告
遷移報告提供詳細的遷移結果資訊,包括成功、失敗和跳過的檔案清單,協助您瞭解遷移任務的執行情況。
報告檔案類型
根據任務執行情況,產生的遷移報告檔案分為總遷移檔案清單、遷移失敗檔案清單和遷移跳過檔案清單三種。
遷移報告檔案命名規則
uid@jobid@runtimeid_total_list_n,代表總遷移檔案清單,可能會有多個,其中 n 是一個大於等於 0 的整數
uid@jobid@runtimeid_failed_list_n,代表遷移失敗檔案清單,可能會有多個,其中 n 是一個大於等於 0 的整數
uid@jobid@runtimeid_skipped_list_n,代表遷移跳過檔案清單,可能會有多個,其中 n 是一個大於等於 0 的整數
報告欄位說明
遷移報告檔案所含欄位內容描述了檔案(對象)從源到目的地遷移過程中的各種屬性,具體包括:
欄位名稱 | 欄位含義 |
源檔案名稱 | 表示源檔案的名稱,url編碼 |
目的檔案名稱 | 表示目標檔案的名稱,url編碼 |
源檔案大小 | 表示源檔案的大小 |
目的檔案大小 | 表示目標檔案的大小 |
源檔案MD5 | 表示源檔案的MD5雜湊值,源檔案返回MD5時才會有 |
目的檔案MD5 | 表示目標檔案的MD5雜湊值 |
源檔案CRC64 | 表示源檔案的CRC64雜湊值,源檔案返回CRC64時才會有 |
目的檔案CRC64 | 表示目標檔案的CRC64雜湊值 |
源檔案最後修改時間 | 表示源檔案的最後修改時間 |
目的檔案最後修改時間 | 表示目標檔案的最後修改時間 |
來源物件版本ID(只有多版本遷移涉及) | 僅在多版本遷移中使用,用於指示來源物件的版本ID |
目的對象版本ID(只有多版本遷移涉及) | 僅在多版本遷移中使用,用於指示目標對象的版本ID |
遷移開始時間 | 記錄檔案遷移的開始時間 |
遷移結束時間 | 記錄檔案遷移的結束時間 |
檔案遷移狀態 | transferred:檔案遷移成功;failed:檔案遷移失敗;skipped:檔案遷移跳過。 |
異常原因 | 提供異常情況的原因說明 |
擷取遷移報告
登入線上遷移控制台。
在左側導覽列,選擇線上遷移服務 > 遷移任務。
在遷移工作清單中,單擊對應任務的管理,進入任務的詳情頁面。
若建立任務時選擇不推送報告,在任務詳情頁 >歷史,單擊產生遷移報告。待遷移報告產生完成後,可單擊下載遷移報告到本地。
若建立任務時選擇推送報告,在任務詳情頁 >歷史,待報告產生完成,可點擊下載遷移報告到本地。
說明在資料移轉任務完成之前,產生的遷移報告內容可能不完整。如需擷取完整的遷移報告,請在任務遷移完成後點擊下載。
遷移報告僅供參考,以實際遷移完成的內容為準。
遷移報告產生後將被儲存在指定的Object Storage ServiceBucket中。根據任務執行情況,檔案夾目錄層級的首碼格式如下所示:
OSS://<bucket>/<prefix>/aliyun_import_report/<uid>/<jobid>/<runtimeid>/total_list/ OSS://<bucket>/<prefix>/aliyun_import_report/<uid>/<jobid>/<runtimeid>/failed_list/ OSS://<bucket>/<prefix>/aliyun_import_report/<uid>/<jobid>/<runtimeid>/skipped_list/路徑參數說明
欄位名稱
欄位含義
bucket
目的端bucket
prefix
目的資料地址指定的遷移目錄首碼
uid
使用者主帳號ID
jobid
任務ID(任務詳情頁 >詳情擷取)
runtimeid
任務執行記錄ID(任務詳情頁 >歷史擷取)
在Object Storage Service控制台,找到目的bucket下遷移報告檔案,您可以下載這些檔案並查看詳細的檔案清單,推薦使用圖形化管理工具ossbrowser 2.0(預覽版)或ossutil工具查看。
遷移日誌
遷移過程的日誌可推送至Log Service(SLS),詳細記錄每個檔案在遷移任務中的處理情況,包括遷移成功、失敗及跳過的記錄。通過遷移日誌,可以即時監控遷移進度、快速定位問題檔案,並對遷移過程進行審計和故障排查。
日誌類型
線上遷移服務會在Log ServiceSLS中建立名稱為aliyun-oss-import-log-阿里雲帳號ID-當前控制台地區的Project,例如aliyun-oss-import-log-137918634953****-cn-hangzhou。在此Project中可以查看遷移任務的日誌,其中包含如下兩種日誌:
drs_import_success_log:遷移成功日誌
drs_import_fail_log:遷移失敗日誌
日誌欄位說明
遷移日誌中的主要欄位說明如下表所示。
欄位名稱 | 欄位含義 |
JobName | 遷移任務的名稱 |
JobId | 遷移任務ID |
Region | 當前控制台所在地區 |
Status | 遷移檔案的狀態。包括如下三種狀態:
|
UserId | 使用者的UID |
ExecuteId | 執行記錄ID |
StartTime | 遷移開始的時間 |
EndTime | 遷移結束的時間 |
ListTime | 該檔案被掃描到的時間 |
Time | 當前的時間 |
SrcObjectName | 源端檔案名稱。以Src開頭的是源端相關欄位 檔案名稱為URL編碼處理後的格式,例如docs%2Fmy.docir%2Fexample.log |
SrcObjectSize | 源端檔案大小 |
DestObjectName | 目的端檔案名稱。以Dest開頭的是目的端相關欄位 檔案名稱為URL編碼處理後的格式,例如docs%2Fmy.docir%2Fexample.log |
DestObjectSize | 目的端檔案大小 |
擷取遷移日誌
您可以將遷移日誌即時推送到阿里雲Log Service(SLS)中進行查詢與分析。在SLS控制台,您可以通過任務ID、檔案名稱等關鍵詞進行精確檢索,以監控遷移過程或排查問題。
日誌推送功能需要在建立遷移任務時開啟(選擇推送或僅推送錯誤記錄檔)。若在建立時選擇不推送,則無法在SLS中查看該任務的日誌。
遷移日誌不保證完整性,請不要將遷移日誌用於遷移的完整性檢查。
遷移日誌僅供您參考,最終遷移結果請以目的端的實際檔案為準。
不推送(預設):不推送遷移日誌
推送:將遷移日誌推送至SLS,可在SLS上查看遷移日誌
僅推送檔案錯誤記錄檔:僅將錯誤遷移日誌推送至Log ServiceSLS,可在SLS上查看錯誤遷移日誌
在選擇推送或僅推送檔案錯誤記錄檔前,請確保您已完成以下操作,否則可能導致遷移任務異常:
已開通SLS服務
已在Log Service授權項授權頁面中同意授權
當選擇推送或僅推送檔案錯誤記錄檔時,線上遷移服務會在Log ServiceSLS中建立名稱為aliyun-oss-import-log-阿里雲帳號ID-當前遷移服務部署地區的Project,例如aliyun-oss-import-log-137918634953****-cn-hangzhou。
Log Service授權:此選項在遷移日誌選擇推送或僅推送檔案錯誤記錄檔時顯示。
單擊授權進入雲資源訪問授權頁面,頁面會對應建立AliyunOSSImportSlsAuditRole角色,並對角色做授權,請單擊同意授權完成授權。
遷移任務管理
遷移任務狀態
瞭解各種任務狀態有助於您更好地管理和監控遷移過程。
已建立:遷移任務已建立。使用者可手動點啟動或者等待到達指定的起始時間,系統啟動任務
啟動:任務建立成功且已啟動,等待調度
準備:資料預先處理中
遷移:資料正在遷移中,請您耐心等待
刪除中:遷移任務正在刪除中,待刪除完成後,已刪除的遷移任務將從工作清單中移除
暫停:遷移任務已暫停
關閉:遷移任務正在關閉中,待關閉完成後,遷移任務將會轉為結束狀態
結束:遷移任務已結束。任務結束不代表全部遷移成功,詳情請查看遷移報告
中斷:遷移任務異常中斷
失敗檔案重試
當遷移任務結束後,如果報告中顯示有部分檔案遷移失敗,您可以建立一個僅針對這些失敗檔案進行重試的新子任務。
操作步驟
登入線上遷移控制台。
在頂部功能表列,選擇任務所在的地區。
在左側導覽列,選擇線上遷移服務>遷移任務。
在遷移工作清單中,單擊對應任務操作列的管理,進入任務詳情頁面。
在歷史地區下單擊對應任務操作列的重試失敗檔案。
修改子任務名稱,單擊下一步。
確認遷移頻寬、每秒遷移檔案數、覆蓋方式等參數無誤後,單擊下一步。
單擊確定,子任務會啟動並且重新遷移失敗的檔案。