Keepalived LVS群集

什么是Keepalived?

Keepalived是一个开源的网络高可用性解决方案,它主要用于在负载均衡和故障转移的环境中确保服务的持续可用性。

Keepalived是基于VRRP协议来实现高可用的方案

Keepalived是如何工作的?

在一个LVS集群中有主服务器和备服务器之分。

在默认的情况下,通过优先级来决定谁主谁备(主服务器master 和 备服务器backup),master会通过IP命令在本地生成VIP,接收到来自客户端的请求消息并处理,同时也会定时的给backup发送VRRP消息来告知自身的存活状态,当master发生故障,backup会接替VIP来继续提供服务,保证服务的高可用。

Keepalived工作模式

Keepalived有两种工作模式,分别是 抢占模式 和 非抢占模式。

  • 抢占模式:当主服务器master发生故障恢复后,会抢占备服务器backup的VIP
  • 非抢占模式:当主服务器master发生故障恢复后,不会抢占备服务器backup的VIP

非抢占模式如何设置: 主备节点的state都配置为BAKCUP,并且都添加配置nopreempt

Keepalived 脑裂故障

当Keepalived发生脑裂故障,会发现主服务器和备服务器都拥有着相同的VIP

这种现象发生的原因是因为主服务器和备服务器直接的通信断开,导致了备服务器无法收到主服务器发送的VRRP报文,此时备服务器认为主服务器发生了故障,因此通过IP命令生成了VIP

解决脑裂故障的方法:将主服务器或者备服务器其中一个的Keepalived服务关闭

如何预防脑裂故障?

(1)关闭防火墙或者修改防火墙规则放通VRRP组播地址(224.0.0.18)

(2)主备服务器通信中断,就添加双链路通信

(3)使用脚本在主服务器判断与备服务器的通信是否中断,判断通信确实中断,就关闭自身keepalived服务

(4)使用第三方应用或监控系统检测有无发生了脑裂故障,如果确认发生脑裂故障则通过第三方应用或监控系统来关闭主服务器或备服务器其中一个的keepalived服务

相关推荐
我要见SA姐116 分钟前
GitHub Actions 自动化:5 个真实运维提效案例
运维·数据库·机器学习·oracle·回归
Android系统攻城狮1 小时前
Linux FFmpeg深度解析之avcodec_flush_buffers调用流程与实战(十九)
linux·运维·服务器·ffmpeg·车载音视频·ffmpeg音视频进阶
Y3815326622 小时前
用 httpx 写 SerpBase 异步客户端:连接池与超时配置
运维·服务器·数据库
倔强的石头1062 小时前
【Linux指南】进程通信系列(七):System V 信号量 —— 同步互斥的内核原语
linux·运维·服务器
HZZD_HZZD4 小时前
大口径摄像水表白皮书拆解:DN40加装改造与字轮识别实测
运维·物联网·腾讯云
PellyKoo4 小时前
【Ubuntu】GTX 1080 Ti 显卡占用为0但功率高达60W的排查与解决
linux·运维·ubuntu
莫晓燚6 小时前
阿里云若依项目部署与日志采集---实战
运维·数据库·redis·阿里云·ruoyi
captain3766 小时前
MyBatis Plus(1)
java·服务器·mybatis
何中应6 小时前
Grafana如何共享面板
运维·grafana·可观测
科创致远6 小时前
ESOP 电子作业指导书 WiFi 网络应用实测报告
运维·服务器·网络