-
如圖,配置的keepalived無法綁定虛ip:
報錯信息
報錯信息為(VI_HA): ip address associated with VRID 123 not present in MASTER advert : 172.103.201.120,意思為無法綁定虛IP,經(jīng)過網(wǎng)上查找原因,有兩種可能性:
(1)主備服務(wù)器時間不匹配,需要修改一致。
(2)虛擬路由ID在局域網(wǎng)中沖突。
此問題中忘記了另一個同事也在測HA的穩(wěn)定性,發(fā)現(xiàn)他也在用同樣的組播地址和虛擬路由id,我修改之后重啟keepalived,完美解決。 - keepalived中配置
notify_master "/usr/bin/nohup /var/hms/base_service/ha/script/switch.sh MASTER &"
notify_backup "/usr/bin/nohup /var/hms/base_service/ha/script/switch.sh SLAVE &"
notify_master和notify_backup在keepalived發(fā)生主備角色變化時,會觸發(fā)對應(yīng)的配置,調(diào)用腳本。而在本示例中,/var/log/message中報錯信息如下:Keepalived_vrrp[123535]: Unable to access script `/var/hms/base_service/ha/script/switch.sh,看著像沒權(quán)限,因此查看腳本的權(quán)限,都有可執(zhí)行權(quán)限,而且文件屬主都是root.root,后來考慮到可能是安全相關(guān),就有兩種可能:防火墻和selinux;防火墻是關(guān)閉的,發(fā)現(xiàn)selinux是enforce,設(shè)置setenforce 0之后就可以執(zhí)行了。最終在安裝腳本中配置:
# 臨時關(guān)閉selinux
setenforce 0
# 永久關(guān)閉selinux
sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config
