使用在線遷移Redis
更新時間 2024-11-24 17:01:18
最近更新時間: 2024-11-24 17:01:18
分享文章
場景描述
在源Redis和目標Redis網絡互通的前提下,使用在線遷移功能,可將源Redis中的數據以全量同步或者全量同步+增量同步的方式遷移至目標Redis中。
對業務影響
在線遷移,相當于在源Redis增加一個slave節點進行數據同步,建議在業務低峰期進行遷移操作。
遷移雙方實例均是天翼云實例時,遷移任務將部署在源端節點并占用一定的服務器資源(占用的服務器資源與遷移數據量相關)。
前提條件
- 在遷移之前,請先閱讀遷移方案概覽,了解當前場景的各類方案,并選擇適合于自身場景的方案。
- 如果目標集群為Cluster原生集群,則源Redis的所有DB(0-255)數據將自動合并至DB(0)中,發生key沖突時按照遷移勾選的<key沖突處理模式>進行處理。
準備工作
- 獲取源Redis的實例名稱與實例ID、連接地址(IP:PORT)。
- 獲取目標Redis的實例名稱與實例ID、連接地址(IP:PORT)。
發起在線遷移操作
1.填寫遷移信息
頁面參數介紹:
| 參數 | 說明 |
|---|---|
| 實例名稱 | DCS中的實例名稱,下拉列表選擇(源Redis、目標Redis必須有一個是DCS實例)。 |
| Cluster集群 | 當前集群是否是Cluster原生集群(不填寫實例名稱時填寫)。 |
| 實例連接地址 | IP:PORT(不填寫實例名稱時填寫)。 |
| 實例賬號/密碼 | Redis連接賬號/密碼,需有DBA管理權限。 |
| key沖突模式 | 跳過目標key,繼續執行/覆蓋目標key,繼續執行/中斷遷移。 |
| 同步模式 | 全量同步+增量同步/全量同步(源Redis未放通PSYNC命令時,不支持增量同步)。 |
2. 連接檢查
如果源Redis和目標Redis不在同一Region,建議使用云間高速打通網絡。
如果源Redis和目標Redis在同一Reigon,但是不在同一VPC,建議使用對等網絡打通網絡。
3. 創建遷移任務,同時啟動數據遷移
遷移進度
數據遷移頁面,可查詢遷移進度
說明如果是增量遷移,會一直保持遷移中狀態,需要手動停止遷移。
如需停止遷中的任務,點擊記錄右側的”結束“,即可停止遷移。
如需重試中斷的任務,點擊記錄右側的”重試“,即可重試遷移操作。
遷移后驗證
遷移完成后,請使用Redis-cli連接源Redis和目標Redis,驗證數據的完整性。
# 查看非cluster原生集群版 數據情況
./redis-cli -h $host -p $port -a $psw dbsize
# 查看cluster原生集群版 數據情況
./redis-cli -a $psw --cluster call $host:$port dbsize
說明如果無增量同步,則遷移過程中源Redis寫操作不會同步到目標Redis。