1、故障现象

俩台服务器keepalived的vip在俩台服务器同时出现

A:10.70.12.72

B:10.70.12.73

2、问题分析

1)、先分析那台服务器在提供服务

A:10.70.12.72

B:10.70.12.73

可以看到是B机器72在对外提供lvs转发服务

2)、查看俩台服务器的keepalived日志

发现俩台的日志都是判断自己是master状态,证明俩者之间没有通过vrrp通信,来得到对方的状态信息

查看俩台服务器防火墙,发现B的防火墙没有关闭。关闭后发现keepalived日志报错如下

Nov   :: Cent65CTS1037061 Keepalived_vrrp: bogus VRRP packet received on eth0 !!!
Nov :: Cent65CTS1037061 Keepalived_vrrp: VRRP_Instance(VI_1) Dropping received VRRP packet...
Nov :: Cent65CTS1037061 Keepalived_vrrp: ip address associated with VRID not present in received packet : 10.70.12.20
Nov :: Cent65CTS1037061 Keepalived_vrrp: one or more VIP associated with VRID mismatch actual MASTER advert

百度一下发现可能是VRID和别的机器相同导致的,进一步验证一下,如下

在A服务器上抓包,发现好多VRID是51的IP在对vrrp发包。问题找到了。

[root@Cent65CTS1037051 ~]# tcpdump -i eth0 vrrp -n
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size bytes
09:32:24.556954 IP 10.70.12.211 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 100, authtype simple, intvl 1s, length 20
09:32:24.586937 IP 10.70.12.93 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 1, authtype simple, intvl 1s, length 20
09:32:24.637709 IP 10.70.12.237 > 224.0.0.18: VRRPv2, Advertisement, vrid 53, prio 150, authtype simple, intvl 1s, length 20
09:32:24.639037 IP 10.70.12.117 > 224.0.0.18: VRRPv2, Advertisement, vrid 14, prio 100, authtype simple, intvl 1s, length 20
09:32:24.641544 IP 10.70.12.202 > 224.0.0.18: VRRPv2, Advertisement, vrid 31, prio 102, authtype simple, intvl 1s, length 20
09:32:25.259017 IP 10.70.12.89 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 1, authtype simple, intvl 1s, length 20
09:32:25.557094 IP 10.70.12.211 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 100, authtype simple, intvl 1s, length 20
09:32:25.588104 IP 10.70.12.93 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 1, authtype simple, intvl 1s, length 20  

第一,为B防火墙没有关闭,导致A和B之间不能通信,都判断自己为master绑定vip

第二,keepalived的vrid与别人的相同,并且密码还都是一样的导致,keepalived报错

3、解决方法

第一、服务器都要关闭防火墙,不关闭就要增加vrrp策略

-A INPUT -p vrrp -j ACCEPT

第二、keepalived的vrid设置的不同,且最后修改密码

    virtual_router_id 82
authentication {
auth_type PASS
auth_pass 2111
}

参考

Keepalived两节点出现双VIP情况及解决方法_服务器应用_Linux公社-Linux系统门户网站 https://www.linuxidc.com/Linux/2017-10/147537.htm

Keepalived两节点出现双VIP情况及解决方法【原创】的更多相关文章

  1. Keepalived两节点出现双VIP的情况

    一.现象 安装有keepalived的两节点服务器10.11.4.186/187,主要做高可用,设定VIP10.11.4.185. 首先启动10.11.4.186的keepalived服务,服务启动正 ...

  2. nginx+keepalived+tomcat+memcache实现双VIP高可用及Session会话保持

    Nginx+Keepalived+Tomcat+Memcached 实现双VIP负载均衡及Session会话保持 IP 信息列表: 名称         IP                      ...

  3. Java虚拟机系列(三)---内存溢出情况及解决方法

    因为Java虚拟机内存有堆内存.方法区.虚拟机栈.本地方法栈和程序计数器五部分组成,其中程序计数器是唯一一块不会发生内存溢出异常的内存区,所以只有四类内存区可能发生内存溢出异常,其中虚拟机栈和本地方法 ...

  4. 出现UnboundLocalError: local variable 'a' referenced before assignment异常的情况与解决方法

    出现UnboundLocalError: local variable ‘a’ referenced before assignment异常的情况与解决方法字面意思:局部变量赋值前被引用原因:局部变量 ...

  5. Android - 内存泄漏的情况以及解决方法

    [译]Android内存泄漏的八种可能(上) Android防止内存泄漏的八种方法(下). Static Activities 在类中定义了静态Activity变量,把当前运行的Activity实例赋 ...

  6. Eclipse开发STM32出现找不到函数的情况的解决方法

    问题表现: 在明明引用了头文件的情况下,出现“undefined reference to  `…'”的情况,例如下图: 解决方法: 在左边的数据目录定位到“system\src\stm32f0-st ...

  7. 【FAQ】应用集成HMS Core部分服务出现“ 6003报错”情况的解决方法来啦

    背景 开发者在应用中集成HMS Core部分服务时,android sdk 以及flutter等跨平台sdk,会出现编译打包后,运行报6003错误码的情况.根据查询可以得知,错误代码 6003 表示证 ...

  8. 如何将一个本来需要发几十条sql语句的需求优化成两条(非sql语句优化,而是解决方法)

    首先声明,本人所有博客均为原创,谢绝转载! 今天接到一个需求,如下 这里解释一下,为什么是几十条,因为这里面每个公式的每个条件都是一个单独的数据如净利润就是一条sql语句,而且分散在不同的表,如果此方 ...

  9. 两个img之间出现间隙的解决方法

    今天写了个小页面,发现了一个问题,两个包在a标签里的img之间总是有间隙,不能挨在一起,最后在同事的帮助下,找到解决的办法是,设置img的基线,css代码如下: img{vertical-align: ...

随机推荐

  1. Sql Server时间格式化笔记

    Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDATE() ...

  2. vim 快捷键绑定

    1. 退出VIM,在shell下编译&&运行程序 :wq [root@fsjohnhuang ~]# gcc main.c -o main [root@fsjohnhuang ~]# ...

  3. java项目反编译获得源码

    经常能找到一些 过时的 项目源码,但是还是有研究价值的.但是肯定是不会给你源码的. 下面介绍怎么反编译: 1.在项目中找到classes这个文件夹,这个就是编译过的文件. 2.下载反编译工具JD-GU ...

  4. hibernate状态转换关系图【原】

    hibernate状态转换 其它参考 简单理解Hibernate三种状态的概念及互相转化 简单的Hibernate入门介绍

  5. js中html拼接

    https://i.cnblogs.com/EditPosts.aspx?postid=10620765&update=1

  6. thymeleaf 基础

    (一)Thymeleaf 是个什么?      简单说, Thymeleaf 是一个跟 Velocity.FreeMarker 类似的模板引擎,它可以完全替代 JSP .相较与其他的模板引擎,它有如下 ...

  7. C/C++内存分配和管理

    1. 内存分配和管理 1.1 malloc.calloc.realloc.alloca malloc:申请指定字节数的内存.申请到的内存中的初始值不确定. calloc:为指定长度的对象,分配能容纳其 ...

  8. js监听键盘事件

    用JS监听键盘按下事件(keydown event)   1.监听全局键盘按下事件,例如监听全局回车事件 1 $(document).keydown(function(event){ 2 if(eve ...

  9. Java面试题系列(四)强引用、软引用、弱引用、幻象引用有什么区别?

    序言 资料 https://blog.csdn.net/weixin_38729727/article/details/82259507

  10. Ext.net 的锁定列要集中放到前面

    如题,Ext.net的锁定列要集中放在一起,不然的话,在使用排序的时候,会引起实际排序列错乱比如有A,B,C,D四列,A,C锁定,最终显示为A C | B D,这个时候如果点击B时,发现排序跑到了C上 ...