搜尋

首頁  >  問答  >  主體

redis - keepalived主備問題?

目前出現問題如下:
master keepalived配置為:
priority 200
nopreempt

slave keepalived設定為:
priority 190

兩個的檢查腳本都是:
vrrp_script chk_redis {

script "/usr/local/keepalived/scripts/redis_check.sh"
weight -20
interval 2                                    

}

當master的redis1掛掉之後,master keepalived的priority會一直降,slave的redis2就會變成主redis,等發現並重啟redis1之後,master keepalived的priority 已經降為0了,這時候,如果redis2掛掉,因為master keepalived設定為nopreempt,所以不會搶佔為master,也就是虛擬ip存取的還是slave 機器,而slave的redis2已經掛掉,整個系統就出問題了。結果就是每次發現redis1掛掉之後,為了防止意外,就只能整個重啟redis1、redis2、master keepalived、slave keepalived。
不知道我這樣表達有沒有亂掉。
有沒有辦法解決這個問題。
謝謝!

天蓬老师天蓬老师2796 天前645

全部回覆(1)我來回復

  • 巴扎黑

    巴扎黑2017-04-24 09:15:14

    keepalived +redis配置高可用,不需要配置優先權;優先權相同即可;
    keepalived 對vip進行搶佔,在redis實例狀態發生變化時,執行你的腳本即可

    回覆
    0
  • 取消回覆