热门标签 | 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故障


推荐阅读
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 在Linux系统中,网络配置是至关重要的任务之一。本文详细解析了Firewalld和Netfilter机制,并探讨了iptables的应用。通过使用`ip addr show`命令来查看网卡IP地址(需要安装`iproute`包),当网卡未分配IP地址或处于关闭状态时,可以通过`ip link set`命令进行配置和激活。此外,文章还介绍了如何利用Firewalld和iptables实现网络流量控制和安全策略管理,为系统管理员提供了实用的操作指南。 ... [详细]
  • POJ 2482 星空中的星星:利用线段树与扫描线算法解决
    在《POJ 2482 星空中的星星》问题中,通过运用线段树和扫描线算法,可以高效地解决星星在窗口内的计数问题。该方法不仅能够快速处理大规模数据,还能确保时间复杂度的最优性,适用于各种复杂的星空模拟场景。 ... [详细]
  • ButterKnife 是一款用于 Android 开发的注解库,主要用于简化视图和事件绑定。本文详细介绍了 ButterKnife 的基础用法,包括如何通过注解实现字段和方法的绑定,以及在实际项目中的应用示例。此外,文章还提到了截至 2016 年 4 月 29 日,ButterKnife 的最新版本为 8.0.1,为开发者提供了最新的功能和性能优化。 ... [详细]
  • Docker入门指南:初探容器化技术
    Docker入门指南:初探容器化技术摘要:Docker 是一个使用 Go 语言开发的开源容器平台,旨在实现应用程序的构建、分发和运行的标准化。通过将应用及其依赖打包成轻量级的容器,Docker 能够确保应用在任何环境中都能一致地运行,从而提高开发和部署的效率。本文将详细介绍 Docker 的基本概念、核心功能以及如何快速上手使用这一强大的容器化工具。 ... [详细]
  • 虚拟机网络设置与数据库远程连接优化指南
    本文针对个人计算机上虚拟机网络配置与数据库远程连接的问题,提供了一套详细的优化指南。在探讨远程数据库访问前,需确保网络配置正确,特别是桥接模式的设置。通过合理的网络配置,可以有效解决因虚拟机或网络问题导致的连接失败,提升远程访问的稳定性和效率。 ... [详细]
  • 在学习LVM(逻辑卷管理)技术的过程中,我对MD(多设备)、DM(设备映射器)以及逻辑设备和RAID的实现有了深入的理解。LVM2架构主要由DM主模块及其多个子模块组成,其中linear子模块用于创建线性设备,类似于简单的磁盘分区拼接。此外,还探讨了其他子模块如striped、mirror等在提高性能和数据冗余方面的应用。通过实际操作,我掌握了LVM的基本配置和管理方法,能够灵活应对不同存储需求。 ... [详细]
  • 基于域名、端口和IP的虚拟主机构建方案
    本文探讨了在单台物理服务器上构建多个Web站点的虚拟主机方案,详细介绍了三种主要的虚拟主机类型:基于域名、基于IP地址和基于端口的虚拟主机。每种类型的实现方式及其优缺点均进行了深入分析,为实际应用提供了全面的技术指导。 ... [详细]
  • C#中实现高效UDP数据传输技术
    C#中实现高效UDP数据传输技术 ... [详细]
  • MySQL性能优化与调参指南【数据库管理】
    本文详细探讨了MySQL数据库的性能优化与参数调整技巧,旨在帮助数据库管理员和开发人员提升系统的运行效率。内容涵盖索引优化、查询优化、配置参数调整等方面,结合实际案例进行深入分析,提供实用的操作建议。此外,还介绍了常见的性能监控工具和方法,助力读者全面掌握MySQL性能优化的核心技能。 ... [详细]
  • DHCP三层交换机设置方式全局模式和接口模式设置方式和命令resetsave回车输入yreboot输入n输入y重启后就恢复默认设置了默认用户名密码adminAdmin@huawei ... [详细]
  • 单链表的高效遍历及性能优化策略
    本文探讨了单链表的高效遍历方法及其性能优化策略。在单链表的数据结构中,插入操作的时间复杂度为O(n),而遍历操作的时间复杂度为O(n^2)。通过在 `LinkList.h` 和 `main.cpp` 文件中对单链表进行封装,我们实现了创建和销毁功能的优化,提高了单链表的使用效率。此外,文章还介绍了几种常见的优化技术,如缓存节点指针和批量处理,以进一步提升遍历性能。 ... [详细]
  • HBase在金融大数据迁移中的应用与挑战
    随着最后一台设备的下线,标志着超过10PB的HBase数据迁移项目顺利完成。目前,新的集群已在新机房稳定运行超过两个月,监控数据显示,新集群的查询响应时间显著降低,系统稳定性大幅提升。此外,数据消费的波动也变得更加平滑,整体性能得到了显著优化。 ... [详细]
  • 负载均衡基础概念与技术解析
    随着互联网应用的不断扩展,用户流量激增,业务复杂度显著提升,单一服务器已难以应对日益增长的负载需求。负载均衡技术应运而生,通过将请求合理分配到多个服务器,有效提高系统的可用性和响应速度。本文将深入探讨负载均衡的基本概念和技术原理,分析其在现代互联网架构中的重要性及应用场景。 ... [详细]
  • Django框架进阶教程:掌握Ajax请求的基础知识与应用技巧
    本教程深入探讨了Django框架中Ajax请求的核心概念与实用技巧,帮助开发者掌握异步数据交互的方法,提升Web应用的响应速度和用户体验。通过实例解析,详细介绍了如何在Django项目中高效实现Ajax请求,涵盖从基础配置到复杂场景的应用。 ... [详细]
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社区 版权所有