Redis Cluster線上遷移
由於之前的redis cluster物理硬體效能不足。決定升級到更好的伺服器上。
考慮到redis是核心生產資料庫,決定線上遷移,遷移過程,不中斷服務。
下面是測試環境的完成遷移步驟:
1. 原環境(測試環境,沒有建立slave)
1 2 3 |
|
2. 在新主機上,啟動三個redis例項
1 2 3 |
|
3. 將三個redis,都新增到叢集中. 命令格式redis-trib.rb add-node <新增節點名> < 原叢集節點名>
1 2 3 |
|
4. 確認新增成功之後,開始reshard slot
1 |
|
5. 遇到點問題,由於網路超時等原因,導致resharding中斷。然後出現兩邊都有slot的情況,需要通過fix的方式來修復
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
6. 可以使用下面命令進行叢集檢查
1 |
|
7. 執行下面命令進行修復,然後就可以繼續reshard slot了
1 |
|
8. 全部slot遷移完成
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
確認一下狀態
1 2 3 4 5 6 7 |
|
9. 確認狀態OK的話,開始刪除節點
1 2 3 |
|
10. 幹掉10.21.14.251:7002成功,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
狀態檢查
1 2 3 4 5 6 |
|
根據上面步驟,刪除剩餘節點即可。
經過測試,應用在遷移過程中,沒有受到任何影響。但是應用連線池的IP需要找機會增加10.21.10.120。