企业级负载均衡集群——lvs的DR模式下的健康检测(Idirectord)

本文详细介绍了lvs负载均衡集群中DR模式的工作原理,阐述了DR模式下健康检测的重要性,以及如何在DR模式下利用ldirectord插件实现自动健康检测,确保客户端稳定访问。在实践中,通过卸载ipip模块、添加IP、搭建共享yum源以及配置ldirectord,实现了服务器的高可用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. DR模式的工作原理

在一台主机上面搭建lvs服务器,设置lvs的工作模式是DR模式,lvs仅仅是一个调度器,它会把客户端的请求转发给后备服务器
DR模式直接由后备服务器把数据返回给客户端,不需要逆向发送数据包,此时lvs只有一个职责就是专注做调度,效率很高,此时lvs调度器叫做DS调度器(director server),RS是真正的后端web服务(realserver)

过程的数据流向:

客户端(client)发送请求给lvs调度器(DS),DS调度器先把请求发往prerouting链(内核空间kernalspace),确定请求的是不是VIP(虚拟ip)
到了INPUT链之后,
如果请求的是集群服务,会在这里修改MAC地址,把源MAC地址改为DS的MAC地址,把目的MAC地址改为RS的MAC地址
此时IP仍然不变,处理完成后把请求发往postrouting链,检测请求的是否为RS(会检测请求的MAC地址)
如果是,接受请求,把请求通过回环接口发送到出口的网卡,再发回给客户端,数据在系统内的交流用的是回环接口,与外部的交流用的是网卡ens33

DR模式高效的原因就是RS服务器会直接响应客户端的请求,发送的请求一直往前发送数据包,不会再返回数据包给调度器

prerouting,input,postrouting都是iptables防火墙里面的链

流程:
Client发送请求 --> DS(调度器) --> prerouting --> INPUT --> postrouting --> RS(真正的服务器)–> lo回环接口 --> 网卡eth0 --> Client

2. DR模式中的名词解释

DS调度器,lvs的前端设备
RS真正提供服务的后端服务器
RIP后端服务器的ip地址
DIP调度器和后端服务器通信的ip
源IP CIP客户端的IP
目的IP VIP(设置的统一入口),对外公布的ip,客户请求进来的ip
源MAC地址DS调度器的MAC地址
目的MAC地址RS真正服务器的MAC地址

3. DR模式下的健康检测原因

  • lvs的DR模式和TUN模式都是后端服务器是正常工作
  • 当lvs集群中的一台后备服务器挂了之后,为了不影响客户的正常访问,应该将它从集群当中踢出去,让客户不再轮询访问
  • 调度器只把客户端的请求转发给状态好的那台web服务器,否则客户端是一会可以访问,一会不能访问,会影响访问效果
  • 一个集群的web服务器上面的资源一模一样,访问哪个客户根本感觉不到。

在这里插入图片描述
开启apache又再次回复正常

4. 在lvs的DR模式下实现健康检测

4.1 搭建DR模式

在lvs调度器上面:(注:列出的ip和使用的ip有些差别,只是方便查看)
ipvsadm -C清除之前的隧道策略
modprobe -r ipip删除隧道模块
ipvsadm -A -t 172.25.254.100:80 -s rr
ipvsadm -a -t 172.25.254.100:80 -r 172.25.254.12:80 -g
ipvsadm -a -t 172.25.254.100:80 -r 172.25.254.13:80 -g
systemctl restart ipvsadm.service
cat /etc/sysconfig/ipvsadm
ipvsadm -ln
ip addr add 172.25.254.100/24 dev eth33
ip a

在这里插入图片描述
在这里插入图片描述

  • 后端两台服务器(server3/2)都要卸载ipip模块并且添加ip
    在这里插入图片描述
    在这里插入图片描述

4.2 使用ldirectord插件解决此问题,使客户可以稳定访问

  • 在真机(客户端)搭建共享yum源

在这里插入图片描述

  • lvs调度器使用yum源

在这里插入图片描述

  • 安装ld插件
rpm -qc ld
rpm -qpl ld
cp 配置文件 /etc/ha.d/
vim /etc/ha.d/ldirectord.cf编辑设置信息

在这里插入图片描述
fallback 表示调度器自己的回环接口,两台RS都挂了就访问这个
在这里插入图片描述

4.3 自动实现健康检测的测试

在这里插入图片描述
systemctl restart httpd (server3恢复后)
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值