keeplive配置详解与haproxy配置详解

keeplive配置详解与haproxy配置详解一 keepalive 相关知识 1 1keepalive 介绍 keepalive 即 LVS 集群当中的高可用架构 只是针对调度器的高可用

大家好,欢迎来到IT知识分享网。

keepalive就是基于VRRP协议来实现LVS高可用的方案。

1、组播地址

224.0.0.18,根据组播地址进行通信,主备之间发送报文,确定对方是否存活。2、根据优先级判定主和备的位置。3、故障切换,主挂了,备来接替工作;主恢复了,备继续等待。4、主备之间的切换是VIP地址的切换。

在主调度器正常工作的时候,备完全处于冗余状态(待命)。备不参与集群的运转,只有当主调度器出现故障时,备才会承担主调度器的工作。一般主调度器恢复功能之后,主会继续作为集群的入口,备回到冗余状态,这个取决于优先级。

keepalive就是调度器的高可用。

VIP地址主备之间的切换,主在工作时,VIP地址只在主上,主停止工作,VIP漂移到备服务器。

在主备优先级不变的情况下,主恢复工作,VIP会飘回到主服务器。

1.3 keeplive脑裂

问:脑裂是什么?

HA架构(高可用架构)中的一个特殊现象,只要使用VIP地址代理的冗余模式的高可用,都有可能出现脑裂的问题。即主和备同时都有VIP地址。

主和备无法确定各自的身份,同时出现了VIP地址,两边都起来了,但两边都无法使用。

可能原因:

  1. keepalive的配置文件问题,IP地址配置冲突等
  2. 硬件问题:网卡,网线等故障
  3. 防火墙的策略,iptables的策略屏蔽了组播地址的广播,屏蔽了VRRP协议的报文
  4. 两台服务器的时间不同步,也可能导致这个问题
  5. 其他服务配置对keepalive的心跳线检测造成了干扰

解决脑裂的方法:

二、keepalive相关配置

第一步:安装keeplive 服务

keeplive配置详解与haproxy配置详解

keeplive 配置详解:

keeplive配置详解与haproxy配置详解

keeplive配置详解与haproxy配置详解
 

nginx2 :备 20.0.0.22 keepalive

nginx1是主服务器,监控nginx1的服务状态,如果nginx1的服务停止,需要自动停止nginx1的keepalive,这样VIP才会漂移到nginx2上。可用脚本实现自动关闭keepalive。如果主的nginx服务恢复,VIP再漂移到nginx1上,利用脚本检查nginx的健康状态

keeplive配置详解与haproxy配置详解
 keeplive配置配置keeplive配置详解与haproxy配置详解

在vrrp_instance VI_1 中添加 追踪脚本组 track_script ,vrrp会跟踪和监控脚本check_nginx

keeplive配置详解与haproxy配置详解

验证结果:在nginx1 上 ip addr查看,可以看到VIP20.0.0.100在主服务器上,客户机访问VIP地址,获得nginx1的web服务,关闭nginx1的nginx服务,过5秒,客户机访问VIP地址,获得nginx2的web服务,VIP地址漂移到nginx2上。

二、Haproxy相关知识

nginx : 四层转发、七层代理

lvs :四层转发,内核态,用户态

Haproxy :四层转发,七层转发

工作场景:用于高并发的web场景,可以支持一万个以上的并发请求,是高性能的TCP和HTTP的负载均衡器。

  • 进行四层和七层转发
  • 支持https
  • Haproxy本身不自带缓存功能,请求当中添加cookie,使用缓存
  • 支持主备切换(keepalive)

安装于配置

keeplive配置详解与haproxy配置详解

VIP 20.0.0.100 虚拟地址

test2 :haproxy1 20.0.0.20 主

test3 :haproxy2 20.0.0.30 备

nginx1 :20.0.0.21 服务器1

nginx2 :20.0.0.22 服务器2

test1:客户机

工作原理:

haproxy就像LVS的调度器,高可用即实现两台haproxy服务器一主一备。

在test2和test3上分别安装haproxy和keepalived

使用keepalive配置test2为 主haproxy服务器,test3为 备haproxy服务器,两台服务器都能对两台nginx服务器(即真实服务器)实现轮询

通过检测服务器上的haproxy服务状态实现主备切换,即VIP的漂移,注意:VIP是两台主备haproxy服务器的虚拟地址

3.1 test2和test3上安装haproxy

源码安装haproxy:

Haproxy安装如下

keeplive配置详解与haproxy配置详解

keeplive配置详解与haproxy配置详解

 keeplive配置详解与haproxy配置详解

keeplive配置详解与haproxy配置详解
 keeplive配置详解与haproxy配置详解

keeplive配置详解与haproxy配置详解

3.2 在test2和test3上安装keepalived

keeplive配置详解与haproxy配置详解

对test2的keepalive进行配置,编辑检查haproxy状态的脚本

keeplive配置详解与haproxy配置详解

keeplive配置详解与haproxy配置详解

对test3的keepalive进行配置,基本和test2的配置一样,区别在于:

  • 不用添加vrrp_script check_haproxy脚本模块和track_script脚本追踪组
  • 全局模块global_defs中设置

keeplive配置详解与haproxy配置详解

vrrp_instance VI_1 模块中,设置

keeplive配置详解与haproxy配置详解

keeplive配置详解与haproxy配置详解

curl test2和test3,观察是否能实现对两台真实服务器(Nginx1和2)的轮询,如果能轮询,则haproxy服务正常

观察到VIP现在在主服务器test2上

然后 curl 20.0.0.100 ,即访问VIP地址,能否正常获取服务,如果正常轮询,说明keepalive正常,此时是主服务器test2在通过haproxy提供服务,然后停止test2主服务器的haproxy服务

keeplive配置详解与haproxy配置详解

过5s,再查看test2和test3的IP地址 ip addr

观察到VIP现在在备服务器test3上,VIP漂移,再 curl 20.0.0.100 ,查看能否正常获取页面服务,如果正常轮询,说明keepalive正常,此时是备服务器test3在通过haproxy提供服务。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/111165.html

(0)
上一篇 2026-01-26 17:33
下一篇 2026-01-26 18:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信