LVS配置详解:构建高性能负载均衡集群
Linux Virtual Server(LVS)作为Linux内核层级的负载均衡解决方案,通过IP虚拟化技术实现高可用、可扩展的服务集群,本文将详细介绍LVS的核心概念、工作模式及具体配置步骤,帮助读者快速搭建稳定的负载均衡环境。

LVS核心概念与工作原理
LVS基于IP层负载均衡,通过Director Server(调度器)将客户端请求转发至后端Real Server(真实服务器),其核心组件包括:
- IPVS(IP Virtual Server):内核模块,负责数据包转发与调度算法实现。
- 调度器:接收客户端请求,根据算法选择后端服务器。
- 真实服务器:提供实际服务的集群节点。
LVS支持三种工作模式:
- NAT模式:调度器修改目标IP,后端服务器需配置网关指向调度器,适用于中小规模集群。
- TUN模式:通过IP隧道封装数据包,后端服务器直接响应客户端,减轻调度器压力。
- DR模式:调度器仅修改MAC地址,后端服务器与调度器共享VIP,性能最优,推荐生产环境使用。
环境准备与基础配置
以DR模式为例,需准备以下环境:
- 调度器:双网卡(VIP:192.168.1.100,DIP:192.168.10.1)
- 真实服务器:两台节点(RIP1:192.168.10.2,RIP2:192.168.10.3),配置VIP(192.168.1.100)的lo:0接口,并抑制ARP响应。
基础配置步骤:
-
调度器配置:

modprobe ip_vs # 加载IPVS模块 ip addr add 192.168.1.100/32 dev eth0 # 配置VIP ip link set eth0 up sysctl -w net.ipv4.ip_forward=1 # 开启转发
-
真实服务器配置(以RIP1为例):
ip addr add 192.168.1.100/32 dev lo:0 # 配置VIP ip link set lo:0 up echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore # 忽略VIP的ARP请求 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服务配置与管理
使用ipvsadm工具配置虚拟服务与真实服务器:
-
添加虚拟服务(HTTP服务,VIP:192.168.1.100:80):
ipvsadm -A -t 192.168.1.100:80 -s wrr # 使用加权轮询算法
-
添加真实服务器:
ipvsadm -a -t 192.168.1.100:80 -r 192.168.10.2:80 -g # DR模式 ipvsadm -a -t 192.168.1.100:80 -r 192.168.10.3:80 -g -w 2 # 设置权重
-
保存与查看规则:

ipvsadm -S > /etc/sysconfig/ipvsadm # 保存配置 ipvsadm -Ln # 查看当前规则
健康检查与高可用扩展
生产环境中需结合Keepalived实现自动故障转移:
-
安装Keepalived:
yum install keepalived -y
-
配置Keepalived(/etc/keepalived/keepalived.conf):
! Configuration File for keepalived global_defs { router_id LVS_DEVEL } vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 virtual_ipaddress { 192.168.1.100 } } virtual_server 192.168.1.100 80 { delay_loop 6 lb_algo wrr lb_kind DR protocol TCP real_server 192.168.10.2 80 { weight 1 TCP_CHECK { connect_port 80 connect_timeout 3 } } }
常见问题与优化建议
- ARP冲突:确保所有节点正确配置
arp_ignore与arp_announce。 - 连接超时:调整
TCP_CHECK的connect_timeout参数,或优化后端服务器性能。 - 日志监控:通过
tail -f /var/log/messages查看LVS日志,排查转发失败问题。
通过合理配置LVS,可显著提升服务集群的并发处理能力与可靠性,结合Keepalived实现高可用后,系统可满足7×24小时稳定运行需求,适用于Web服务、数据库代理等多种场景。

















