LVS-DR模式下虚拟机配置详解
LVS-DR(Direct Routing)模式是LVS(Linux Virtual Server)中性能最高的一种模式,它通过直接路由技术将请求分发至后端真实服务器,同时保持客户端IP不变,本文将详细介绍LVS-DR模式下虚拟机的配置步骤、关键参数及注意事项,帮助读者快速搭建高可用负载均衡集群。

网络环境准备
在配置LVS-DR虚拟机前,需确保网络环境符合以下要求:
- VIP(虚拟IP)与DIP(调度器IP):调度器(Director)需配置两个VIP,分别用于客户端访问和与后端服务器通信,DIP为调度器与后端服务器在同一局域网内的IP。
- RIP(真实服务器IP):后端真实服务器(Real Server)需配置与DIP同网段的RIP,并额外配置VIP,但需避免ARP广播干扰。
- 网络隔离:确保所有服务器(调度器、真实服务器)处于同一广播域,且网络设备支持ARP协议。
调度器(Director)配置
调度器是LVS-DR模式的核心,需完成以下步骤:

- 安装ipvsadm:通过
yum install ipvsadm -y安装LVS管理工具,用于配置虚拟服务器规则。 - 配置VIP:使用
ifconfig eth0:0 VIP netmask up或ip addr add VIP/24 dev eth0 label eth0:0添加虚拟IP,并关闭ARP广播:echo "1" > /proc/sys/net/ipv4/conf/eth0/arp_ignore echo "2" > /proc/sys/net/ipv4/conf/eth0/arp_announce
- 创建虚拟服务器:使用
ipvsadm命令添加服务,例如配置HTTP服务:ipvsadm -A -t VIP:80 -s wrr # 虚拟服务器,加权轮询调度 ipvsadm -a -t VIP:80 -r RIP1:80 -g -w 1 # 添加真实服务器,DR模式 ipvsadm -a -t VIP:80 -r RIP2:80 -g -w 2 ipvsadm -L -n # 查看规则
真实服务器(Real Server)配置
真实服务器需修改网络参数以避免ARP冲突,并启动相应服务:
- 配置VIP:为真实服务器添加与调度器相同的VIP,但需抑制ARP响应:
ifconfig eth0:0 VIP netmask up echo "1" > /proc/sys/net/ipv4/conf/eth0/arp_ignore echo "2" > /proc/sys/net/ipv4/conf/eth0/arp_announce echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
- 启动服务:确保真实服务器上的目标服务(如Nginx、Apache)监听VIP的对应端口,而非本地回环地址。
- 路由配置:真实服务器的默认网关无需指向调度器,可直接指向局域网网关,以避免流量绕过调度器。
测试与优化
- 连通性测试:使用
curl VIP:80或telnet VIP 80验证服务是否正常,通过ipvsadm -L -c查看连接状态。 - 负载均衡测试:通过
ab工具高并发请求,观察后端服务器的请求分配是否符合权重配置。 - 高可用优化:结合Keepalived实现调度器故障转移,避免单点故障,配置Keepalived时,需调整
virtual_server的lb_algo和lb_kind为wrr和dr。
注意事项
- ARP冲突:确保所有服务器关闭ARP广播,避免VIP冲突导致服务异常。
- 端口一致:真实服务器的监听端口必须与虚拟服务器配置的端口一致。
- 防火墙规则:关闭或调整防火墙策略,允许VIP和RIP之间的通信。
通过以上步骤,可成功搭建LVS-DR模式的虚拟机集群,实现高效、稳定的负载均衡,实际部署中,需根据业务需求调整调度算法和服务器权重,并结合监控工具实时优化性能。

















