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

相关推荐
猫头虎9 小时前
OpenClaw开源汉化发行版:介绍、下载、安装、配置教程
运维·windows·开源·aigc·ai编程·agi·csdn
那我掉的头发算什么9 小时前
【Mybatis】Mybatis-plus使用介绍
服务器·数据库·后端·spring·mybatis
wazmlp0018873699 小时前
第五次python作业
服务器·开发语言·python
looking_for__9 小时前
【Linux】应用层自定义协议与序列化
linux·服务器·网络
唐梓航-求职中9 小时前
技术-算法-leetcode-1606. 找到处理最多请求的服务器(易懂版)
服务器·算法·leetcode
晚风_END9 小时前
Linux|操作系统|elasticdump的二进制方式部署
运维·服务器·开发语言·数据库·jenkins·数据库开发·数据库架构
独自归家的兔9 小时前
Ubuntu 系统 systemd timers 详解:替代 crontab 的定时任务进阶方案
linux·运维·ubuntu
Lsir10110_10 小时前
【Linux】深入解剖页表——分页式存储
linux·运维·服务器
victory043110 小时前
服务器病毒处理记录
运维·服务器·chrome
爱吃生蚝的于勒10 小时前
【Linux】线程概念(一)
java·linux·运维·服务器·开发语言·数据结构·vim