資料移轉是一個非常常見的情境,而資料的準確性將會直接影響業務,所以資料移轉前後是否能保持一致就顯得尤為關鍵。CMH為使用者提供了針對多種資料來源(資料庫類型/Object Storage Service類型)的多種校正方式,以確保源端與目標端資料的一致性。本文介紹資料校正功能的使用流程,協助您快速掌握如何使用資料校正的功能。
1、商務程序簡介
資料校正功能的使用流程大致分為以下幾個步驟:
第一步:安裝agent。在資料校正時,需要探查到源端和目標端的資料進行比較,考慮到資料的敏感性,CMH的資料校正需要客戶提供一台伺服器(建議是阿里雲ECS),確保該伺服器與源端和目標端資料來源是聯通的,之後在改伺服器上安裝一個資料校正的agent,用於進行後續的校正。
第二步:配置資料來源及驗證計劃。在實際的情境中,往往使用者並不是想校正某個資料來源下所有的資料,所以需要使用者自訂校正的範圍以及校正的方式。完成之後選擇合適的agent進行校正。
第三步:發起校正。將驗證任務置完成之後,使用者可以在頁面上向該任務對應的agent發起校正的指令,agent校正完成之後會自動上報驗證結果,使用者無需其他動作,等待驗證完成即可。
第四步:查看結果。agent將結果返回之後,使用者在CMH控制台可以看到驗證的結果及詳情。
通過上述步驟,能夠白屏化的對源端和目標端之間的資料進行一致性校正,確保資料的一致性,保障割接的順利完成。
2、資料校正應用情境
2.1 適用情境
CMH提供高效輕量化資料校正能力,為資料庫及Object Storage Service系統的遷移驗證情境設計。該解決方案可在資料移轉完成後,通過抽樣驗證機制,校正源端與目標端資料是否一致,從而保證業務的穩定性。特別是在系統割接視窗期,支援在停機完成後的關鍵時段快速執行驗證操作,為資料移轉品質提供即時保障。
校正時機建議
為確保驗證結果的準確性,建議在以下條件達成後啟動驗證流程:
源端與目標端的遷移任務已完全終止
增量同步處理/遷移任務已完成
注意事項
在資料移轉仍處於進行狀態時(包括但不限於全量遷移、增量同步處理等階段),由於源端與目標端資料可能持續發生變化,此時執行驗證操作可能導致:
驗證結果偏差
資料一致性誤判
遷移進程幹擾
CMH通過輕量化的資料校正演算法,在保證驗證精度的同時也降低了資源消耗,為關鍵業務系統的資料移轉提供可靠的品質保障,助力企業實現平滑、安全的資料移轉。
2.2 支援產品以及驗證方法
資料庫:
支援的產品 | Count | TopN | SumX | CheckSum | ObjectStore |
MySQL | 擷取Table的row數量 | 擷取Table的前n個row並比較 | 擷取Table的指定欄位的和 | 擷取Table的校正和 | 暫不支援 |
Redis | 給定key, 對value利用其size做校正。 | 給定key, 對value中的N個屬性做比較 | 抽樣/選定一定數量(100)個key,比較源端和目標端的value | 暫不支援 | 暫不支援 |
MongoDB | 擷取Collection的document數量 | 擷取Collection的前n個document並比較 | 擷取Collection的指定欄位的和 | 暫不支援 | 暫不支援 |
Elasticsearch | 擷取Index中的document數量 | 擷取Index的前n個document並比較 | 暫不支援 | 暫不支援 | 暫不支援 |
Redis有序結構利用topN做抽樣校正,無序結構用Size做比較。
Object Storage Service:
支援的產品 | ListObject | ContentCheck | Inventory |
阿里雲-OSS | 對bucket下面所有的object的名字和size(單位為byte)進行比較 | 根據線上遷移服務產生的報告,對其中每個object進行MD5校正。 | 通過產生的Inventory清單進行比較,不一致的object會通過getObject進行二次校正。 |
華為雲-OBS | 對bucket下面所有的object的名字和size(單位為byte)進行比較 | 根據線上遷移服務產生的報告,對其中每個object進行MD5校正。 | 通過產生的Inventory清單進行比較,不一致的object會通過getObject進行二次校正。 |
AWS-S3 | 對bucket下面所有的object的名字和size(單位為byte)進行比較 | 暫不支援 | 通過產生的Inventory清單進行比較,不一致的object會通過getObject進行二次校正。 |
騰訊雲-COS | 對bucket下面所有的object的名字和size(單位為byte)進行比較 | 根據線上遷移服務產生的報告,對其中每個object進行MD5校正。 | 通過產生的Inventory清單進行比較,不一致的object會通過getObject進行二次校正。 |
3、資料校正操作步驟
3.1 License申請與查看
在雲遷移中心頁面,依次點擊遷移能力->資料校正進入產品介面,首次進入會看到使用引導,第一步為License申請,點擊申請License按鈕,會自動產生一個License。申請License是為了防止Agent被濫用,起到保護Agent的作用。
之後,可以看到license以及到期時間(預設有效期間為90天),可以在彈窗中對License進行複製。

3.2 Agent管理
License申請完成後,需要進行資料校正Agent的部署,需要您提供一台或多台ECS來供CMH進行Agent的部署,具體ECS數量請根據實際情況進行評估。
作業系統建議:CentOS,Alibaba Cloud linux
網路要求:建立的ECS需要和資料來源網路打通
CMH提供了三種不同的部署模式,下面是三種部署模式的具體說明:
如果使用的是阿里雲上ECS,且ECS安裝有雲助手(阿里雲建立的ECS預設就有雲助手),建議使用自動部署方式進行Agent安裝;
如果非阿里雲ECS,但和阿里雲VPC打通,或者雖然是阿里雲ECS但機器未安裝或由於某些原因安裝不成功雲助手,建議使用手動部署-私網串連方式部署Agent。
如果非阿里雲ECS,且網路未打通,但有公網IP的,建議使用手動部署-公網串連方式部署Agent。
3.2.1 自動部署
目前,支援自動部署的地區有杭州、上海、張家口、深圳、烏蘭察布,如有其他地區的部署需求,請通過售後線上聯絡我們。
注意:
自動部署只支援阿里雲建立的ECS。
安裝前請先開通私網串連服務。
通過私網串連打通網路會在使用者的帳號下建立反向終端節點,可能會產生費用,使用完成之後需要使用者手動釋放。
準備好ECS後,點擊Agent管理進入Agent的安裝頁面

點擊Agent安裝開始安裝Agent流程。
安裝方式選擇“自動部署”,依次填寫Agent名稱、選擇地區、選擇ECS,完成後,點擊提交,CMH會自動完成資料校正Agent的部署流程。

部署過程中,可以看到Agent的部署過程。

部署完成後,可以在Agent列表看到部署的Agent。

注意:
通過私網串連打通網路會在使用者的帳號下建立反向終端節點,可能會產生費用,使用完成之後需要使用者手動釋放。
3.2.2 手動部署
3.2.2.1 公網手動部署
注意:
公網方式部署的跳板機可以是任意平台或者IDC的機器,只需要CMH可以公網訪問。
準備好機器後,點擊Agent管理進入Agent的安裝頁面

點擊Agent安裝開始安裝Agent流程。
安裝方式選擇“手動部署”,依次填寫Agent名稱、選擇公網、填寫IP和連接埠,完成後,點擊下一步。
在下一步中,會給出該ECS的安裝指令,點擊拷貝將該指令拷貝後,到ECS粘貼後執行,即可以完成Agent在ECS的部署。

部署完成後,繼續點擊下一步,然後點擊連線按鍵,開始與Agent建立串連。

建立串連過程可以線上查看

部署完成後,可以在Agent列表看到部署的Agent。
3.2.2.2 私網手動部署
私網手動部署,支援的地區有杭州、上海、張家口、深圳、烏蘭察布,如有其他地區的部署需求,請通過售後線上聯絡我們。
注意:
私網手動部署的跳板機可以是阿里雲或非阿里雲機器,但需要VPC打通。
安裝前請先開通私網串連服務。
準備好ECS後,點擊Agent管理進入Agent的安裝頁面

點擊Agent安裝開始安裝Agent流程。
安裝方式選擇“手動部署”,依次填寫Agent名稱、選擇私網、選擇地區,選擇VPC,填寫IP和連接埠,完成後,點擊下一步

在下一步中,會給出該ECS的安裝指令,點擊拷貝將該指令拷貝後,到ECS粘貼後執行,即可以完成Agent在ECS的部署。

安裝完成後,繼續點擊下一步,然後點擊連線按鍵,開始與Agent建立串連。

建立串連過程可以線上查看

部署完成後,可以在Agent列表看到部署的Agent。
注意:
通過私網串連打通網路會在使用者的帳號下建立反向終端節點,可能會產生費用,使用完成之後需要使用者手動釋放。
3.2.3 Agent操作
3.2.3.1 停止
自動部署的Agent,狀態為線上時,可以通過點擊停止按鈕,來關停該Agent。

停止後,ECS上Agent會被停止,列表狀態為停止,停止狀態的Agent不可以執行校正任務。
3.2.3.2 啟動
停止狀態的Agent,可以通過點擊啟動按鈕,來啟動該Agent。
啟動後,Agent狀態變為線上。
3.2.3.3 刪除
不再使用的Agent,可以在Agent列表進行刪除。

3.2.3.4 重連與複製啟動命令
手動部署的Agent,在Agent的斷連後,Agent狀態會被置為離線,可以點擊複製啟動命令,將命令在ECS上執行之後,點擊重連,使CMH與Agent重建立立串連。

重連之後,Agent的狀態為線上。

3.3 建立驗證計劃
3.3.1 建立驗證計劃
由於篇幅原因,文檔以OSS為例。其餘的驗證對象的不同驗證方法以控制台為準。
完成agent啟動和串連網路之後,點擊建立驗證計劃按鈕,填寫基本資料完成割接計劃的建立。
根據不同的資料來源類型填寫完成後,測試資料來源聯通性正常之後,點擊確認按鈕即可開始進行資料來源的解析。

這裡只給出了源端資料來源資訊,如果需要進行源端與目標端之間的校正,還需要增加目標端資料來源資訊。
等待資料來源解析完成後,驗證計劃建立完畢。

3.3.2 建立校正任務
點擊計劃名稱進入目標計劃的詳情頁。

之後可以看到agent的資訊(當前同一個驗證計劃只支援一個agent)。點擊建立任務按鈕,進行校正任務的建立。

進行表單填寫後點擊下一步按鈕,根據剛剛填寫的資料來源資訊選擇需要校正的對象。根據不同的校正方式填寫表單,點擊下一步。

之後填寫完表單內容之後,再點擊下一步。
最後確認驗證範圍無誤之後,點擊確認,建立驗證任務。
3.3.3 發起校正任務
校正任務建立完成後,可以點擊發起驗證按鈕直接發起所有校正任務。同時也支援勾選後,點擊批量發起驗證按鈕進行部分任務的發起。
點擊發起任務後,任務的狀態會置為驗證中,等待後重新整理頁面即可觀察到任務的執行結果。

點擊發起任務後,任務的狀態會置為驗證中,等待後重新整理頁面即可觀察到任務的執行結果。
若發現執行結果不符合預期,支援資料訂正之後,點擊重新運行任務按鈕,重新發起校正。
3.3.4 切換Agent
如果想要切換該驗證計劃對應的Agent,點擊Agent列表的編輯,選擇需要的Agent,點擊確定。(當前同一個驗證計劃僅支援單Agent,如果選擇多個Agent會報錯)

新的Agent會去校正和當前驗證計劃對應的資料來源的聯通性,校正無誤後,切換Agent完成。