LVS(Linux Virtual Server)是Linux下一个很好的开源项目,用于搭建负载均衡的高效的服务集群,可参见http://www.linuxvirtualserver.org/
1.配置Load Balancer
对于linux2.6内核已经集成了对ipvs的支持,只要启用管理它就行,所以只要安装ipvsadm
#apt-get install ipvsadm
编写一个shell脚本:
#!/bin/bash
#define const
VIP=192.168.0.200
PORT=80
RS1=192.168.0.105
RS2=192.168.0.180
ifconfig eth0:0 $VIP broadcast 192.168.0.255 netmask 255.255.255.0
route add -host $VIP dev eth0:0
echo “1” >/proc/sys/net/ipv4/ip_forward
ipvsadm -C
ipvsadm -A -t $VIP:$PORT -s wlc
ipvsadm -a -t $VIP:$PORT -r $RS1 -g -w 3
ipvsadm -a -t $VIP:$PORT -r $RS2 -g -w 3
这主要是为了开机启动配置的LVS比较方便,当然也可以一个一个命令执行,在运行完这个脚本,还可以动态的添加或删除节点,格式类似于脚本最后几行
2.配置Real Server:
对于real server,运行什么样的OS都无所谓,可以是linux, solaris, freebsd, window,只要能配置VIP就行,我这里还是用了Debian,也写了一个启动脚本:
#!/bin/bash
#define
VIP=192.168.0.200
ifconfig lo:0 $VIP broadcast 192.168.0.255 netmask 255.255.255.255
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