LVS 负载均衡群集

一、LVS-DR集群

1. LVS-DR工作原理

LVS-DR(Direct Routing)模式通过改写请求报文的MAC地址实现负载均衡。数据包流向如下:

请求路径:客户端 \\rightarrow 调度器 \\rightarrow 真实服务器(RS)

响应路径 :真实服务器(RS)\\rightarrow 客户端

调度器仅处理入站请求,响应数据由服务器直接返回客户端,避免调度器成为网络瓶颈。

2. 数据包流向分析

以客户端访问VIP(Virtual IP)为例:

客户端发送请求至VIP,目标MAC为调度器MAC

调度器接收请求,改写目标MAC为选定RS的MAC(源IP仍为客户端IP)

RS收到请求后,直接响应客户端(源IP为VIP)

关键点:RS需配置VIP在回环接口(lo)并抑制ARP响应

3. LVS-DR模式特点

高性能:响应数据不经过调度器

网络要求:所有服务器需在同一广播域(二层互通)

配置约束:

VIP绑定在RS的lo接口

RS需禁用VIP的ARP响应

调度器与RS的子网掩码必须为32位

局限性:不支持端口映射

二、直接路由模式(LVS-DR)部署

1. 准备案例环境

拓扑示例:

复制代码
客户端(192.168.1.100) 
  ├─ 调度器(DIP:192.168.1.10, VIP:192.168.1.100)
  ├─ RS1(RIP:192.168.1.20, VIP:192.168.1.100)
  └─ RS2(RIP:192.168.1.30, VIP:192.168.1.100)

要求:关闭所有节点的防火墙与SELinux。

2. 配置负载调度器

(1)配置虚拟IP(VIP)

bash 复制代码
# 添加VIP(临时生效)
ip addr add 192.168.1.100/32 dev eth0

# 永久配置(CentOS)
cat <<EOF > /etc/sysconfig/network-scripts/ifcfg-eth0:0
DEVICE=eth0:0
IPADDR=192.168.1.100
NETMASK=255.255.255.255
ONPARENT=yes
EOF

(2)调整proc响应参数

bash 复制代码
# 抑制ARP响应
echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce

# 永久生效(/etc/sysctl.conf)
net.ipv4.conf.eth0.arp_ignore = 1
net.ipv4.conf.eth0.arp_announce = 2
3. 配置节点服务器(RS)

(1)配置虚拟IP(VIP)

bash 复制代码
# 在lo接口绑定VIP
ip addr add 192.168.1.100/32 dev lo

# 永久配置(CentOS)
cat <<EOF > /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.1.100
NETMASK=255.255.255.255
ONBOOT=yes
EOF

(2)调整proc响应参数

bash 复制代码
# 抑制VIP的ARP广播
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

# 永久生效(/etc/sysctl.conf)
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2
net.ipv4.conf.lo.arp_ignore=1
net.ipv4.conf.lo.arp_announce=2

(3)安装httpd并创建测试网页

bash 复制代码
yum install -y httpd
echo "RS1" > /var/www/html/index.html  # RS1节点
echo "RS2" > /var/www/html/index.html  # RS2节点

(4)启动httpd服务

bash 复制代码
systemctl start httpd && systemctl enable httpd
4. 测试LVS群集

在调度器配置IPVS规则:

bash 复制代码
ipvsadm -A -t 192.168.1.100:80 -s rr
ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.20 -g
ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.30 -g

客户端访问测试:

bash 复制代码
curl http://192.168.1.100  # 多次请求应轮询显示"RS1"和"RS2"

验证数据路径:

使用tcpdump在调度器抓包:仅见请求包,无响应包

在RS抓包:可见请求包及直回客户端的响应包

总结

LVS-DR优势:

吞吐量高(响应直回客户端)

调度器压力小(仅处理入站流量)
适用场景 :高并发Web服务、视频流等大流量业务
注意点:严格遵循网络层要求,确保ARP抑制生效以避免IP冲突。

相关推荐
陈希1232 天前
Nginx 从入门到能扛事:反向代理、负载均衡与 HTTPS 实战
nginx·https·负载均衡
未来之窗软件服务7 天前
WAF负载均衡+蜜罐混淆安全体系-东方仙盟
运维·安全·负载均衡·仙盟创梦ide·东方仙盟·阿雪技术观·网关开发
Linux-lucky7 天前
46-Linux学习之旅之LVS负载均衡与keepalived高可用
linux·运维·学习·ubuntu·负载均衡·lvs
小羊没烦恼!10 天前
关于分布式锁原理的一些学习与思考-redis分布式锁,zookeeper分布式锁
java·服务器·网络·学习·负载均衡
知已难寻12 天前
00 · OpenStack 总纲——从云计算到 OpenStack 全景
运维·服务器·云原生·云计算·负载均衡·openstack·perl
七夜zippoe12 天前
Agent 网关设计:统一入口、智能路由与负载均衡
运维·ai·log4j·负载均衡·agent·网关设计
Vitaliy Kostrov(柯维远)13 天前
Multi-CDN 决策闭环:QoE、成本、安全与内容正确性如何进入同一个策略引擎?
安全·网络安全·云计算·音视频·负载均衡·cdn
知已难寻14 天前
第 2 篇 · 云的地基:服务器、存储、网络三大基础设施
运维·服务器·网络·云原生·云计算·负载均衡·1024程序员节
Ivanqhz14 天前
MoE 原理、TC/EC 路由、LSH-MoE 与负载均衡浅析
运维·网络·人工智能·深度学习·算法·机器学习·负载均衡
网络小江18 天前
组网第27课:ARP 的能与不能——免费 ARP、代理 ARP 与 ARP 欺骗
服务器·网络·网络安全·负载均衡·免费arp