热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

KeepalivedVIP漂移故障分析与解决

在分析和解决KeepalivedVIP漂移故障的过程中,我们发现主备节点配置如下:主节点IP为172.16.30.31,备份节点IP为172.16.30.32,虚拟IP为172.16.30.10。故障表现为监控系统显示Keepalived主节点状态异常,导致VIP漂移到备份节点。通过详细检查配置文件和日志,我们发现主节点上的Keepalived进程未能正常运行,最终通过优化配置和重启服务解决了该问题。此外,我们还增加了健康检查机制,以提高系统的稳定性和可靠性。
keepalived + lvs 
172.16.30.31  master
172.16.30.32  backup
172.16.30.10  vip
故障:监控显示keepalived master主机故障;通过ping查看vip存在。master重启以后,VIP漂移回master.
偶然间,重启master网卡发现,vip漂移backup以后,无法漂移回master;需重启master-keealived服务,VIP才可漂移回master.
master:
message
May  9 10:47:06 sd3031 Keepalived_healthcheckers[31967]: Netlink reflector reports IP 172.16.30.31 removed
May  9 10:47:06 sd3031 Keepalived_vrrp[31968]: Netlink reflector reports IP 172.16.30.31 removed
May  9 10:47:06 sd3031 Keepalived_vrrp[31968]: Netlink reflector reports IP 172.16.30.10 removed
May  9 10:47:06 sd3031 Keepalived_healthcheckers[31967]: Netlink reflector reports IP 172.16.30.10 removed
May  9 10:47:06 sd3031 avahi-daemon[3924]: Withdrawing address record for 172.16.30.31 on eth0.
May  9 10:47:06 sd3031 avahi-daemon[3924]: Leaving mDNS multicast group on interface eth0.IPv4 with address 172.16.30.31.
May  9 10:47:06 sd3031 avahi-daemon[3924]: Joining mDNS multicast group on interface eth0.IPv4 with address 172.16.30.10.
May  9 10:47:06 sd3031 avahi-daemon[3924]: IP_ADD_MEMBERSHIP failed: No such device
May  9 10:47:06 sd3031 avahi-daemon[3924]: Withdrawing address record for 172.16.30.10 on eth0.
May  9 10:47:06 sd3031 avahi-daemon[3924]: Interface eth0.IPv4 no longer relevant for mDNS.
May  9 10:47:06 sd3031 kernel: bnx2 0000:0b:00.0: eth0: using MSIX
May  9 10:47:06 sd3031 Keepalived_vrrp[31968]: Kernel is reporting: interface eth0 DOWN
May  9 10:47:06 sd3031 Keepalived_vrrp[31968]: VRRP_Instance(VI_1) Entering FAULT STATE
May  9 10:47:06 sd3031 Keepalived_vrrp[31968]: VRRP_Instance(VI_1) removing protocol VIPs.
May  9 10:47:06 sd3031 Keepalived_vrrp[31968]: Netlink: error: Cannot assign requested address, type=(21), seq=1494298005, pid=0
May  9 10:47:06 sd3031 Keepalived_vrrp[31968]: VRRP_Instance(VI_1) Now in FAULT state
May  9 10:47:07 sd3031 Keepalived_healthcheckers[31967]: TCP socket bind failed. Rescheduling.
May  9 10:47:09 sd3031 kernel: bnx2 0000:0b:00.0: eth0: NIC Copper Link is Up, 1000 Mbps full duplex
May  9 10:47:09 sd3031 Keepalived_healthcheckers[31967]: TCP socket bind failed. Rescheduling.
May  9 10:47:09 sd3031 last message repeated 2 times
May  9 10:47:10 sd3031 Keepalived_vrrp[31968]: Kernel is reporting: interface eth0 UP
May  9 10:47:10 sd3031 Keepalived_vrrp[31968]: cant do IP_ADD_MEMBERSHIP errno=No such device (19)
May  9 10:47:10 sd3031 Keepalived_vrrp[31968]: Netlink reflector reports IP 172.16.30.31 added
May  9 10:47:10 sd3031 Keepalived_healthcheckers[31967]: Netlink reflector reports IP 172.16.30.31 added
May  9 10:47:10 sd3031 avahi-daemon[3924]: New relevant interface eth0.IPv4 for mDNS.
May  9 10:47:10 sd3031 avahi-daemon[3924]: Joining mDNS multicast group on interface eth0.IPv4 with address 172.16.30.31.
May  9 10:47:10 sd3031 avahi-daemon[3924]: Registering new address record for 172.16.30.31 on eth0.
master重启网卡以后,keepalived在eth0网卡up状态,但是未获取到ip地址的时候,无法进行组播。
出现异常
May  9 10:47:10 sd3031 Keepalived_vrrp[31968]: Kernel is reporting: interface eth0 UP
May  9 10:47:10 sd3031 Keepalived_vrrp[31968]: cant do IP_ADD_MEMBERSHIP errno=No such device (19)
May  9 10:47:10 sd3031 Keepalived_vrrp[31968]: Netlink reflector reports IP 172.16.30.31 added
keepalived进行服务之间内部通信,需要网卡IP做支撑,此出,网卡未有IP,keepalived之间通信失败。
master与backup之间通信失败,导致vip未进行漂移。
修改了keepalived.conf
vrrp_instance ** {
advert_int 2          #修改此项,为keepalived之间组播间隔时间。
}
将默认1修改为2
重启master网卡
master_message.log
May  9 11:03:30 sd3031 Keepalived_healthcheckers[5463]: Netlink reflector reports IP 172.16.30.31 removed
May  9 11:03:30 sd3031 avahi-daemon[3924]: Withdrawing address record for 172.16.30.31 on eth0.
May  9 11:03:30 sd3031 Keepalived_healthcheckers[5463]: Netlink reflector reports IP 172.16.30.10 removed
May  9 11:03:30 sd3031 avahi-daemon[3924]: Leaving mDNS multicast group on interface eth0.IPv4 with address 172.16.30.31.
May  9 11:03:30 sd3031 Keepalived_vrrp[5464]: Netlink reflector reports IP 172.16.30.31 removed
May  9 11:03:30 sd3031 Keepalived_vrrp[5464]: Netlink reflector reports IP 172.16.30.10 removed
May  9 11:03:30 sd3031 avahi-daemon[3924]: Joining mDNS multicast group on interface eth0.IPv4 with address 172.16.30.10.
May  9 11:03:30 sd3031 avahi-daemon[3924]: IP_ADD_MEMBERSHIP failed: No such device
May  9 11:03:30 sd3031 avahi-daemon[3924]: Withdrawing address record for 172.16.30.10 on eth0.
May  9 11:03:30 sd3031 avahi-daemon[3924]: Interface eth0.IPv4 no longer relevant for mDNS.
May  9 11:03:30 sd3031 Keepalived_vrrp[5464]: Kernel is reporting: interface eth0 DOWN
May  9 11:03:30 sd3031 Keepalived_vrrp[5464]: VRRP_Instance(VI_1) Entering FAULT STATE
May  9 11:03:30 sd3031 Keepalived_vrrp[5464]: VRRP_Instance(VI_1) removing protocol VIPs.
May  9 11:03:30 sd3031 Keepalived_vrrp[5464]: Netlink: error: Cannot assign requested address, type=(21), seq=1494298989, pid=0
May  9 11:03:30 sd3031 Keepalived_vrrp[5464]: VRRP_Instance(VI_1) Now in FAULT state
May  9 11:03:30 sd3031 kernel: bnx2 0000:0b:00.0: eth0: using MSIX
May  9 11:03:32 sd3031 Keepalived_healthcheckers[5463]: TCP socket bind failed. Rescheduling.
May  9 11:03:33 sd3031 kernel: bnx2 0000:0b:00.0: eth0: NIC Copper Link is Up, 1000 Mbps full duplex
May  9 11:03:34 sd3031 Keepalived_healthcheckers[5463]: TCP socket bind failed. Rescheduling.
May  9 11:03:34 sd3031 Keepalived_healthcheckers[5463]: TCP socket bind failed. Rescheduling.
May  9 11:03:34 sd3031 Keepalived_healthcheckers[5463]: Netlink reflector reports IP 172.16.30.31 added
May  9 11:03:34 sd3031 Keepalived_vrrp[5464]: Netlink reflector reports IP 172.16.30.31 added
May  9 11:03:34 sd3031 avahi-daemon[3924]: New relevant interface eth0.IPv4 for mDNS.
May  9 11:03:34 sd3031 avahi-daemon[3924]: Joining mDNS multicast group on interface eth0.IPv4 with address 172.16.30.31.
May  9 11:03:35 sd3031 avahi-daemon[3924]: Registering new address record for 172.16.30.31 on eth0.
May  9 11:03:37 sd3031 Keepalived_vrrp[5464]: Kernel is reporting: interface eth0 UP
May  9 11:03:37 sd3031 Keepalived_vrrp[5464]: VRRP_Instance(VI_1) Transition to MASTER STATE
May  9 11:03:37 sd3031 Keepalived_vrrp[5464]: VRRP_Instance(VI_1) Entering MASTER STATE
May  9 11:03:37 sd3031 Keepalived_vrrp[5464]: VRRP_Instance(VI_1) setting protocol VIPs.
May  9 11:03:37 sd3031 Keepalived_vrrp[5464]: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth0 for 172.16.30.10
May  9 11:03:37 sd3031 Keepalived_healthcheckers[5463]: Netlink reflector reports IP 172.16.30.10 added
May  9 11:03:37 sd3031 avahi-daemon[3924]: Registering new address record for 172.16.30.10 on eth0.
May  9 11:03:37 sd3031 Keepalived_vrrp[5464]: Netlink reflector reports IP 172.16.30.10 added
backup_message-log
May  9 11:03:35 sd3032 Keepalived_vrrp[26277]: VRRP_Instance(VI_1) Transition to MASTER STATE
May  9 11:03:35 sd3032 Keepalived_vrrp[26277]: VRRP_Instance(VI_1) Entering MASTER STATE
May  9 11:03:35 sd3032 Keepalived_vrrp[26277]: VRRP_Instance(VI_1) setting protocol VIPs.
May  9 11:03:35 sd3032 Keepalived_vrrp[26277]: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth0 for 172.16.30.10
May  9 11:03:35 sd3032 Keepalived_vrrp[26277]: Netlink reflector reports IP 172.16.30.10 added
May  9 11:03:35 sd3032 Keepalived_healthcheckers[26275]: Netlink reflector reports IP 172.16.30.10 added
May  9 11:03:35 sd3032 avahi-daemon[3963]: Registering new address record for 172.16.30.10 on eth0.
May  9 11:03:40 sd3032 Keepalived_vrrp[26277]: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth0 for 172.16.30.10
May  9 11:04:05 sd3032 Keepalived_vrrp[26277]: VRRP_Instance(VI_1) Received higher prio advert
May  9 11:04:05 sd3032 Keepalived_vrrp[26277]: VRRP_Instance(VI_1) Entering BACKUP STATE
May  9 11:04:05 sd3032 Keepalived_vrrp[26277]: VRRP_Instance(VI_1) removing protocol VIPs.
May  9 11:04:05 sd3032 Keepalived_healthcheckers[26275]: Netlink reflector reports IP 172.16.30.10 removed
May  9 11:04:05 sd3032 Keepalived_vrrp[26277]: Netlink reflector reports IP 172.16.30.10 removed
May  9 11:04:05 sd3032 avahi-daemon[3963]: Withdrawing address record for 172.16.30.10 on eth0.
VIP正常漂移

本文出自 “运维笔记” 博客,请务必保留此出处http://phospherus.blog.51cto.com/7824598/1923725

keepalived漂移VIP故障


推荐阅读
  • Python自动化测试入门:Selenium环境搭建
    本文详细介绍如何在Python环境中安装和配置Selenium,包括开发工具PyCharm的安装、Python环境的设置以及Selenium包的安装方法。此外,还提供了编写和运行第一个自动化测试脚本的步骤。 ... [详细]
  • C#设计模式学习笔记:观察者模式解析
    本文将探讨观察者模式的基本概念、应用场景及其在C#中的实现方法。通过借鉴《Head First Design Patterns》和维基百科等资源,详细介绍该模式的工作原理,并提供具体代码示例。 ... [详细]
  • 如何清除Chrome浏览器地址栏的特定历史记录
    在使用Chrome浏览器时,你可能会发现地址栏保存了大量浏览记录。有时你可能希望删除某些特定的历史记录而不影响其他数据。本文将详细介绍如何单独删除地址栏中的特定记录以及批量清除所有历史记录的方法。 ... [详细]
  • 利用Selenium与ChromeDriver实现豆瓣网页全屏截图
    本文介绍了一种使用Selenium和ChromeDriver结合Python代码,轻松实现对豆瓣网站进行完整页面截图的方法。该方法不仅简单易行,而且解决了新版Selenium不再支持PhantomJS的问题。 ... [详细]
  • 主板IO用W83627THG,用VC如何取得CPU温度,系统温度,CPU风扇转速,VBat的电压. ... [详细]
  • 探索新一代API文档工具,告别Swagger的繁琐
    对于后端开发者而言,编写和维护API文档既繁琐又不可或缺。本文将介绍一款全新的API文档工具,帮助团队更高效地协作,简化API文档生成流程。 ... [详细]
  • 本文详细介绍了在使用 SmartUpload 组件进行文件上传时,如何正确配置和查找文件保存路径。通过具体的代码示例和步骤说明,帮助开发者快速解决上传路径配置的问题。 ... [详细]
  • 本文探讨了为何相同的HTTP请求在两台不同操作系统(Windows与Ubuntu)的机器上会分别返回200 OK和429 Too Many Requests的状态码。我们将分析代码、环境差异及可能的影响因素。 ... [详细]
  • 深入解析SpringMVC核心组件:DispatcherServlet的工作原理
    本文详细探讨了SpringMVC的核心组件——DispatcherServlet的运作机制,旨在帮助有一定Java和Spring基础的开发人员理解HTTP请求是如何被映射到Controller并执行的。文章将解答以下问题:1. HTTP请求如何映射到Controller;2. Controller是如何被执行的。 ... [详细]
  • 探讨 HDU 1536 题目,即 S-Nim 游戏的博弈策略。通过 SG 函数分析游戏胜负的关键,并介绍如何编程实现解决方案。 ... [详细]
  • 本文详细介绍了一种通过MySQL弱口令漏洞在Windows操作系统上获取SYSTEM权限的方法。该方法涉及使用自定义UDF DLL文件来执行任意命令,从而实现对远程服务器的完全控制。 ... [详细]
  • yikesnews第11期:微软Office两个0day和一个提权0day
    点击阅读原文可点击链接根据法国大选被黑客干扰,发送了带漏洞的文档Trumps_Attack_on_Syria_English.docx而此漏洞与ESET&FireEy ... [详细]
  • 深入解析动态代理模式:23种设计模式之三
    在设计模式中,动态代理模式是应用最为广泛的一种代理模式。它允许我们在运行时动态创建代理对象,并在调用方法时进行增强处理。本文将详细介绍动态代理的实现机制及其应用场景。 ... [详细]
  • 通常情况下,修改my.cnf配置文件后需要重启MySQL服务才能使新参数生效。然而,通过特定命令可以在不重启服务的情况下实现配置的即时更新。本文将详细介绍如何在线调整MySQL配置,并验证其有效性。 ... [详细]
  • 本文介绍了如何通过Java代码计算一个整数的位数,并展示了多个基础编程示例,包括求和、平均分计算、条件判断等。 ... [详细]
author-avatar
勋酥-osh海州吴氏
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有