我们常用的负载均衡系统主要是LVS,这种linux下的软件很方便使用。那么针对LVS集群系统的介绍,这里我们主要针对IPVS负载均衡问题进行一个详细的说明。首先还是让我们简要了解一下IPVS的内容。

各服务器IP分配:


Virtual IP:192.168.136.10
Load Balancer:192.168.136.11
Backup:192.168.136.12
Real Server 1:192.168.136.101
Real Server 2:192.168.136.102
Real Server 3:192.168.136.103


IPVS是LVS集群系统的核心软件,它的主要作用是:安装在Load Balancer上,把发往Virtual IP的请求转发到Real Server上。

IPVS负载均衡机制有三种,这里使用IP Tunneling机制:

◆Virtual Server via NAT

◆Virtual Server via IP Tunneling

◆Virtual Server via Direct Routing

IPVS负载均衡调度算法有十种:

◆轮叫(Round Robin)

◆加权轮叫(Weighted Round Robin)

◆最少链接(Least Connections)

◆加权最少链接(Weighted Least Connections)

◆基于局部性的最少链接(Locality-Based Least Connections)

◆带复制的基于局部性最少链接(Locality-Based Least Connections with Replication)

◆目标地址散列(Destination Hashing )

◆源地址散列(Source Hashing)

◆最短期望延迟(Shortest Expected Delay)

◆无须队列等待(Never Queue)

IPVS安装主要包括三方面:

◆在Load Banlancer上安装IPVS内核补丁

◆在Load Banlancer上安装IPVS管理软件

◆在Real Server上安装ARP hidden内核补丁

关于如何编译内核请参考其他文档,这里使用从UltraMonkey下载的已编译好的内核。

在Load Banlancer、Backup和Real Server上使用同一内核,IPVS和ARP hidden都已编译在这个内核里:

wget http://www.ultramonkey.org/download/2.0.1/rh.el.3.0/RPMS/mkinitrd-3.5.13-1.um.1.i386.rpm

wget http://www.ultramonkey.org/download/2.0.1/rh.el.3.0/RPMS/kernel-2.4.21-27.0.2.EL.um.1.i686.rpm

wget http://www.ultramonkey.org/download/2.0.1/rh.el.3.0/RPMS/kernel-smp-2.4.21-27.0.2.EL.um.1.i686.rpm

rpm -Fhv mkinitrd-3.5.13-1.um.1.i386.rpm

rpm -Fhv kernel-2.4.21-27.0.2.EL.um.1.i686.rpm

负载均衡器和Backup上安装IPVS管理软件:

wget http://www.linuxvirtualserver.org/software/kernel-2.4/IPVS-1.0.10.tar.gz

tar zxf IPVS-1.0.10.tar.gz

cd IPVS-1.0.10/IPVS/IPVSadm

make install

chkconfig --del IPVSadm

配置IPVS负载均衡(/etc/sysconfig/IPVSadm),添加Real Server:

-A -t 192.168.136.10:80 -s rr

-a -t 192.168.136.10:80 -r 192.168.136.11:80 -i

-a -t 192.168.136.10:80 -r 192.168.136.12:80 -i

-a -t 192.168.136.10:80 -r 192.168.136.101:80 -i

-a -t 192.168.136.10:80 -r 192.168.136.102:80 -i

-a -t 192.168.136.10:80 -r 192.168.136.103:80 -i