首页 > 其他分享 >keepalived脑裂问题及解决方案

keepalived脑裂问题及解决方案

时间:2022-11-21 19:46:30浏览次数:49  
标签:解决方案 keepalived VIP 脑裂 心跳 LB01 节点

1.何为keepalived脑裂

Keepalived的BACKUP主机在收到不MASTER主机报文后就会切换成为master,如果是它们之间的通信线路出现问题,无法接收到彼此的组播通知,但是两个节点实际都处于正常工作状态,这时两个节点均为master强行绑定虚拟IP,导致不可预料的后果,这就是脑裂。

2.产生原因

1.高可用服务器对之间心跳线链路发生故障,导致无法正常通信;

2.心跳线线路断开,老化;

3.网卡及相关驱动坏了,ip配置及冲突问题;

4.心跳线间连接的设备故障;

5.仲裁机器出现问题;

6.其他服务配置不当;

7.vrrp实例名字不一致、优先级一致;

8.高可用服务器上开启了iptables防火墙规则阻挡了心跳消息传输;

9.高可用服务器上心跳网卡地址等信息配置不正确,导致发送心跳失败;

10.Keepalived配置里同一 VRRP实例如果virtual_router_id两端参数配置不一致。

3.解决方案

1.当检测到脑裂时强行关闭一个心跳节点,关闭备用节点的监听;

2.多节点集群中,可以通过增加仲裁的机制,确定谁该获得资源;

3.对脑裂的监控报警,脚本监测;

检测思路:正常情况下keepalived的VIP地址是在主节点上的,如果在从节点发现了VIP,就设置报警信息。脚本(在从节点上)如下:

vim check.sh
 
#!/bin/bash
 
# 检查脑裂的脚本,在备节点上进行部署
LB01_VIP=192.168.100.100 
LB01_IP=192.168.100.11
LB02_IP=192.168.100.12
#通过状态信息,过滤结果,并统计 
while true
do
    ping -c 2 -W 3 $LB01_VIP &>/dev/null 
    if [ $? -eq 0 -a `ip add|grep "$LB01_VIP"|wc -l` -eq 1 ];then
        echo "machine is brain."
    else
        echo "machine is ok" 
    fi 
    sleep 5 
done

标签:解决方案,keepalived,VIP,脑裂,心跳,LB01,节点
From: https://www.cnblogs.com/y0226/p/16911770.html

相关文章

  • 非接触需求激增,AI 创新公司墨奇科技推出新一代生物识别解决方案
    近日,专注于生物识别领域的国际行业权威媒体FindBiometrics报道了墨奇在下一代生物识别领域的技术与新产品。以下文章为文章节选编译。​人工智能创新公司墨奇科技推出一系......
  • 【详细教程】LVS+KeepAlived高可用部署实战应用
    1.构建高可用集群1.1什么是高可用集群 高可用集群(HighAvailabilityCluster,简称HACluster),是指以减少服务中断时间为目的得服务器集群技术。它通过保护用户得业务程序对......
  • RocketMq消息体过大一站式解决方案
    普及RocketMq消息体大小限制相关知识如下:1.消息体大小最大为4MB,一般建议发送的消息体在4kb之内(性能最佳)。2.消息属性最大为32kb,一般建议发送的消息属性在......
  • LVS-DR+Keepalived
    一,LVS-DR工作原理1.数据包流向1.客户端发送请求到DirectorServer(负载均衡器),请求的数据报文到达内核空间。报文:源IP---------客户端的IP目标IP---......
  • Java中调用https报证书不存在问题的解决方案
    Java中调用https报证书不存在问题的解决方案报错现象后台日志中有如下报错信息:Causedby:sun.security.validator.ValidatorException:PKIXpathbuildingfailed:s......
  • eslint插件屁事多,解决方案
    eslint插件会检测是否写了分号,写了分号就报错,那么我们就设置一个文件".prettierrc"文件在里面写"semi":false从而在格式化代码的时候自动将分号去掉;写"singleQuote"......
  • 分布式事务,EventBus 解决方案:CAP【中文文档】
    最新文档地址:https://github.com/dotnetcore/CAP/wiki前言很多同学想对CAP的机制以及用法等想有一个详细的了解,所以花了将近两周时间写了这份中文的CAP文档,对CAP还不......
  • Visual C++ 6.0 Cl.exe命令启动失败解决方案
    如果想编译32位的WinC程序,选择VisualC++6.0是个不错的选择,相对VisualStudio更轻量化。一般我喜欢用命令行来生成程序,这样有时候需要批量化操作的时候更方便。安装了V......
  • 修复macOS Ventura冻结挂起的解决方案
    使用macOSVentura系统的朋友是否发现macOSVentura冻结挂起问题,您可能会感到非常沮丧。尽管很烦人,但用户在使用新的macOS版本时遇到故障并不少见。近年来,BigSur和Mo......
  • mysql索引优化解决方案
    mysql索引优化解决方案(在b站动力节点学习的)可能因为这个视频是比较新的视频,评论区都没有什么笔记和文档。于是我就跟着视频边学边记录笔记。希望有些建表的代码,有需要的......