heartbeat列脑的发生和防止思路

2023年 7月 16日 42.2k 0

heartbeat和keeplive

在实际应用中,heartbeat的功能和keepalived有很多相同之处,但在生产中,对应实际的业务应用也是有区别的,例如:keepalived主要控制IP飘逸,配置,应用简单,而heartbeat则不但可以控制ip飘逸,更擅长对资源服务控制,配置,应用比较复杂,lvs和keepalived是密切配合的一对!http://linux-ha.org/wiki/main_page

熟悉相关的业务,使用串口和网线直连方式并用,防止列脑!如web,http的业务,可以网卡直连,或者网线交换机局域网的通信方式即可!A-BA和B使用串口线进行连接,不需要配置IP,传输不易出现问题。串口线对应的服务器端设备/dev/ttvS0.

列脑是什么?在双主互传心跳中,备节点或双备接受不到双主活着的消息,都启动服务!主备中,正常情况下主链接数据库,接受用户请求!主节点服务器当掉,备节点启动!如果,备节点接受不到主信息时,备节点会启动VIP,启动数据库链接!这样一来,用户访问到站点,链接的仍然是主。但是有可能会链接到备节点,因为两台主机(主备)都占用同一个VIP地址,如果链接到备节点,在备节点写入数据,主节点也有数据,主备数据未同步,皆不一致。甚至写数据无法写入。这样的列脑,恢复数据都很比较困难!

导致脑列发生的原因:1,心跳线链路故障2,网卡故障,ip冲突3,心跳线连接故障,交换机故障4,仲裁故障5,防火墙iptables阻挡6,配置心跳网卡地址配置错误7,其他配置不当,心跳方式不同,心跳广播冲突,软件bug等如:keepalived配置如果virtual_router_id参数,两端配置不一致,也会导致脑列问题

防止列脑:1,使用多条心跳线2,当检测不到心跳强行关闭一个心跳节点,这个功能需要特殊设备支持。例如stonith,fence:备节点检测不到主节点信息,在切换的时候就会直接关闭主节点电源,干掉主节点!3,做脑列的监控报警,在问题发生时,人为第一时间介入仲裁。4,启用磁盘锁(存储设备),一个节点在使用的时候,另外一个节点是无法写入的!同时也有一定的问题,如果A节点在写入的时候挂掉,无法释放锁,B将无法写入!所以,锁的应用应该在当A挂掉后,B接手服务后上锁!5,报警在服务器自动接管之前,给人员留足够的处理时间。(在短时间内报警,服务器不接管,5分钟后接管,接管时间较长,数据不丢失,导致用户无法写入数据!当你服务器宕机是不会影响读操作)6,报警后不接管,人员手动接管,人员观察是否脑列7,增加仲裁机制。第三方设备,如:两台机器宕机后,ping网关检测,如果ping不通,则主动放弃竞争!如果ping不通也可以自行重启!8,手机短信上下行,交互式控制!9,在业务许可的情况下,主从即可!

如何开发程序报警监控判断?1,“如果备节点发现有VIP立刻报警”(1)备节点正常接管(2)主节点没宕机,脑列状况2,"主服务是否异常,VIP是否切换"人员以以上两种条件来监控,进行判断是否正常切换还是列脑!heartbeat.png

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论