keepalived搶占和非搶占模式


keepalived的實際運行過程中,當master發生異常,且后期恢復master正常后,存在搶占或非搶占兩種情況。簡單點說搶占模式就是,當master宕機后,backup 接管服務。后續當master恢復后,vip漂移到master上,master重新接管服務,多了一次多余的vip切換,而在實際生產中是不需要這樣。實際生產中是,當 原先的master恢復后,狀態變為backup,不接管服務,這是非搶占模式。

接下來分4種情況說明

1)倆台都為master時,比如server1的優先級大於server2,keepalived啟動后server1獲得master,server2自動降級為backup。此時server1宕機的話,server2接替服務,當server1恢復后,server1又變為master,重新接管服務,server2變為backup。屬於搶占式。

2)server1為master,server2位backup,且master優先級大於backup。keepalived啟動后server1獲得master,server2為backup。當server1宕機后, server2接管服務。當server1恢復后,server1重新接管服務變為master,而server2變為backup。屬於搶占式。

3)server1為master,server2位backup,且master優先級低於backup。keepalived啟動后server2獲得master,server1為backup。當server2宕機后, server1接管服務。此時server2恢復后搶占服務,獲得master,server1降級將為backup。屬於搶占式。

以上3種,只要級別高就會獲取master,與state狀態是無關的

4)server1和server2都為backup。我們要注意啟動server服務的啟動順序,先啟動的升級為master,與優先級無關。且配置nopreemt項

比如server1獲得master權限,server2為backup。此時server1宕機后,server2接管服務升級為master。當server1恢復后權限將為backup,不會爭搶 server2的master權限,server2將會繼續master權限。屬於非搶占式。

重點:第4種非搶占式倆節點state必須為bakcup,且必須配置nopreempt。

注意:這樣配置后,我們要注意啟動服務的順序,優先啟動的獲取master權限,與優先級沒有關系了。

總結:搶占模式即MASTER從故障中恢復后,會將VIP從BACKUP節點中搶占過來。非搶占模式即MASTER恢復后不搶占BACKUP升級為MASTER后的VIP。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM