LVS+Tomcat负载均衡集群搭建(dr模型)

shadema 2012-04-17

开发团队要测试云存储,要求搭建一个tomcat的负载均衡集群,首先考虑使用lvs实现负载,技术实现成本低,做云存储就是为了节约存储硬件设备的成本。因为考虑是测试环境暂时没有对lvs的director做高可用配置,我会考虑在空闲时间做一个

测试环境:rhel4.8   64位系统

集群设备:3台测试机,2台做tomcat单点web应用,1做director(web请求分发器)(3台测试机都在同一交换机、同一网段)

director :inet addr:192.168.2.107  Bcast:192.168.7.255  Mask:255.255.248.0

realserver:inet addr:192.168.3.57  Bcast:192.168.7.255  Mask:255.255.248.0

                  inet addr:192.168.2.51  Bcast:192.168.7.255  Mask:255.255.248.0

VIP:192.168.2.111

1、环境搭建前的准备,因为系统是4.8的,首先我查看了一下内核是否支持lvs,2.4.23以后版本的内核源代码支持lvs(uname -a查看系统信息),下载ipvsadm地址http://www.linuxvirtualserver.org/software/ipvs.html; 我用的是ipvsadm-1.24.tar.gz

    安装ipvsadm

   #mv  ipvsadm-1.24.tar.gz  /usr/local

  #cd  /usr/local

   #tar zxvf ipvsadm-1.24.tar.gz

  #cd ipvsadm-1.24(可以阅读一下README文件)

  #make &&make install(make时可能会报错,需要做一个软连接,

ln -s /usr/src/kernels/2.6.9-89.EL-smp-x86_64 /usr/src/linux)

2、配置2台realserver的4个内核参数,vip等

     ssh连上一台realserver服务器,执行下列命令(另一台服务器也要做相同设置)

     #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
     #ifconfig lo:0 192.168.2.111 broadcast 192.168.2.111 netmask 255.255.255.255 up
     #route add -host 192.168.2.111 dev lo:0                       

//注释:

arp_announce   
 限制级别0  1  2值。默认是0
 0),所有地址全部告诉
 1),尽可能不告诉不在同一网络的地址
 2),只告诉最佳网络地址
arp_ignore
 0),
 1),在哪个网卡收到回复哪个,其他地址不予响应
 2),接收到的要与发送方在同一网络才相应,否则不通信

3、配置director
 #ifconfig eth0:1 192.168.2.111 broadcast 192.168.2.111 netmask 255.255.255.255 up  //设置vip
 #route add -host 182.168.2.111 dev eth0:1    //添加路由
 #echo 1 > /proc/sys/net/ipv4/ip_forward     //开启路由功能
 #ipvsadm -A -t 192.168.2.111:8080 -s wlc         //设置新的转发服务
 #ipvsadm -a -t 192.168.2.111:8080 -r 192.168.2.51 -g -w 20       //转发规则
 #ipvsadm -a -t 192.168.2.111:8080 -r 192.168.3.57 -g -w 10       //

//注释:-A添加新的转发服务 ;-s指定dr模型的算法; -rweb应用的真实ip地址;-g指定使用lvs的dr模型 ; -w是web服务器的权重(因为开发没有对持久连接和https服务等作出要求,所以这里就简单地配置一下)

相关推荐