什么叫脑裂???
同时在keepalived高可用集群中,出现了两个虚拟IP地址信息,这种情况就称为脑裂。


脑裂模拟:
lb01 (主)10.0.0.5
Keepalived 服务正常
Nginx 服务正常
防火墙关闭状态

lb02(备)10.0.0.6
Keepalived 服务正常
Nginx 服务正常
防火墙关闭状态

此时打开lb02(备)的防火墙,出现脑裂:
lb01:

[root@lb01 application]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:93:A7:84  
          inet addr:10.0.0.5  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe93:a784/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:16312 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10035 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:15889006 (15.1 MiB)  TX bytes:1082600 (1.0 MiB)

eth0:1    Link encap:Ethernet  HWaddr 00:0C:29:93:A7:84  
          inet addr:10.0.0.3  Bcast:0.0.0.0  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

eth1      Link encap:Ethernet  HWaddr 00:0C:29:93:A7:8E  
          inet addr:172.16.1.5  Bcast:172.16.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe93:a78e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:149362 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12360 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:215032333 (205.0 MiB)  TX bytes:1137524 (1.0 MiB)

[root@lb01 application]# 

lb02:

[root@lb02 tools]# /etc/init.d/iptables start
iptables: Applying firewall rules:                         [  OK  ]
[root@lb02 tools]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:0D:3A:D6  
          inet addr:10.0.0.6  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe0d:3ad6/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:17124 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10800 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:15933256 (15.1 MiB)  TX bytes:1109759 (1.0 MiB)

eth0:1    Link encap:Ethernet  HWaddr 00:0C:29:0D:3A:D6  
          inet addr:10.0.0.3  Bcast:0.0.0.0  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

eth1      Link encap:Ethernet  HWaddr 00:0C:29:0D:3A:E0  
          inet addr:172.16.1.6  Bcast:172.16.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe0d:3ae0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:149436 errors:0 dropped:0 overruns:0 frame:0
          TX packets:13145 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:215096735 (205.1 MiB)  TX bytes:1172566 (1.1 MiB)



脑裂出现原因:

  • 心跳线出现问题
    网卡配置有问题
    交换设备有问题
    线缆连接有问题
  • 有防火墙软件阻止问题
  • virtual_router_id配置数值不正确

    总之:只要备服务器收不到组播包,就会成为主,而主资源没有释放,就会出现脑裂

 

利用shell脚本实现监控管理:
备用设备有VIP就是表示不正常:

#!/bin/bash
check_info=$(ip a|grep -c 10.0.0.3)
if [ $check_info -ne 0 ]
then
	echo "keepalived server error!!!"
fi

 

最后修改于 2020-01-06 14:30:17
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付
上一篇