1. 程式人生 > >keepalived簡單實驗(三)vrrp_script中要不要寫weight欄位

keepalived簡單實驗(三)vrrp_script中要不要寫weight欄位

今天在公司看到keepalived主備機器上的keepalived配置檔案的vrrp_scrip段中都沒有weight欄位,直接貼圖吧:

master的配置檔案:

backup的配置檔案:

指令碼的內容:

我在想,這樣寫就算master那邊的vrrp_script指令碼檢測失敗了,master那邊的優先值還是100,另一邊的優先值還是10,100>10,master不變,VIP不遷移啊。所以我做了個下面的實驗。

node1的IP:192.168.183.157

node2的IP:192.168.183.176

VIP:192.168.183.177

一、node1的預設優先值為100,node2的預設優先值為10,

node1配置檔案:

node2的配置檔案:

二、重啟keepalived

[[email protected] keepalived]# !221
systemctl restart  keepalived.service ; ssh node2 'systemctl restart  keepalived.service'

三、檢視node1與node2的IP情況:

四、在node1上建立down檔案,檢視IP變化情況

五、刪除down檔案,VIP又回到node1上

六、從日誌中來看,當我在node1上建立down檔案後,指令碼檢測立馬就會失敗,並返回狀態碼1,表示檢測失敗,然後node1的vrrp例項就會進入故障狀態,然後移除VIP

七、然後從官方文件中找到了這句話:

即如果未設定weight時,weight預設值為0,此時當vrrp_script連續檢測失敗時,vrrp例項進入FAULT狀態。會導致VIP轉移,原來如此!!