LVS+keepalived群集

一、Keepalived工作原理

Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题。

在一个LVS服务集群中通常有主服务器(MASTER)和备份服务器(BACKUP)两种角色的服务器,但是对外表现为一个虚拟IP(VIP),主服务器会发送VRRP通告信息给备份服务器,当备份服务器收不到VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。

Keepalived体系主要模块及其作用:

keepalived体系架构中主要有三个模块,分别是core、check和vrrp。

  • core模块:为keepalived的核心,负责主进程的启动、维护及全局配置文件的加载和解析。
  • vrrp模块:是来实现VRRP协议的。(调度器之间的健康检查和主备切换)
  • check模块:负责健康检查,常见的方式有端口检查及URL检查。(节点服务器的健康检查)

一个合格的群集应该具备的特点:

  1. 负载均衡 用于提高群集的性能 LVS Nginx HAProxy SLB F5
  2. 健康检查(探针) 针对于调度器和节点服务器 Keepalived Heartbeat
  3. 故障转移 通过VIP漂移实现主备切换 VRRP 脚本

健康检查(探针)常用的工作方式:

  1. 发送心跳消息 vrrp报文 ping/pong
  2. TCP端口检查 向目标主机的 IP:PORT 发起TCP连接请求,如果TCP连接三次握手成功则认为健康检查正常,否则认为健康检查异常
  3. HTTP URL检查 向目标主机的URL路径(比如http://IP:PORT/URI路径)发起 HTTP GET 请求方法,如果响应消息的状态码为 2XX 或 3XX,则认为健康检查正常;如果响应消息的状态码为 4XX 或 5XX,则认为健康检查异常。

二、LVS+Keepalived 高可用群集

主DR 服务器:20.0.0.100 (Linux1)

备DR 服务器:20.0.0.111 (Linux11)

Web 服务器1:20.0.0.101

Web 服务器2:20.0.0.103

vip:20.0.0.50

客户端:20.0.0.3

Nginx四层代理

两个调度器已准备好,下面准备高可用

成功,以下演示故障转移

Keepalived通过什么判断哪台主机为主服务器,通过什么方式配置浮动IP?

答案:

Keepalived首先做初始化先检查state状态,master为主服务器,backup为备服务器。

然后再对比所有服务器的priority,谁的优先级高谁是最终的主服务器。

优先级高的服务器会通过ip命令为自己的电脑配置一个提前定义好的浮动IP地址。

keepalived的抢占与非抢占模式:

抢占模式即MASTER从故障中恢复后,会将VIP从BACKUP节点中抢占过来。非抢占模式即MASTER恢复后不抢占BACKUP升级为MASTER后的VIP

非抢占式俩节点state必须为bakcup,且必须配置nopreempt。

注意:这样配置后,我们要注意启动服务的顺序,优先启动的获取master权限,与优先级没有关系了。
脑裂故障

现象:主服务器和备服务器都同时拥有相同的VIP

原因:因为主服务器和备服务器的通信中断,导致备服务器无法收到主服务器发送的VRRP报文,备服务器误认为主服务器已经故障了并通过ip命令生成VIP

解决:关闭主服务器或备服务器其中一个的keepalived服务

预防:(1)如果是系统防火墙导致,则关闭防火墙或添加防火墙规则放通VRRP组播地址(224.0.0.18)的传输

(2)如果是主备服务器之间的通信链路中断导致,则可以在主备服务器之间添加双链路通信

(3)在主服务器使用脚本定时判断与备服务器通信链路是否中断,如果判断是主备服务器之间的链接中断则自行关闭主服务器上的keepalived服务

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

相关推荐
落羽的落羽9 分钟前
【AI】快速理解AI应用的相关名词概念
linux·c++·人工智能·python·计算机网络·算法
刚入门的大一新生11 分钟前
Linux-进程控制
linux·运维·服务器·c++
上火的金鱼妹16 分钟前
K8S基础组件作用和关系整理
linux·运维·服务器·kubernetes
Vcaker27 分钟前
Linux学习25-harbor私有仓库部署
linux·运维·学习
刃神太酷啦31 分钟前
Redis 进阶核心:持久化 (RDB/AOF)、事务与主从复制全解析----《Hello Redis!》(5)
linux·c语言·数据库·c++·redis·缓存·bootstrap
虹科网络安全40 分钟前
使用艾体宝 IOTA 10 CORE+ 监控企业网络中的 AI 流量
网络·人工智能
编程的一拳超人1 小时前
DeepSeek Harness Linux/macOS/Windows 本地下载、启动与模型配置指南
linux·windows·macos·deepseek
醉颜凉1 小时前
网络安全必学:粘性MAC地址(Sticky MAC)原理与应用全解析
运维·服务器·网络·安全·web安全
时凌云.1 小时前
【2026最新】JDK 下载安装与环境配置全教程(Windows/Mac/Linux 三平台,零基础友好)
java·linux·macos
不懂的浪漫1 小时前
ToDesk 连接 Linux 后分辨率过低的解决方法
linux·运维·数据库