Keepalived两节点出现双VIP情况及解决方法【原创】
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情况及解决方法【原创】的更多相关文章
- Keepalived两节点出现双VIP的情况
一.现象 安装有keepalived的两节点服务器10.11.4.186/187,主要做高可用,设定VIP10.11.4.185. 首先启动10.11.4.186的keepalived服务,服务启动正 ...
- nginx+keepalived+tomcat+memcache实现双VIP高可用及Session会话保持
Nginx+Keepalived+Tomcat+Memcached 实现双VIP负载均衡及Session会话保持 IP 信息列表: 名称 IP ...
- Java虚拟机系列(三)---内存溢出情况及解决方法
因为Java虚拟机内存有堆内存.方法区.虚拟机栈.本地方法栈和程序计数器五部分组成,其中程序计数器是唯一一块不会发生内存溢出异常的内存区,所以只有四类内存区可能发生内存溢出异常,其中虚拟机栈和本地方法 ...
- 出现UnboundLocalError: local variable 'a' referenced before assignment异常的情况与解决方法
出现UnboundLocalError: local variable ‘a’ referenced before assignment异常的情况与解决方法字面意思:局部变量赋值前被引用原因:局部变量 ...
- Android - 内存泄漏的情况以及解决方法
[译]Android内存泄漏的八种可能(上) Android防止内存泄漏的八种方法(下). Static Activities 在类中定义了静态Activity变量,把当前运行的Activity实例赋 ...
- Eclipse开发STM32出现找不到函数的情况的解决方法
问题表现: 在明明引用了头文件的情况下,出现“undefined reference to `…'”的情况,例如下图: 解决方法: 在左边的数据目录定位到“system\src\stm32f0-st ...
- 【FAQ】应用集成HMS Core部分服务出现“ 6003报错”情况的解决方法来啦
背景 开发者在应用中集成HMS Core部分服务时,android sdk 以及flutter等跨平台sdk,会出现编译打包后,运行报6003错误码的情况.根据查询可以得知,错误代码 6003 表示证 ...
- 如何将一个本来需要发几十条sql语句的需求优化成两条(非sql语句优化,而是解决方法)
首先声明,本人所有博客均为原创,谢绝转载! 今天接到一个需求,如下 这里解释一下,为什么是几十条,因为这里面每个公式的每个条件都是一个单独的数据如净利润就是一条sql语句,而且分散在不同的表,如果此方 ...
- 两个img之间出现间隙的解决方法
今天写了个小页面,发现了一个问题,两个包在a标签里的img之间总是有间隙,不能挨在一起,最后在同事的帮助下,找到解决的办法是,设置img的基线,css代码如下: img{vertical-align: ...
随机推荐
- JDBC-Batch 批量执行
JDBC 批处理 SQL 语句 首先在 jdbc 的 url 中加上 rewriteBatchedStatements=true,只有开启了这个 Mysql 才会执行批处理,否则还是一条一条执行 St ...
- SpringBoot集成原生redis
redis的使用之一是Spring-data-redis,前面有介绍. 本篇介绍原生redis也就是jedis.这个效率更高 1.maven引入依赖 <!--springBoot-->&l ...
- CSS-With-BEM
Naming rules block_name__element_name--modifier_name-modifier_value Names are written in lowercase L ...
- excel vlookup简易样例【原】
vlookup功能 vlookup主要用来做映射,就像java的map一样. 比如我要找id为2的学生对应的名字,那么在F7单元格录入=VLOOKUP(E7,$A$2:$B$4,2,FALSE) 实际 ...
- Nginx 学习笔记(十)介绍HTTP / 2服务器推送(译)
原文地址:https://www.nginx.com/blog/nginx-1-13-9-http2-server-push/ 我们很高兴地宣布,2018年2月20日发布的NGINX 1.13.9支持 ...
- [Android] Android 使用 Greendao 操作 db sqlite
Android 使用 Greendao 操作 db sqlite GreenDAO是一个开源的安卓ORM框架,能够使SQLite数据库的开发再次变得有趣.它减轻开发人员处理低级数据库需求,同时节省开发 ...
- SpringBoot系列: 与Spring Rest服务交互数据
不管是单体应用还是微服务应用, 现在都流行Restful风格, 下图是一个比较典型的使用rest的应用架构, 该应用不仅使用database数据源, 而且用到了一个Weather微服务, 另一方面, ...
- 9.selenium
1.安装与入门 pip3 install selenium 将chromedriver放到一个没有权限要求的目录 from selenium import webdriver driverpath=& ...
- Groovy 设计模式 -- Strategy 模式
策略模式 https://en.wikipedia.org/wiki/Strategy_pattern In computer programming, the strategy pattern (a ...
- Linux centos6.7网卡配置
系统安装完成后 以此执行以下命令 相当于自动获取IP地址 setup命令——Network configuration———Device configuration———eth0 依次保存退出 实际上 ...