1.实验环境
操作系统: windows xp ip地址: 1.0.0.254
四台虚拟机(CentOS-5.4 2.6.18-164.el5)
IP地址
A: 1.0.0.27 //client
B: 1.0.0.26 //load-balancer vip: 1.0.0.30
C: 1.0.0.22 //real-server1
D: 1.0.0.23 //real-server2
2.ipvs用户态和内核态安装
内核态ip_vs.ko:
在负载均衡器上,默认内核已经安装了ip_vs模块,并且已经加载。
用户态管理工具ipvsadm:
可以到上进行下载最新的源码,进行编译安装操作。
3.配置
负载均衡器
#mkdir /root/ip_vs_test
#cd /root/ip_vs_test
#vim ip_vs.sh
#!/bin/sh
vip=1.0.0.30
rs1=1.0.0.22
rs2=1.0.0.23
/sbin/ifconfig eth0:0 $vip broadcast $vip netmask 255.255.255.255 up
/sbin/route add -host $vip dev eth0:0
/sbin/ipvsadm -C
/sbin/ipvsadm -A -t $vip:80 -s rr
/sbin/ipvsadm -a -t $vip:80 -r $rs1:80 -g
/sbin/ipvsadm -a -t $vip:80 -r $rs2:80 -g
service ipvsadm restart
#chmod +x ip_vs.sh
#./ip_vs.sh
真实服务器集群(1.0.0.22为例)
#mkdir /root/ip_vs_test
#cd /root/ip_vs_test
#vim ip_vs.sh
#!/bin/sh
vip=1.0.0.30
/sbin/ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
/sbin/route add -host $vip dev lo:0
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
sysctl -p
4.测试
在1.0.0.27客户机上
#curl 1.0.0.30/index.php
能够按照round-robin算法轮流去请求1.0.0.22和1.0.0.23上的index.php文件,说明测试成功。
阅读(748) | 评论(1) | 转发(0) |