LVS-keepalived实现高可用

概念:

本章核心:

Keepalived为LVS应运而生的高可用服务。LVS的调度无法做高可用,预算keepalived这个软件,实现了调度器的高可用。

但是:Keeplived不是专门为LVS集群服务的,也可以做其他服务器的高可用

LVS的高可用集群:主调度器和备调度器(可以有多个)一般都是一主两备,一主一备

主调度器能够正常运行时,由主调度器进行后端真实服务器的分配处理,其余的备用调度器处在冗余状态,不参与集群的运转,主调度器挂了无法运行,此时备用调度器才会承担主调度器的工作,一旦主调度器恢复工作,继续由主调度器进行处理,备调度器用成了冗余。

VRRP:keepalived时基于vrrp协议实现LVS服务的高可用,解决了调度器单节点的故障问题

复习一下VRRP:

复习一下vrrp协议:提高网络路由器的可靠性开发的一种协议。

选举出主和备:预先设定好主和备的优先级,住的优先级较高,备的优先级低,一旦开启服务器,优先级高的,会自定抢占主的位置

VRRP组播通信:224.0.0.18 VRRP协议当中的主备服务器通过组播地址进行通信,交换主备服务器的之间的运行状态,主服务器会周期性的发送VRRP的报文消息,已告知其他备服务器,主服务器形现在的状态

主备切换:主服务器发生故障或者不可达,VRRP协议会把请求转义到备服务器,通过组播地址,VRRP可以迅速通知其他服务器发生了主备切换,确保新的主服务器可以正常的处理客户端的请求

故障恢复:一旦服务器恢复通信,由组播地址进行通信,发现在恢复的主服务器优先级更高,会抢占原主服务器的位置,成为主服务器,调度和接受请求。

LVS---DR模式结合keepalived

主的故障恢复之后,VIP地址转移

实验配置:

Test1:主调度器

Test2:备调度器

后端真实服务器1

后端真实服务器2

VIP地址

客户端

需要的工具

Keepalived的体系和模块

全局模块:core模块,负责整个keepalived启动加载和维护

VRRP模块:实现VRRP协议,包括主备切换

Check模块:负责健康检查,检查节点服务器,检查后端真实服务器的健康检查。配置在真实服务器的模块当中

关闭主调度服务器的转发功能

配置备服务器

备调度器远程复制

配置后端真实服务器

配置虚拟网卡

开一台客户机验证

验证keepalived机制是否工作正常

主调度器

备调度器

主调度器恢复工作之后

脑裂概念:

主和备同时拥有VIP地址,在高可用系统当中,联系两个系统的心跳线,本来是一体的,他是一个动作协调的高可用系统。

心跳线断开之后,分裂成两个独立的个体,主和备之间失去了联系,两个调度器,就像脑裂人一样开始抢占主的位置,抢占VIP,主也有VIP,备也有VIP,导致整个集群失败。

怎么解决脑裂问题:

软件层面:

  1. 配置文件问题
  2. Tcpdump抓包分析
  3. 先重启主,再重启备

网络层面:

  1. 高可用服务器之间他们的心跳线检测失败,主备之间无法进行通信

硬件层面:

  1. 连接主备之间的心跳线老化
  2. 网卡或者网卡驱动失败,IP地址配置冲突
  3. 防火墙导致的,防火墙没有配置心跳消息的传输通道,导致检测失败
  4. 后端服务器的配置问题,心跳方式不同,心跳广播冲突,软件bug

如何解决keepalived脑裂的问题:

  1. 硬件:准备两条心跳线,这样断了一条也无所谓,依然能够传送心跳消息
  2. 设置防火墙一定要让心跳的消息通过
  3. 依靠监控软件实时检测

生产当中常见的环境:

Dev 开发环境 开发人员专用

Sit 测试环境,测试人员使用(开发运维)

pre 预生产环境,运维和开发(和最终的生产环境保持一致)

Prd 生产环境(面向用户的环境)

Keepalived用于Nginx高可用:

核心图:

实验配置:

Nginx1:192.168.233.61主

Nginx2:192.168.233.62 备

Nginx3:配置VIP

实验前提:

关闭防火墙和安全机制

三台Nginx安装keepalived

Nginx1:

配置文件后面的全部删除

随后添加内容

配置文件最后

Nginx2配置:

另一台nginx直接复制配置文件

改一下优先级,和主备

写一个脚本文件:

把脚本复制到51主当中

赋权777

配置全部完成,停掉主服务

查看VIP地址是否转移

实现高可用

重启nginx服务,再重启keepalived,记得先后顺序,检测是否出现脑裂问题

相关推荐
遇见火星2 天前
2025年LVS的NAT和DR模型工作原理,并完成DR模型实战!
github·lvs·nat·dr
三五a9 天前
基于 openEuler 构建 LVS-DR 群集
lvs
糯米汤圆~10 天前
LVS+Keepalived 高可用集群搭建
服务器·网络·lvs
IT_张三10 天前
LVS+Keepalived高可用群集配置案例
运维·服务器·lvs
IC拓荒者13 天前
数字IC后端培训教程| 芯片后端实战项目中base layer drc violation解析
lvs·物理验证·ic后端培训·calibre drc·drc·calibre lvs·零基础入门后端
不要吃栗子李16 天前
高级运维:1. 对比 LVS 负载均衡群集的 NAT 模式和 DR 模式,比较其各自的优势 。2. 基于 openEuler 构建 LVS-DR 群集。
运维·负载均衡·lvs
obboda19 天前
LVS相关原理
linux·服务器·lvs
小马爱打代码19 天前
负载均衡 LVS vs Nginx 对比
nginx·负载均衡·lvs
竹竿袅袅20 天前
LVS 负载均衡集群(DR 模式)
linux·运维·网络·负载均衡·lvs
2301_旺仔22 天前
负载均衡集群——LVS-DR配置
负载均衡·lvs·linux集群