分类: LINUX
2009-10-20 18:08:46
lvs群集的组建(lvs-DR)
(RIP1是Realserver A, RIP2是Realserver B .这里Director只有一块网卡。Director 的虚拟IP是绑定在Director的真实网卡上的)
--------------------------------------------------------------------------------------------------------
一、Director 配置
1、下载ipvsadm管理程序
(对应自己的内核版本哦^_^)
ipvsadm-x-x.tar.gz
tar zxvf ipvsadm-x-x.tar.gz
cd ipvsadm-x-x
make && make install
(我的系统是centos5.3 默认系统安装好了ipvsadm)
2、配置Director 服务器的VIP脚本 lvs-dr
脚本如下:
--------------------------------------------------------------------------------------------------------
#!/bin/bash
VIP=10.1.1.221
RIP1=10.1.1.52
RIP2=10.1.1.53
GW=10.1.1.1
./etc/rc.d/init.d/functions
case "$1" in
start)
echo " start lvs of Directorserver"
/sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev eth0:0
# clear ipvs table
/sbin/ipvsadm -C
#set lvs
/sbin/ipvsadm -A -t $VIP:80 -s rr
/sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g
/sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g
/sbin/ipvsadm
;;
stop)
echo "close lvs directorserver"
/sbin/ipvsadm -C
;;
*)
echo "usage: $0 {start|stop}"
exit 1
esac
--------------------------------------------------------------------------------------------------------
在终端下运行lvs-dr (要给lvs-dr执行权限哦^_^),这样Director服务器就配置完成了。
--------------------------------------------------------------------------------------------------------
二、Realserver配置
realserver 脚本配置( realserver脚本如下)
(realserver A 、 realserver B 二服务器都要运行这个脚本)
--------------------------------------------------------------------------------------------------------
#!/bin/bash
VIP=10.1.1.221
./etc/rc.d/init.d/functions
case "$1" in
start)
echo " start lvs of realserver "
/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
;;
stop)
/sbin/ifconfig lo:0 down
echo "close lvsdriectorserver"
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
--------------------------------------------------------------------------------------------------------
此脚本使realserver A 、B 不响应arp请求,将此脚本分别在realserver A 、B上执行就可以了
这个网络是提供WEB服务的,所以在RealserverA 、RealserverB上安装apache
可以安装httpd 软件包,也可安装源代码。在这个实验中我安装的是httpd 软件包。
安装httpd包后。在A 服务器中写入测试页
终端下:echo "Hello world ,This is Realserver A">/var/www/html/test.html
在B服务器中同样写入测试页
终端下:echo "Hello world ,This is Realserver B > /var/www/html/test.html
在A B 二台服务器上开启web服务 service httpd start,并在A、B上分别执行realserver脚本。
三、客户端测试
在客户端打开浏览器输入10.1.1.221/test.html。则可以看
分别看Hello world ,This is Realserver A和Hello world ,This is Realserver B
这样就OK了^_^^_^^_^^_^^_^
chinaunix网友2009-10-27 17:18:02
http://zh-kernel.org/pipermail/linux-kernel/2007-September/000799.html(内核)
chinaunix网友2009-10-25 09:14:57
难道没人试过将real server的IP 与VIP设于不同一个网段测试吗? 既然都是在同一IP段,不如用DNS搞定.. 我用不同网段没搞定...所以想看到一个能用不同网段搞定LVS的例子..
chinaunix网友2009-10-24 15:47:36
http://www.realtek.com.tw/downloads/downloadsview.aspx?langid=3&pnid=5&pfid=5&level=5&conn=4&downtypeid=3&getdown=false#2
chinaunix网友2009-10-24 15:38:39
http://forum.ubuntu.org.cn/viewtopic.php?f=116&t=119236&st=0&sk=t&sd=a