1)在centos5.4环境下安装lvs

lvs对liunx内核版本有要求,需要升级到系统支持的最新内核。

方法一自动安装:

yum -y install kernel-devel ipvsadm

方法二手动安装:

下载安装最新内核kernel-devel:

wget http://mirrors.e21.cn/CentOS/5.4/updates/x86_64/RPMS/kernel-devel-2.6.18-164.15.1.el5.x86_64.rpm

rpm -ivh kernel-devel-2.6.18-164.15.1.el5.x86_64.rpm

创建软链接linux,用于ipvsadm的编译需要

ln -s /usr/src/kernels/2.6.18-164.15.1.el5-x86_64/ /usr/src/linux

下载安装适用于2.6.x内核的ipvsadm

wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz

tar zxvf ipvsadm-1.24.tar.gz

cd ipvsadm-1.24

make && make install

验证安装是否成功:

ipvsadm

lsmod | grep ip_vs

2)配置lvs服务器

在eth0上绑定虚拟IP,并且添加路由,让虚拟IP可以在eth0上通过:

cat > /usr/local/lvs_vip.sh << "EOF"
#!/bin/bash
VIP=192.168.10.230
/sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev eth0:0
EOF

添加lvs的real server,调度模式是rr,使用DR模式,注意DR模式不支持端口重定向,必须保持端口一致

ipvsadm -A -t 192.168.10.230:80 -s rr
ipvsadm -a -t 192.168.10.230:80 -r 192.168.10.225:80 -g
ipvsadm -a -t 192.168.10.230:80 -r 192.168.10.226:80 -g
ipvsadm -a -t 192.168.10.230:80 -r 192.168.10.227:80 -g

保存至配置文件

ipvsadm-save > /etc/sysconfig/ipvsadm

通过命令重启

/etc/init.d/ipvsadm restart


3)配置real server服务器


由于DR模式real server需要配置loopback地址,与lvs上的VIP一样,所以需要关闭real server的ARP响应请求,所有真实服务器都必须执行:

配置loopback地址为vip,关闭arp响应:

cat > /usr/loc

al/bin/lvs_real.sh << "EOF"
#!/bin/bash
VIP=192.168.10.230
/etc/rc.d/init.d/functions
case "$1" in
 start)
 echo "start LVS of REAL Server"
 /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
 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
 ;;
 stop)
 echo "close LVS Director server"
 /sbin/ifconfig lo:0 down
 echo "0" > /proc/sys/net/ipv4/conf/lo/arp_ignore
 echo "0" > /proc/sys/net/ipv4/conf/lo/arp_announce
 echo "0" > /proc/sys/net/ipv4/conf/all/arp_ignore
 echo "0" > /proc/sys/net/ipv4/conf/all/arp_announce
 ;;
 *)
 echo "Usage: $0 {start|stop}"
 exit 1
esac
EOF

 

完成以上步骤,最简单的lvs就可以运行起来了.