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服务

相关推荐
pixcarp16 小时前
知识库系统的内容资产闭环怎么设计
服务器·数据库·后端·golang
江畔柳前堤16 小时前
github实战指南01-账号配置与 SSH 密钥
运维·人工智能·深度学习·ssh·github·pyqt·信号处理
Moshow郑锴17 小时前
Ubuntu 26.04 中文输入法 : fcitx5+Rime中州韵引擎
linux·运维·ubuntu
莫名的好感°18 小时前
手机RAR解压怎么选?2026年二季度四款产品问答
服务器·网络·智能手机
小赖同学啊20 小时前
智能连接器集群化高可用生产方案
linux·运维·人工智能
wanghao66645520 小时前
DevOps 从入门到实践:构建高效交付流水线
运维·devops
qq_5469372720 小时前
从“能用”到“超神”,DeepSeek++给网页版装上“大脑”和“手脚”,支持长期记忆、MCP工具与自动化任务!
运维·自动化
ZStack开发者社区20 小时前
基于AI Agent的ZCF API文档全链路自动化
运维·人工智能·自动化
Cinema KI20 小时前
Linux第一个系统程序-进度条
linux·服务器
Moshow郑锴21 小时前
Ubuntu 26.04 更换阿里云源镜像
linux·运维·ubuntu