天天看點

Azure Redis 系列之 Azure Redis 遷移

    承接上文,接下來我們就來探讨一下Azure Redis的遷移問題,Redis本身是提供持久化的方法的,如AOF和RDB,但是在Azure Redis中,AOF和RDB都是隻有Premium版本才支援的功能!是以對于standard和basic的redis來說,需要能有一種更通用的遷移方式,微軟官方并沒有官宣提供Azure Redis遷移的工具,但是redis團隊的一名大佬還是自己寫了一個開源的遷移工具,這次就拿來給大家分享一下!

    這個工具本身也是公開在Github上的,以下是Github的位址,我們可以在這裡下載下傳到遷移工具

    https://github.com/Azure/Azure-China-Migration-Playbook/blob/master/migrate/china-migration-guidance-databases.md

    此方法比較适合Azure跨Region遷移,比如講一個region的redis遷移到另外一個region,下邊來介紹下這個工具如何使用

    首先來介紹下實驗環境:

    1.Azure Redis Standard, region chinanorth,原位址

    2.Azure Redis Standard, region chinanorth,目标位址

    3.工作用laptop一個

    實驗環境很簡單,首先先在之前的位址上下載下傳遷移工具

    在上一節當中,我們已經使用随機資料生成程式,批量生成了200多萬條資料,可以通過dbsize來檢視

    2.可以看到redis遷移工具下載下傳完成後,主要包含以下内容

    3.想要遷移的話很簡單,運作redis-copy指令即可

     .\redis-copy.exe --se mxyredis.redis.cache.chinacloudapi.cn --sa J****= --de mxyredis2.redis.cache.chinacloudapi.cn --da***

    指令格式也很簡單,隻需要輸入原位址,原伺服器的key,目标位址,目标伺服器的key即可

    4.    指令行工具遷移時不會有輸出資訊,但是在目标redis可以看到資料量一直在增加

Azure Redis 系列之 Azure Redis 遷移

    5.檢視本機的資源螢幕,可以看到本機和兩台redis都有連接配接,而且進出都有流量,這意味着,這個工具的原理是先把資料從原redis下載下傳到本地,然後再上傳到目标redis!并不是直接伺服器對伺服器直傳的,是以這也代表,遷移的速度會受制于運作遷移工具的機器,是以想要速度快一些的話,最好在Azure上建立VM來運作腳本!實驗也發現,通過公網的傳輸确實速度相對較慢,一小時才傳輸了不到1G資料

Azure Redis 系列之 Azure Redis 遷移
Azure Redis 系列之 Azure Redis 遷移

    6.傳輸完成

Azure Redis 系列之 Azure Redis 遷移

    7.可以看到兩個節點資料是一緻的了!遷移也就完成了

Azure Redis 系列之 Azure Redis 遷移

    當然,需要注意的是,這個工具本身并不支援增量,再次運作的話還會把所有資料全部copy一次,不得不說,美中不足

繼續閱讀