红旗服务器操作系统Asianux 上配置基于DR 的LVS 集群

2012-08-20  陈磊 

发布时间:2010-06-08 22:40 来源: 作者:核高基测试部 陈磊

1. 配置准备


    a) 环境描述

    本文在配置LVS 时使用三台安装了Asianux(linux 2.6.18‐128)的PC,一台做DirectorServer(172.16.23.58),两台做RealServer(172.16.23.57、172.16.23.61),供外部访问的虚拟IP(VIP): 172.16.23.78,另外访问此服务器使用了一台windows xp 系统。

    系统中已经安装好了需要的软件ipvsadm,2.6.10 以后的linux 内核已经集成IPVS 内核补订了,所以不再需要重新编译内核。如果没有按照ipvsadm,可以按如下步骤安装:下载ipvsadm 管理程序,下载地址http://www.linuxvirtualserver.org/software/,注意对应自己的内核版本。

 

ipvsadm‐1.24.tar.gz

tar zxvf ipvsadm‐1.24.tar.gz

cd ipvsadm‐1.24

make

make install注意在make 时可能会出现很多错误的信息,请按照如下操作就可以心编译正常

ln ‐s /usr/src/kernels/2.6.9‐22.EL‐i686/ /usr/src/linux

cd ipvsadm‐1.24

make

make install

    b) 配置DirectorServer

    建立脚本director_lvs.sh,内容如下:


#!/bin/sh

VIP=172.16.23.78

RIP1=172.16.23.57

RIP2=172.16.23.61

GW=1172.16.61.254

. /etc/rc.d/init.d/functions

case "$1" in

start)

echo "start LVS of DirectorServer"

# set the Virtual IP address

/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 $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

    备注:‐s rr 是使用了轮叫算法,可以自行选择相应的算法,更改rr 就可以了,ipvsadm ‐h 查看帮助。‐g 是使用lvs 工作DR 直接路由模式,也可自行修改),如果有多个realserver 直接添加就可以了,之后启动此脚本就可以了。


2. 配置RealServer 脚本

#!/bin/sh

VIP=172.16.23.78

/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

    此脚本使realserver 不响应arp 请求,将此脚本分别在realserver 上执行就可以了。

3. 测试

    a) 分别启动realserver 上的httpd 服务(/etc/init.d/httpd start)

    b) 2、在realserver1 执行 echo "This is realserver1" > /var/www/html/index.html

    c) 3、在realserver2 执行 echo "This is realserver2" > /var/www/html/index.html

    d) 4、在另外的windows xp 系统机器上,打开IE 浏览器输入http:// 172.16.23.78,应该可以分别看到:This is realserver1,然后刷新变为This is realserver2,反复刷新,页面交替出现This isrealserver2 与This is realserver2,说明两台服务器都正常。

359°/3590 人阅读/0 条评论 发表评论

登录 后发表评论