全部產品
Search
文件中心

Data Online Migration:遷移實施

更新時間:Oct 15, 2024

本文介紹資料移轉的注意事項、遷移限制說明和操作步驟。

注意事項

使用線上遷移服務遷移資料時需要注意以下事項:

  • 建立來源資料地址時,待遷移目錄請使用絕對路徑,必須以正斜線(/)開頭和結尾,不支援環境變數和特殊字元。

  • 建立來源資料地址時,需確保待遷移目錄存在且正確有效。

  • 線上遷移會佔用源地址和目的地址的資源,可能會影響業務正常運行。若您的業務比較重要,請提前做好評估後對遷移任務設定限速,或在空閑時間啟動遷移任務。

  • 線上遷移前會檢查源地址和目的地址的檔案,但是若您源和目的地址有相同檔案名稱的檔案,且在遷移任務中配置了覆蓋方式為覆蓋,遷移時會直接覆蓋目的地址的檔案。若兩個檔案內容不同,必須變更檔名或做好備份。

  • 線上遷移會保留源檔案的最後修改時間屬性,如果目的Bucket設定了生命週期規則,且遷移後檔案處於該生命週期規則生效的時間範圍內,則該檔案可能會在規則生效時被刪除或轉為指定的歸檔類型。

遷移限制說明

  • 若您來源資料地址中有空目錄、軟連結檔案或目錄、字元裝置檔案或塊裝置檔案、Socket檔案和管道檔案,此類資料均不會被遷移。

  • 若您來源資料地址存在永久連結關係,遷移後會變成普通檔案。

  • 不支援檔案父目錄屬性的遷移。

  • SUID、SGID、SBID等檔案許可權不支援遷移。

  • 遷移LocalFS資料至阿里雲OSS的屬性限制如下:

    • 支援遷移的屬性:ModifyTime -> X-Oss-Meta-Mtime(OSS)、Permissions -> X-Oss-Meta-Perms(OSS)、Uid:Gid -> X-Oss-Meta-Owner(OSS)

      說明
      • Permissions:包含讀、寫、執行等9個許可權。

      • Uid:Gid:使用者ID:使用者所屬分組ID,中間以半形冒號(:)做分隔字元。

    • 不支援遷移的屬性(包括但不限於):AccessTime、ChangeTime、Attr、Acl等。

      說明

      不支援遷移的屬性包括但不限於以上列舉的內容,其他未列舉的屬性行為暫無法確定,以實際遷移完成的內容為準。

步驟一:選擇地區

  1. 使用建立的RAM使用者登入阿里雲線上遷移服務管理主控台

  2. 在頂部功能表列左上方處,選擇代理所在的地區,如下圖所示。

    image.png

    重要
    • 不同地區內的通道、代理、資料地址和遷移任務不通用,請謹慎選擇。

    • 優先選擇代理所在的地區。如果沒有代理所在地對應的地區,請儘可能選擇接近代理所在的地區建立遷移任務。

    • 跨境遷移時,推薦您開啟傳輸加速,提高遷移速度。開啟了傳輸加速的Bucket會收取傳輸加速費用。關於傳輸加速的更多資訊,請參見傳輸加速

步驟二:建立通道

  1. 在左側導覽列,選擇線上遷移服務> 通道管理,單擊建立通道

  2. 建立通道對話方塊,配置如下參數,然後單擊確定

    參數

    是否必填

    說明

    名稱

    通道的名稱。

    • 通道名稱不可為空,最大長度為100個字元。

    • 支援英文大小寫字母、數字和特殊字元短劃線(-)和底線(_)。

    頻寬上限

    通道可以使用的頻寬上限。

    • 不填寫:預設值為0,表示不限制頻寬。

    • 設定該值:取值範圍請參考控制台提示。

    重要

    可用頻寬取決於網路鏈路的實際頻寬。

    請求數/秒

    通道每秒請求數上限。

    • 不填寫:預設值為0,表示不限制每秒請求數。

    • 設定該值:取值範圍請參考控制台提示。

    警告

    請根據資料來源儲存系統的能力認真評估,過大會影響業務正常運行,建議根據控制台提示設定。

說明

關於通道的更多資訊,請參見通道管理

步驟三:建立代理

重要
  • 如果LocalFS為本地檔案,則只能部署1個代理。

  • 如果LocalFS為NAS等遠程檔案系統,則可以部署多個代理,請確保NAS已掛載到名稱相同的目錄。

  1. 在左側導覽列,選擇線上遷移服務> 代理管理,單擊建立代理

  2. 建立代理對話方塊,配置如下參數,然後單擊確定

    參數

    是否必填

    說明

    名稱

    代理名稱。

    • 代理名稱不可為空,長度為3~63個字元。

    • 支援英文小寫字母、數字和特殊字元短劃線(-)和底線(_),且區分大小寫。

    • UTF-8編碼並且不能以短劃線(-)和底線(_)開頭。

    網路類型

    代理的網路連接方式,包含如下兩種:

    • 公網(公網):此代理通過公網進行資料移轉。此方式要求代理機器必須可以訪問與遷移服務部署地區的線上遷移服務公網網域名稱。例如,您當前控制台在華北2(北京)地區,則此代理機器必須可以訪問線上遷移服務華北2(北京)地區的公網網域名稱cn-beijing.mgw-tc.aliyuncs.com

    • 專線/VPN(VPC):此代理通過專線進行資料移轉。此方式要求代理機器必須可以訪問與遷移服務部署地區的線上遷移服務內網網域名稱。例如,您當前控制台在華北2(北京)地區,則此代理必須可以訪問線上遷移服務華北2(北京)地區的內網網域名稱cn-beijing.mgw-tc-internal.aliyuncs.com。建議您使用與遷移服務部署地區的ECS部署代理程式。

    部署方式

    代理的部署方式。目前只支援獨立進程部署方式。

    通道

    代理所屬的通道,一個代理只允許關聯一個通道,代理的頻寬受通道總頻寬影響。

    例如:名稱為tunnel-1的通道,設定最高頻寬為10 Gbit/s,tunnel-1關聯3個代理,分別為agent-1agent-2agent-3,則3個代理的總頻寬之和最高為10 Gbit/s。如果agent-1設定3 Gbit/s的頻寬,則agent-2agent-3僅有7 Gbit/s的頻寬可用,請提前規劃並謹慎分配頻寬。

  3. 產生部署代理程式指令碼。具體操作,請參見產生部署代理程式指令碼

說明

關於代理的更多資訊,請參見代理管理

步驟四:建立源地址

重要
  • 如果LocalFS來源資料為原生本地檔案,則只允許部署一個代理。

  • 如果LocalFS來源資料為NAS掛載的本地檔案,並同時掛載到多台機器上,則請確保NAS已掛載到名稱相同的目錄,在建立資料地址時,待遷移目錄請填寫NAS掛載的目錄。

  1. 在左側導覽列,選擇線上遷移服務> 地址管理,單擊建立地址

  2. 建立地址面板,配置如下參數,然後單擊確定

    參數

    是否必選

    說明

    名稱

    輸入來源資料位址名稱。名稱命名規則如下:

    • 名稱不可為空,長度為3~63個字元。

    • 支援英文小寫字母、數字和特殊字元短劃線(-)和底線(_),且區分大小寫。

    • UTF-8編碼不能以短劃線(-)和底線(_)開頭。

    類型

    選擇LocalFS

    待遷移目錄

    您可以指定待遷移目錄的路徑。請使用絕對路徑,必須以正斜線(/)開頭和結尾,不支援環境變數和特殊字元。

    例如,設定來源資料地址首碼為/example/src/,此路徑下有檔案example.jpg,設定目的資料地址首碼為example/dest/,則遷移後檔案example.jpg的完整路徑為example/dest/example.jpg

    重要

    如果LocalFS源為NAS掛載的本地檔案, 並同時掛載到多台機器上,請確保NAS掛載到名稱相同的本地目錄上,在建立資料地址時,待遷移目錄填寫NAS掛載的本地目錄名稱。

    通道

    選擇需要使用的通道名稱。

    重要
    • 僅通過專線或VPN遷移資料上雲、自建儲存資料移轉上雲需要使用該參數。

    • 目的資料地址是LOCALFS的以及需要走專線(金融雲、專有雲等)的情境需要關聯代理。

    代理

    選擇需要使用的代理名稱。

    重要
    • 僅通過專線或VPN遷移資料上雲、自建儲存資料移轉上雲需要使用該參數。

    • 指定通道下,最多可同時選擇30個代理。

步驟五:建立目的地址

  1. 在左側導覽列,選擇線上遷移服務 > 地址管理,單擊建立地址

  2. 建立地址面板,配置如下參數,然後單擊確定。

    參數

    是否必選

    說明

    名稱

    輸入目的資料位址名稱。名稱命名規則如下:

    • 名稱不可為空,長度為3~63個字元。

    • 支援英文小寫字母、數字和特殊字元短劃線(-)和底線(_),且區分大小寫。

    • UTF-8編碼不能以短劃線(-)和底線(_)開頭。

    類型

    選擇Alibaba OSS

    地區

    選擇目的地址所在的地區,例如華東1(杭州)

    授權角色

    儲存桶(Bucket)

    輸入當前控制台所在帳號下遷移後資料所在的儲存桶(Bucket)名稱。

    代理

    選擇需要使用的代理名稱。

    重要
    • 僅通過專線或VPN遷移資料上雲、自建儲存資料移轉上雲需要使用該參數。

    • 指定通道下,最多可同時選擇30個代理。

步驟六:建立遷移任務

  1. 在左側導覽列,選擇線上遷移服務 > 遷移任務,單擊建立任務

  2. 選擇地址頁面,配置如下參數,然後單擊下一步

    參數

    是否必選

    說明

    名稱

    輸入遷移任務名稱。名稱命名規則如下:

    • 名稱不可為空,長度為3~63個字元。

    • 支援英文小寫字母、數字和特殊字元短劃線(-)和底線(_),且區分大小寫。

    • UTF-8編碼不能以短劃線(-)和底線(_)開頭。

    源地址

    選擇已建立的源地址。

    目的地址

    選擇已建立的目的地址。

  3. 配置任務頁面,配置如下參數。

    參數

    是否必選

    說明

    遷移頻寬

    選擇遷移頻寬。

    • 預設:預設最大頻寬,實際速度取決於檔案大小和檔案數量。

    • 指定上限:根據控制台提示指定具體的頻寬上限。

    重要
    • 實際遷移頻寬與資料來源、網路、目的限流、檔案大小等因素有關,不一定能達到指定上限。

    • 請您評估資料來源、遷移目的、業務情況、網路頻寬等,並根據實際情況選擇合理數值,限流不恰當可能會影響業務的正常運行。

    每秒遷移檔案數

    選擇每秒遷移檔案數。

    • 預設:每秒遷移檔案數。

    • 指定上限:根據控制台提示指定具體的每秒遷移檔案數。

    重要
    • 實際遷移頻寬與資料來源、網路、目的限流、檔案大小等因素有關,不一定能達到指定上限。

    • 請您評估資料來源、遷移目的、業務情況、網路頻寬等,並根據實際情況選擇合理數值,限流不當可能會影響業務的正常運行。

    覆蓋方式

    選擇同名檔案的覆蓋方式。

    • 不覆蓋:不遷移該檔案。

    • 全部覆蓋:源地址中的檔案會覆蓋目的地址中的檔案。

    • 根據最後修改時間覆蓋

      • 當源地址中的檔案最後修改時間晚於目的地址中的檔案最後修改時間時,目的地址中的檔案會被覆蓋。

      • 當源地址中的檔案最後修改時間與目的地址中的檔案最後修改時間相同時,若二者的Size和Content-Type有一項不同,則目的地址中的檔案會被覆蓋。

    • 警告
      • 根據最後修改時間覆蓋無法嚴格保證一定不會覆蓋更新的檔案,存在舊檔案覆蓋新檔案的風險。

      • 若您選擇根據最後修改時間覆蓋的覆蓋方式,請務必確保源端檔案能返回最後修改時間SizeContent-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.jpgpicture.png,設定一條包含規則過濾.*\.jpg$,此時只會遷移picture.jpg檔案,如果同時也設定了包含規則過濾.*\.png$,則2個檔案都會被遷移。

    • 當過濾規則為排除時,符合規則的檔案都不會被遷移,如果有多條規則,符合任意一個條件的檔案都不會被遷移。

      例如2個檔案picture.jpgpicture.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日的檔案。

    是否遷移

    是否遷移特殊類型的實體。勾選表示啟用遷移,不勾選表示禁用。

    目錄:

    • 啟用時,源地址中掃描到的所有目錄自身也會被加入待遷移隊列,同時會被統計到遷移任務的【檔案數】、【儲存量】欄位。會在目的地址建立對應的'/'結尾的Null 物件,並將來源目錄(支援遷移)的屬性設定到目的對象的UserMeta中。

    • 禁用時,源地址中掃描到的所有目錄自身將會被忽略,不會被統計到遷移任務的【檔案數】、【儲存量】欄位。不會在目的地址建立對應的'/'結尾的Null 物件。

    軟連結:

    • 啟用時,源地址中所有軟連結類型的檔案自身也會被加入待遷移隊列,同時會被統計到遷移任務的【檔案數】、【儲存量】欄位。會在目的地址中建立對應的Symlink對象,並將源軟連結檔案(支援遷移)的屬性設定到Symlink對象的UserMeta中。Symlink對象的Target屬性值取決於【是否轉換Target】選項。

    • 禁用時,源地址中所有軟連結類型的檔案將會被忽略,不會被統計到遷移任務的【檔案數】、【儲存量】欄位。

    重要

    任何情況下,都不會額外遷移源地址中軟連結檔案所指向的目標檔案或目錄(除非該目標檔案或目錄也在本次遷移範圍內)。

    是否轉換Target

    對源地址中軟連結檔案的Target屬性進行轉換,以儘可能使遷移後的Symlink對象仍可正常指向其目標對象。勾選表示啟用轉換,不勾選表示禁用轉換。

    重要
    • 此選項僅在啟用遷移軟連結時才生效。

    • 無論是否轉換Target,遷移總是不會檢查目標對象是否存在、目標物件類型是否合法以及目標對象是否有存取權限等。

    啟用時,先(以此軟連結所在目錄為基準)將Target屬性解析成最短絕對路徑(字元長度最短的等效路徑,AbsTarget),然後執行字串替換操作,將AbsTarget中的SrcPrefix(若匹配)替換成DestPrefix,並將替換後的結果值設定到目的Symlink對象的Target屬性上。

    說明

    樣本:假設遷移任務配置的SrcPrefix="/mnt/nas1/",DestPrefix="cloud_base/",/mnt/nas1/links/a.lnk是源地址下的一個軟連結類型檔案,假設其Target屬性:

    • 為"../data/./a.txt"。則解析後的最短絕對路徑為"/mnt/nas1/data/a.txt"。則替換後的最終Target結果值為"cloud_base/data/a.txt"。

    • 為"/mnt/nas1/verbose/../data/./a.txt"。則解析後的最短絕對路徑為"/mnt/nas1/data/a.txt",替換後的最終Target結果值為"cloud_base/data/a.txt"。

    • 為"/root/outer/../data/./a.txt"。則解析後的最短絕對路徑為"/root/data/a.txt",替換未能匹配,最終Target結果值仍為"/root/data/a.txt"。

    禁用時,不轉換,將源軟連結的Target屬性原始值設定到目的Symlink對象的Target屬性上。

    執行時間

    重要
    1. 正在遷移中的任務,在下一個指定時間前仍未結束本輪遷移,則會在本輪遷移結束後,自動順延至下一個指定時間啟動任務,直至完成指定次數的遷移。

    2. 遷移任務並發數量限制:遷移服務部署地區選擇中國香港或中國內地時最多支援10個任務並發,選擇海外地區時最多支援5個,超出限制後可能導致定時任務調度無法按預期執行。

    確定遷移任務的執行時間。

    • 立即執行:立即執行當前任務。

    • 指定執行時間:指定任務執行期間每天的執行時間段。預設情況下,任務將在指定的起始時間啟動,在指定的停止時間暫停。

    • 周期調度:通過調整執行頻率和執行次數來啟動任務。

      • 執行頻率:支援以每小時、每天、每周、一周中某些天、自訂等5種頻率,具體請查看執行頻率參考

      • 執行次數:指定任務的執行次數,如不設定則預設執行一次,最大執行次數請參考控制台提示。

    重要

    可隨時手動啟動和暫停任務,不受自訂執行時間的影響。

  4. 閱讀線上遷移服務合約,選中我已理解並確認,合規承諾聲明且當遷移任務完成時,我有確認遷移資料一致性的義務和責任,然後單擊下一步

  5. 檢查配置資訊,確認無誤後,單擊確定,等待遷移任務執行。

執行頻率參考

執行頻率

說明

樣本

每小時

選擇以每小時為頻率,可搭配執行次數一起使用。

目前時間為8:05分,指定每小時為頻率,執行3次任務,則會在下一個整點9點鐘開始第一次任務。

  • 若任務在下一個整點前結束,則會在下一個整點10點鐘開始第二次任務,以此類推直到完成指定次數的遷移。

  • 若任務在下一個整點尚未結束,在當日12:30分結束,則會在下一個整點13點鐘開始第二次遷移,以此類推直到完成指定次數的遷移。

每天

選擇以每天為頻率時,需設定0~23小時中任意整點時間啟動任務,可搭配執行次數一起使用。

目前時間為8:05分,指定每天10點,執行5次,會在當天10點開始第一次任務。

  • 若任務在次日10點前結束,則會在次日10點開始第二次任務,以此類推直到完成指定次數的遷移。

  • 若任務在次日10點前尚未結束,在次日12:05分結束,則會在第三日的10點開始第二次任務,以此類推直到完成指定次數的遷移。

每周

選擇每周時,需指定周內任意一天,並設定0~23小時中任意整點時間啟動任務,可搭配執行次數一起使用。

目前時間為周一8:05分,指定每周一的10點,執行10次,則會在當天10點時開始第一次任務。

  • 若任務在下周一10點前結束,則會在下周一10點開始第二次任務,以此類推直到完成指定次數的遷移。

  • 若任務在下周一10點前尚未結束,實際在下周一12:05分結束,則會在下下周的10點開始第二次任務,以此類推直到完成指定次數的遷移。

一周中某些天

選擇一周中某些天時,支援選擇周內任意幾天,並設定0~23小時中任意整點時間啟動任務。

當前為周三8:05,指定每周一、三、五的10點,則會在當天的10點時開始第一次任務。

  • 若任務在周五10點前結束,則會在周五10點開始第二次任務,以此類推直到完成指定次數的遷移。

  • 若任務在周五10點前尚未結束,實際在下周一12:05分結束,則會在下周三的10點開始第二次任務,以此類推直到完成指定次數的遷移。

自訂

使用Cron運算式自訂設定任務啟動時間。

說明

Cron運算式由6個欄位組成,每個欄位之間使用空格分隔,依次表示任務的執行時間規則:秒 分鐘 小時 日 月 星期。

以下Cron運算式樣本僅供參考,更多請參照Cron運算式產生器:

  • 0 * * * * *:表示每小時的0分0秒執行任務。

  • 0 0 0/1 * * ?:表示每隔1小時執行任務(最小間隔1小時)。

  • 0 0 12 * * MON-FRI:表示每周一至周五的12點執行任務。

  • 0 30 8 1,15 * *:表示每月1日和15日的8點30分執行任務。

步驟七:校正資料

遷移服務僅負責資料的遷移,無法保證資料的一致性和完整性。遷移任務完成後,請您全量校正遷移的資料,務必自行做好源端和目的端資料一致性校正。

警告

請您務必在遷移任務完成後,校正目的端遷移資料。您在刪除來源資料前,未校正目的端遷移資料無誤,導致資料丟失所引起的一切損失和後果均由您自行承擔。