keepalived设置master故障恢复后不重新抢回VIP配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了keepalived设置master故障恢复后不重新抢回VIP配置相关的知识,希望对你有一定的参考价值。

允许组播,两台设备上都需要执行
iptables -A INPUT -d 224.0.0.18 -j ACCEPT
或修改:vim /etc/sysconfig/iptables
适当位置添加行:
-A INPUT -d 224.0.0.18 -j ACCEPT

默认情况下keepalived 有一台主服务器(master,以后称之为M服务器),一台备服务器(backup,以后称之为B服务器)。
正常情况下M服务器接管VIP成为【主】,当M服务器宕机后,B服务器接管VIP成为【主】,已达到灾备的效果,如果M服务器再次恢复正常,那么M服务器会重新抢回VIP成为【主】 B服务器变成【备】。

核心配置如下,配置这里不全,需要注意:
Master配置

vrrp_instance VI_1 {
state MASTER
interface eno16777736
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.80.120
}
#notify_master /home/keepshell/notify_master.sh
#notify_backup /home/keepshell/notify_backup.sh
#notify_fault /home/keepshell/notify_fault.sh
#notify_stop /home/keepshell/notify_stop.sh
}

Backup配置

vrrp_instance VI_1 {
state BACKUP
interface eno16777736
virtual_router_id 51
nopreempt
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.80.120
}
#notify_master /home/keepshell/notify_master.sh
#notify_backup /home/keepshell/notify_backup.sh
#notify_fault /home/keepshell/notify_fault.sh
#notify_stop /home/keepshell/notify_stop.sh
}

有的时候我们需要M服务器在恢复正常后不要重新接管VIP,让B服务器继续为【主】 让后来恢复正常的M服务器为【备】。

修改Master配置, Backup服务器的配置不变。

vrrp_instance VI_1 {
? ? state BACKUP
? ? interface eno16777736
? ? virtual_router_id 51
? ? priority 100
? ? nopreempt
? ? advert_int 1
? ? authentication {
? ? ? ? auth_type PASS
? ? ? ? auth_pass 1111
? ? }
? ? virtual_ipaddress {
? ? ? ? 192.168.80.120
? ? }
? ? notify_master /home/keepshell/notify_master.sh
? ? notify_backup /home/keepshell/notify_backup.sh
? ? notify_fault ?/home/keepshell/notify_fault.sh
? ? notify_stop ? /home/keepshell/notify_stop.sh
}

state MASTER 修改为?state BACKUP?
nopreempt ?设置为不抢夺VIP

没错,修改M,B服务器的 ?state BACKUP 都为【备】类型,同时设置?nopreempt ?设置为不抢夺VIP,然后先启动M服务器,M服务器会成为【主】,
然后启动B服务器,由于M的优先级高【priority 100】 所以B不会抢夺VIP,这时M宕机,B成为【主】,接着M恢复正常,由于设置了nopreempt 所以M不会抢夺VIP,B继续为【主】而M为【备】。

以上是关于keepalived设置master故障恢复后不重新抢回VIP配置的主要内容,如果未能解决你的问题,请参考以下文章

Keepalived+Nginx实现高可用(HA)

Keepalived+Nginx实现高可用(HA)

KEEPALIVED

LVS-Keepalived集群

NGINX Keepalived高可用简单使用 之十

keepalived漂移VIP故障