阿里雲OSS之間的遷移是指將資料從一個OSS儲存桶(Bucket)複製到另一個儲存桶的過程。這樣的遷移可以用於資料備份、資料移轉、災備恢複等情境,協助使用者在不同 Bucket 之間高效地傳輸和管理資料。本文介紹資料移轉的注意事項、遷移限制說明和操作步驟。
注意事項
使用線上遷移服務遷移資料時需要注意以下事項:
線上遷移服務使用來源站點儲存服務提供者公開的標準介面來訪問來源資料,其行為依賴於來源站點儲存服務提供者的具體實現。
線上遷移會佔用源地址和目的地址的資源,可能會影響業務正常運行。若您的業務比較重要,請提前做好評估後對遷移任務設定限速,或在空閑時間啟動遷移任務。
線上遷移前會檢查源地址和目的地址的檔案,但是若您源和目的地址有相同檔案名稱的檔案,且在遷移任務中配置了覆蓋方式為覆蓋,遷移時會直接覆蓋目的地址的檔案。若兩個檔案內容不同,必須變更檔名或做好備份。
線上遷移會保留源檔案的最後修改時間屬性,如果目的Bucket設定了生命週期規則,且遷移後檔案處於該生命週期規則生效的時間範圍內,則該檔案可能會在規則生效時被刪除或轉為指定的歸檔類型。
遷移限制說明
若您遷移的源地址中設定了靜態網站託管,資料移轉時會額外掃描出實際不存在的目錄。例如上傳檔案myapp/resource/1.jpg,開啟靜態網站託管後,遷移服務掃描會得到3個對象,分別為myapp/、myapp/resource/和myapp/resource/1.jpg,其中myapp/和myapp/resource/會遷移失敗,但不影響myapp/resource/1.jpg的正常遷移。
若您遷移的源地址中有軟連結,資料移轉時,會隨即轉移軟連結。關於軟連結的詳細資料,請參見軟連結。
目前僅支援單次遷移單個Bucket資料,無法將整個帳號的資料一次性遷移。
不支援金融雲、政務雲的資料移轉。
阿里雲OSS之間遷移資料的屬性說明如下:
支援遷移的屬性:x-oss-meta-*、LastModifyTime ,Content-Type,Cache-Control,Content-Encoding,Content-Disposition、Content-Language 、Expires。
不支援遷移的屬性(包括但不限於):StorageClass、Acl、服務端加密、標籤Tagging、使用者自訂header x-oss-persistent-header等。
說明不支援遷移的屬性包括但不限於以上列舉的內容,其他未列舉的屬性行為暫無法確定,以實際遷移完成的內容為準。
步驟一:選擇地區
如何選擇地區
兩個OSS Bucket之間的資料移轉操作是否產生下行流量費,與您是否在控制台上選擇了正確的遷移服務部署地區有關,此處所指的遷移服務部署地區,是指如下圖中所示的地區選擇,您需要在建立任務前選擇地區。
1.當資料來源所在地區與所選的遷移服務部署地區一致時,資料來源OSS將不會產生外網讀取費用。
樣本:源和目的同為北京OSS,線上遷移服務部署地區選擇北京,遷移時不會在源端OSS產生外網讀取費用。
2.當資料來源所在地區與所選的遷移服務部署地區不一致時,資料來源OSS將會產生外網讀取費用。
樣本:源為北京OSS,目的為新加坡OSS,線上遷移服務部署地區選擇新加坡,遷移時會在源端OSS產生外網讀取費用。
為了遵循傳輸鏈路最短原則,建議在遷移前,將遷移服務部署地區與資料來源所在的地區保持一致。如果沒有可用的地區,建議選擇靠近您業務的地區,以確保遷移效果最佳。
操作步驟
使用建立的RAM使用者登入阿里雲線上遷移服務管理主控台。
說明跨帳號遷移時,可選擇源或目的阿里雲帳號產生的任一RAM使用者登入。
在頂部功能表列左上方處的地區選擇代表“遷移服務部署地區”,因此請選擇資料來源所在地區或距離資料來源最近的地區,如下圖所示。
控制台上方所選地區(代表線上遷移服務的部署地區),中國內地地區包含北京、上海、杭州、深圳、烏蘭察布,其他地區包含中國香港、新加坡、德國(法蘭克福)、美國(維吉尼亞)。
重要不同地區內的資料地址和遷移任務不通用,請謹慎選擇。
優先選擇來源資料所在的地區,如果沒有來源資料所在地對應的地區,請儘可能選擇接近來源資料所在的地區建立遷移任務。
跨境遷移時,推薦您開啟傳輸加速,提高遷移速度。開啟了傳輸加速的Bucket會收取傳輸加速費用。關於傳輸加速的更多資訊,請參見傳輸加速。
步驟二:建立源地址
在左側導覽列,選擇線上遷移服務 > 地址管理,單擊建立地址。
在建立地址面板,配置如下參數,然後單擊確定。
參數
是否必選
說明
名稱
是
輸入來源資料位址名稱。名稱命名規則如下:
名稱不可為空,長度為3~63個字元。
支援英文小寫字母、數字和特殊字元短劃線(-)和底線(_),且區分大小寫。
UTF-8編碼不能以短劃線(-)和底線(_)開頭。
類型
是
選擇Alibaba OSS。
自訂網域名
否
支援使用者的自訂網域名
地區
是
選擇源地址所在的地區,例如華東1(杭州)。
授權角色
是
源Bucket歸屬於線上遷移控制台帳號
源Bucket不歸屬於線上遷移控制台帳號
儲存桶(Bucket)
是
輸入當前控制台所在帳號下待遷移資料所在的儲存桶(Bucket)名稱。
首碼
否
您可以指定資料路徑首碼遷移部分資料。格式要求不能以正斜線(/)開頭,必須以正斜線(/)結尾,例如
data/to/oss/
。指定首碼:例如設定來源資料地址首碼為
example/src/
,此路徑下有檔案example.jpg,設定目的資料地址首碼為example/dest/
,則遷移後檔案example.jpg的完整路徑為example/dest/example.jpg
。不指定首碼:例如不設定來源資料地址首碼,需要遷移的檔案路徑為
srcbucket/example.jpg
,設定目的資料地址首碼為destbucket/
,則遷移後檔案的完整路徑為destbucket/srcbucket/example.jpg
。
通道
否
選擇需要使用的通道名稱。
重要僅通過專線或VPN遷移資料上雲、自建儲存資料移轉上雲需要使用該參數。
目的資料地址是LOCALFS的以及需要走專線(金融雲、專有雲等)的情境需要關聯代理。
代理
否
選擇需要使用的代理名稱。
重要僅通過專線或VPN遷移資料上雲、自建儲存資料移轉上雲需要使用該參數。
指定通道下,最多可同時選擇30個代理。
步驟三:建立目的地址
在左側導覽列,選擇線上遷移服務 > 地址管理,單擊建立地址。
在建立地址面板,配置如下參數,然後單擊確定。
名稱不可為空,長度為3~63個字元。
支援英文小寫字母、數字和特殊字元短劃線(-)和底線(_),且區分大小寫。
UTF-8編碼不能以短劃線(-)和底線(_)開頭。
目的Bucket歸屬於線上遷移控制台帳號
目的Bucket不屬於線上遷移控制台帳號
指定首碼:例如來源資料地址首碼為
example/src/
,此路徑下有檔案example.jpg,設定目的資料地址首碼為example/dest/
,則遷移後檔案example.jpg的完整路徑為example/dest/example.jpg
。不指定首碼:不設定資料路徑首碼時,會將來源資料遷移至目的Bucket的根目錄。
僅通過專線或VPN遷移資料上雲、自建儲存資料移轉上雲需要使用該參數。
目的資料地址是LOCALFS的以及需要走專線(金融雲、專有雲等)的情境需要關聯代理。
僅通過專線或VPN遷移資料上雲、自建儲存資料移轉上雲需要使用該參數。
指定通道下,最多可同時選擇30個代理。
參數 | 是否必選 | 說明 |
名稱 | 是 | 輸入目的資料位址名稱。名稱命名規則如下: |
類型 | 是 | 選擇Alibaba OSS。 |
自訂網域名 | 否 | 支援使用者的自訂網域名 |
地區 | 是 | 選擇目的地址所在的地區,例如華東1(杭州)。 |
授權角色 | 是 | |
儲存桶(Bucket) | 是 | 輸入當前控制台所在帳號下遷移後資料所在的儲存桶(Bucket)名稱。 |
首碼 | 否 | 您可以指定資料路徑首碼將來源資料遷移至指定目錄下。格式要求不能以正斜線(/)開頭,必須以正斜線(/)結尾,例如 |
通道 | 否 | 選擇需要使用的通道名稱。 重要 |
代理 | 否 | 選擇需要使用的代理名稱。 重要 |
步驟四:建立遷移任務
遷移任務並發數量限制:遷移服務部署地區每個地區最多支援5個任務並發,超出限制後可能導致定時任務調度無法按預期執行。
在左側導覽列,選擇線上遷移服務 > 遷移任務,單擊建立任務。
在選擇地址頁面,配置如下參數,然後單擊下一步。
參數
是否必選
說明
名稱
是
輸入遷移任務名稱。名稱命名規則如下:
名稱不可為空,長度為3~63個字元。
支援英文小寫字母、數字和特殊字元短劃線(-)和底線(_),且區分大小寫。
UTF-8編碼不能以短劃線(-)和底線(_)開頭。
源地址
是
選擇已建立的源地址。
目的地址
是
選擇已建立的目的地址。
在配置任務頁面,配置如下參數。
參數
是否必選
說明
遷移頻寬
否
選擇遷移頻寬。
預設:預設最大頻寬,實際速度取決於檔案大小和檔案數量。
指定上限:根據控制台提示指定具體的頻寬上限。
重要實際遷移頻寬與資料來源、網路、目的限流、檔案大小等因素有關,不一定能達到指定上限。
請您評估資料來源、遷移目的、業務情況、網路頻寬等,並根據實際情況選擇合理數值,限流不恰當可能會影響業務的正常運行。
每秒遷移檔案數
否
選擇每秒遷移檔案數。
預設:每秒遷移檔案數。
指定上限:根據控制台提示指定具體的每秒遷移檔案數。
重要實際遷移頻寬與資料來源、網路、目的限流、檔案大小等因素有關,不一定能達到指定上限。
請您評估資料來源、遷移目的、業務情況、網路頻寬等,並根據實際情況選擇合理數值,限流不當可能會影響業務的正常運行。
覆蓋方式
是
選擇同名檔案的覆蓋方式。
不覆蓋:不遷移該檔案。
全部覆蓋:源地址中的檔案會覆蓋目的地址中的檔案。
根據最後修改時間覆蓋:
當源地址中的檔案最後修改時間晚於目的地址中的檔案最後修改時間時,目的地址中的檔案會被覆蓋。
當源地址中的檔案最後修改時間與目的地址中的檔案最後修改時間相同時,若二者的Size和Content-Type有一項不同,則目的地址中的檔案會被覆蓋。
根據最後修改時間覆蓋無法嚴格保證一定不會覆蓋更新的檔案,存在舊檔案覆蓋新檔案的風險。
若您選擇根據最後修改時間覆蓋的覆蓋方式,請務必確保源端檔案能返回最後修改時間、Size、Content-Type等資訊,否則覆蓋策略可能失效,產生非預期的遷移結果。
選擇不覆蓋或根據最後修改時間覆蓋時,為執行後續覆蓋判斷,會分別請求源端和目的端meta資訊一次,因此會在源端和目的端產生對應的請求費用。
警告遷移報告
是
遷移報告推送方式。
不推送(預設):不推送遷移報告至目的bucket。
推送:將遷移報告推送至目的bucket,詳細路徑請參考後續操作。
重要遷移報告推送會佔用目的端一定的儲存空間。
遷移報告的推送可能會存在一定的時間延遲,請您耐心等待遷移報告的產生。
每個任務執行記錄都有一個唯一的ID,請注意,遷移報告只會推送一次,請謹慎刪除!
遷移日誌
是
遷移日誌推送方式。
不推送(預設):不推送遷移日誌。
推送:將遷移日誌推送至Log ServiceSLS,可在SLS上查看遷移日誌。
僅推送檔案錯誤記錄檔:僅將錯誤遷移日誌推送至Log ServiceSLS,可在SLS上查看錯誤遷移日誌。
當選擇推送或僅推送檔案錯誤記錄檔時,線上遷移服務會在Log ServiceSLS中建立名稱為aliyun-oss-import-log-阿里雲帳號ID-當前遷移服務部署地區的Project,例如aliyun-oss-import-log-137918634953****-cn-hangzhou。
重要請務必完成以下操作後,再選擇推送或僅推送檔案錯誤記錄檔,否則可能會導致遷移任務異常。
已開通SLS服務。
已在Log Service授權項授權頁面中同意授權。
Log Service授權
否
當遷移日誌選擇推送或僅推送檔案錯誤記錄檔時出現該選項。
單擊授權進入雲資源訪問授權頁面,頁面會對應建立AliyunOSSImportSlsAuditRole角色,並對角色做授權,請單擊同意授權完成授權。
檔案名稱
否
檔案名稱過濾器。
支援包含和排除兩種過濾規則,請參見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日,不指定結束時間時,則只遷移檔案最後一次修改時間晚於等於2019年01月01日的檔案。
當僅指定結束時間為2022年01月01日,不指定開始時間時,則只遷移檔案最後一次修改時間早於等於2022年01月01日的檔案。
當指定開始時間為2019年01月01日,結束時間為2022年01月01日,則遷移檔案最後一次修改時間範圍在晚於等於2019年01月01日,且早於等於2022年01月01日的檔案。
執行時間
否
重要正在遷移中的任務,在下一個指定時間前仍未結束本輪遷移,則會在本輪遷移結束後,自動順延至下一個指定時間啟動任務,直至完成指定次數的遷移。
遷移任務並發數量限制:遷移服務部署地區選擇中國香港或中國內地時最多支援10個任務並發,選擇海外地區時最多支援5個,超出限制後可能導致定時任務調度無法按預期執行。
確定遷移任務的執行時間。
立即執行:立即執行當前任務。
指定執行時間:指定任務執行期間每天的執行時間段。預設情況下,任務將在指定的起始時間啟動,在指定的停止時間暫停。
周期調度:通過調整執行頻率和執行次數來啟動任務。
執行頻率:支援以每小時、每天、每周、一周中某些天、自訂等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個欄位組成,每個欄位之間使用空格分隔,依次表示任務的執行時間規則:秒 分鐘 小時 日 月 星期。 以下Cron運算式樣本僅供參考,更多請參照Cron運算式產生器:
|
步驟五:校正資料
遷移服務僅負責資料的遷移,無法保證資料的一致性和完整性。遷移任務完成後,請您全量校正遷移的資料,務必自行做好源端和目的端資料一致性校正。
請您務必在遷移任務完成後,校正目的端遷移資料。您在刪除來源資料前,未校正目的端遷移資料無誤,導致資料丟失所引起的一切損失和後果均由您自行承擔。