LVS-DR群集

发布于:2025-05-31 ⋅ 阅读:(19) ⋅ 点赞:(0)

LVS-DR(Linux Virtual Server - Direct Routing)是一种高性能的负载均衡集群架构,通过直接路由技术将请求分发到后端真实服务器(Real Server),并允许响应数据直接返回客户端(不经过负载均衡器)。以下是其核心原理、配置要点和注意事项:


一、LVS-DR 工作原理

  1. 请求流程

    • 客户端发送请求到虚拟IP(VIP)。

    • 负载均衡器(Director)通过IPVS(IP Virtual Server)修改请求的目标MAC地址,将请求转发给选中的Real Server。

    • Real Server 处理请求后,直接使用VIP作为源IP将响应返回给客户端(绕过Director)。

  2. 关键技术

    • ARP抑制:Real Server需配置为不响应VIP的ARP请求,避免IP冲突。

    • VIP绑定:VIP需配置在Real Server的lo接口(回环接口)上,仅用于响应数据包。


二、LVS-DR 配置步骤

1. 负载均衡器(Director)配置
# 添加VIP到网卡(如eth0)
ifconfig eth0:0 192.168.1.100 netmask 255.255.255.255 broadcast 192.168.1.100 up

# 启用IP转发
echo 1 > /proc/sys/net/ipv4/ip_forward

# 使用ipvsadm配置规则
ipvsadm -A -t 192.168.1.100:80 -s rr         # 创建TCP服务,使用轮询调度
ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.2:80 -g  # 添加Real Server,-g表示DR模式
ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.3:80 -g
2. 真实服务器(Real Server)配置
# 在每台Real Server上配置VIP到lo接口
ifconfig lo:0 192.168.1.100 netmask 255.255.255.255 broadcast 192.168.1.100 up

# 抑制ARP响应(关键!)
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

三、LVS-DR 优缺点

优点
  • 高性能:响应数据不经过Director,吞吐量高。

  • 低延迟:Real Server直接响应客户端。

  • 可扩展性强:支持大量Real Server。

缺点
  • 网络限制:Director和Real Server必须在同一物理网络(不能跨路由)。

  • ARP问题:需严格配置ARP抑制,否则可能引发IP冲突。


四、常见问题与解决

  1. Real Server无法响应请求

    • 检查VIP是否绑定到lo接口。

    • 验证arp_ignorearp_announce参数配置是否正确。

  2. 客户端收到重复响应

    • 确保只有Director和Real Server绑定VIP,其他设备未占用该IP。

  3. 跨网段不可用

    • LVS-DR要求所有节点在同一二层网络,跨网段需改用NAT或TUN模式。


五、应用场景

  • 高并发Web服务:如HTTP/HTTPS负载均衡。

  • 视频流媒体:需要高吞吐量的场景。

  • 数据库读负载均衡:适用于只读查询的分发。