部署LVS-DR群集

发布于:2025-05-29 ⋅ 阅读:(23) ⋅ 点赞:(0)

目录

一:LVS-DR群集

1:LVS-DR工作原理

2:数据包流向分析

3:LVS-DR模式特点

4:LVS-DR模式优势

二:直接路由模式(LVS-DR)

1:准备案例环境

2:配置负载调度器

(1)修改网络

(2)安装包ipvsadm

(3)创建虚拟服务器(集群)

3:配置节点服务器

(1)测试网页

(2)测试访问连接

(3)部署VIP

(4)修改内核配置文件

4:测试LVS-DR群集


一:LVS-DR群集

1:LVS-DR工作原理

LVS-DR(Direct Routing,直接路由)是一种基于三层(网络层)的负载均衡技术,通过修改请求报文的目标MAC地址,将流量转发至后端真实服务器(Real Server),而真实服务器直接响应客户端,无需经过调度器(Director Server)。

  • 核心机制

    • 请求阶段:客户端发送请求至VIP(Virtual IP),调度器接收后通过负载均衡算法选择真实服务器,将数据包的目标MAC地址改为真实服务器的MAC地址(IP头不变)。

    • 响应阶段:真实服务器通过配置的VIP(需隐藏,避免地址冲突)直接响应客户端,源IP为VIP,目标IP为客户端IP。

2:数据包流向分析

以下为数据包流向分析步骤。

  1. 客户端请求

    • 源IP:CIP(Client IP)

    • 目标IP:VIP

    • 数据包发送至调度器(Director)。

  2. 调度器转发

    • 修改目标MAC为选定真实服务器的MAC地址(IP头不变,仍是CIP→VIP)。

    • 通过ARP抑制(如设置arp_ignorearp_announce)确保真实服务器不宣告VIP的MAC。

  3. 真实服务器处理

    • 收到数据包后,发现本地有VIP(配置在lo:0接口),处理请求并直接响应客户端。

    • 响应包源IP为VIP,目标IP为CIP,通过默认路由(或特定路由)直接返回客户端。

3:LVS-DR模式特点

下面是LVS-DR模式特点:

  • Director Server 和 Real Server 必须在同一个物理网络中。
  • Real Server 可以使用私有的地址,也可以使用公网地址。如果使用公网地址,可以通过互联网对 RIP 进行直接访问。
  • 所有的请求报文经由 Director Server,但回复响应报文不能经过 Director Server。
  • Real Server 的网关不允许指向 Director Server IP,即不允许数据包经过 Director Server。
  • Real Server 上的 lo 接口配置 VIP 的 IP 地址。

4:LVS-DR模式优势

  • 高性能:直接路由模式减少了负载均衡器的处理负担,提高了整体系统的性能。
  • 低延迟:真实服务器直接响应客户端,减少了网络跳数,降低了延迟。
  • 可扩展性:可以轻松地添加或移除真实服务器,以适应流量变化。
  • 高可用性: 支持故障转移机制,当某个真实服务器出现故障时,可以自动切换到其他服务器。
     

二:直接路由模式(LVS-DR)

1:准备案例环境

案例环境如表所示
主机 操作系统 IP地址 应用
客户端 windows10 192.168.10.10 ----------
LVS

openEuler 24.03

192.168.10.202 ipvsadm
web1 openEuler 24.03 192.168.10.203 apache,nfs,bind-utils
web2 openEuler 24.03 192.168.10.204 apache,nfs,bind-utils
nfs openEuler 24.03 192.168.10.205 nfs,bind-utils

2:配置负载调度器

(1)修改网络

cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens33:0
vim ifcfg-ens33:0
修改:IPADDR=192.168.10.172,网卡名
注释网关,dns1=114.114.114.114
(其他不变)
重启网卡:nmcli c reload
		 nmcli c up ens33

(2)安装包ipvsadm

dnf -y install ipvsadm
ipvsadm -v
systemctl stop firewalld
setenforce 0		#关闭防火墙
ipvsadm -C

(3)创建虚拟服务器(集群)

ipvsadm -A -t 192.168.10.172:80 -s wrr
ipvsadm -a -t 192.168.10.172:80 -r 192.168.10.203 -g -w 1
ipvsadm -a -t 192.168.10.172:80 -r 192.168.10.204 -g -w 2
查看状态:ipvsadm-save 
	       	 ipvsadm -ln

3:配置节点服务器

(1)测试网页

systemctl stop firewalld
setenforce 0		#关闭防火墙
dnf -y install httpd		#安装网站
#测试网页
vim /var/www/html/index.html
	test203.com
	test204.com
#开启服务
systemctl start httpd		
systemctl enable httpd		

(2)测试访问连接

202(调度器):
#测试访问连接
curl 192.168.10.203
curl 192.168.10.204

(3)部署VIP

ip addr add 192.168.10.172/32 dev lo label lo:0
	#192.168.10.172/32:自成一个网段,不与其他网段发生冲突
#添加路由条目(临时生效)
ip route add local 192.168.10.172/32 dev lo
#添加路由条目(永久生效)
vim /etc/rc.local
ip addr add 192.168.10.172/32 dev lo label lo:0
ip route add local 192.168.10.172/32 dev lo
添加权限:
chmod +x /etc/rc.local
reroot		#重启系统
ifconfig      #查看ip

(4)修改内核配置文件

vim /etc/sysctl.conf
最后添加:
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
生效:sysctl -p

4:测试LVS-DR群集

201(客户端):
#测试访问连接
curl 192.168.10.172
arp -n
reboot	#清理arp记录
arp -n


网站公告

今日签到

点亮在社区的每一天
去签到