keepAlived常见问题
Posted happydreamzjl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了keepAlived常见问题相关的知识,希望对你有一定的参考价值。
1、脑裂问题
1、定义:
在一个高可用(HA)系统中,当关联着的两个结点互相之间断开通信时,本来为一个独立的对外提供服务的系统分裂为两个独立的结点,这时两个结点会争抢资源。(keepAlived 中表现为两个结点同时拥有VIP)
keepalived 分为主备两台机器,但对外只提供一个VIP访问,只有主机down 机VIP 才会漂移到备机提供服务。脑裂会导致主备两台机器同时拥有VIP出现争抢问题。
2、原因:
原因是主备机器之间通信断开,例:
如果启用了iptables,不设置"系统接收VRRP协议"的规则,就会出现脑裂,备机keepAlived程序接收不到主机的广播信息,表现为备机上存在VIP。
但是命令抓包时(tcpdump -i eth0|grep VRRP )却能抓取到主机发过来的VRRP广播,说明数据入站时 tcpdump 可以在iptables拦截之前抓到数据包之后被iptables拦截,所以keepAlived程序收不到该数据包。
3、解决办法:
1)为iptables 添加规则限制:
vim /etc/sysconfig/iptables
添加:-A INPUT -s 192.168.244/24 -d 224.0.0.18 -p vrrp -j ACCEPT
2)重启iptables : service iptables restart
3)备机上VIP 消失,问题解决:
2、一个局域网中多组(keepAlived对) 冲突问题
1、问题描述:
当在同一个局域网部署了多级keepalived服器对时,而又未使用专门的心跳线通信时,可能会发生高可用接管的严重故障问题。keepalived 高可用功能是通过VRRP 协议实现的,VRRP 协议默认通过IP 多播的形式实现高可用对之间的通信,如果同一个局域网内存在多组keepalived服务器对,就会造成IP多播地址冲突问题,导致接管错乱,不同组的keepalived 都会使用默认的224.0.0.18 作为多播地址。
2、问题解决:
在同组的keepalived 服务器所有的配置文件里指定独一无二的多播地址,配置如下:
global_defs
router_id LVS_19
vrrp_mcast_group4 224.0.0.19 #这个就是指定多播地址的配置
不同实例的通信认证密码最好不同,以确保接管正常
以上是关于keepAlived常见问题的主要内容,如果未能解决你的问题,请参考以下文章