一、安装keepalived

yum -y install keepalived
systemctl enable keepalived --now

二、编辑keepalived配置文件

主--keepalived

vim vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state MASTER
    interface ens160
    virtual_router_id 51
    priority 100    # 主节点权重
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        11.0.1.143/24   # 虚拟ip
    }
}


备--keepalived

vim vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state BACKUP
    interface ens160
    virtual_router_id 51
    priority 90   # 备节点权重
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        11.0.1.143/24   # 虚拟ip
    }
}

三、模拟脑裂

1、主节点

iptables -A INPUT -s slaveIP -j DROP

2、备节点

iptables -A INPUT -s masterIP -j DROP

3、重启两个主备节点

systemctl enable keepalived  --now

4、效果:

可以看到两个节点都有虚拟vip,都认为自己是主节点

四、脑裂恢复方法

1、先停其中一台的 keepalived

systemctl stop keepalived

2、清空防火墙规则

iptables -F

3、重启两台 keepalived,VIP 会重新选举