Linux 虚拟服务器(LVS)负载均衡实验与原理详解
一、实验说明
本实验通过在 CentOS/RHEL 环境下部署 LVS,实现对后端 Web 服务器的负载分发,验证 LVS 的高可用与高并发能力。
二、知识点讲解
LVS 核心概念:LVS(Linux Virtual Server)是基于 Linux 内核的负载均衡技术,通过 IPVS 模块实现四层(传输层)负载均衡。
三种工作模式:
NAT 模式:修改目标 IP,适用于小规模集群。
DR 模式:修改 MAC 地址,性能最优,应用最广。
TUN 模式:通过 IP 隧道转发,支持跨网段。
调度算法:轮询(rr)、加权轮询(wrr)、最小连接(lc)、加权最小连接(wlc)等。
三、操作步骤(以 DR 模式为例)
1、环境准备
Director Server(调度器):IP: 192.168.1.10
Real Server 1:IP: 192.168.1.20
Real Server 2:IP: 192.168.1.21
VIP(虚拟 IP):192.168.1.100
2、在 Director Server 上安装 ipvsadm
yum install -y ipvsadm
3、配置 Director Server
# 配置VIP
ifconfig eth0:0 192.168.1.100 netmask 255.255.255.255 broadcast 192.168.1.100 up
# 清空ipvs规则
ipvsadm -C
# 添加虚拟服务
ipvsadm -A -t 192.168.1.100:80 -s wrr
# 添加真实服务器
ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.20:80 -g -w 1
ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.21:80 -g -w 1
# 保存规则
ipvsadm -S > /etc/sysconfig/ipvsadm
4、在 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
5、测试验证
(1)访问 http://192.168.1.100,刷新页面查看是否轮询到不同的 Real Server。
(2)使用 ipvsadm -lnc 查看连接状态。