文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>使用LVS实现高性能负载均衡实际操作说明

使用LVS实现高性能负载均衡实际操作说明

时间:2009-08-27  来源:kkmangnn

使用LVS实现高性能负载均衡实际操作说明

kkmangnn            网站: http://hi.baidu.com/way2rhce

 

前言:

       本文使用lvs实现负载均衡

 

一. 网站负载均衡拓朴图

    .

   IP信息列表:

主机名

IP

说明

dr1.example.com

192.168.0.6

 LVS-DR-Master

dr2.example.com

192.168.0.7

 LVS-DR-BACKUP

 

192.168.0.8

 LVS-DR-VIP

web1.example.com

192.168.0.9

 WEB1-Realserver

web2.example.com

192.168.0.10

 WEB2-Realserver

 

192.168.0.1

 GateWay

 

系统环境:CentOS 5.2 ,需要安装有gcc openssl-devel kernel-devel包 

 

二. 安装LVS软件包

   1. 下载相关软件包

     #mkdir /usr/local/src/lvs

     #cd /usr/local/src/lvs

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

   2. 安装LVS

     #lsmod |grep ip_vs

#uname -r

2.6.18-92.el5

#ln -s /usr/src/kernels/2.6.18-92.el5-i686/ /usr/src/linux

 

#tar zxvf ipvsadm-1.24.tar.gz

#cd ipvsadm-1.24

#make && make install

 

三. 配置LVS实现负载均衡

  1. LVS-DR,配置LVS脚本实现负载均衡

      #vi /usr/local/sbin/lvs-dr.sh

 #!/bin/bash

GW=192.168.0.1

########################  website direcotor vip.

SNS_VIP=192.168.0.8

SNS_RIP1=192.168.0.9

SNS_RIP2=192.168.0.10

 

case "$1" in

        start)

 

/sbin/ifconfig eth0:0 $SNS_VIP broadcast $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP up

/sbin/route add -host $SNS_VIP dev eth0:0

/sbin/ipvsadm -A -t $SNS_VIP:80 -s rr

/sbin/ipvsadm -a -t $SNS_VIP:80 -r $SNS_RIP1:80 -g -w 1

/sbin/ipvsadm -a -t $SNS_VIP:80 -r $SNS_RIP2:80 -g -w 1

touch /var/lock/subsys/ipvsadm >/dev/null 2>&1

        echo "ipvsadm starting ------------[OK]"

        ;;

        stop)

        /sbin/ipvsadm -C

        ifconfig eth0:0 down

        route del $SNS_VIP

        rm -rf /var/lock/subsys/ipvsadm >/dev/null 2>&1

        echo "ipvsadm stoped"

        ;;

        status)

        if [ ! -e /var/lock/subsys/ipvadm ];then

        echo "ipvsadm stoped -------------- "

        exit 1

                else

                echo "ipvsadm Running ------------[OK]"

        fi

        ;;

        *)

        echo "Usage: $0 {start|stop|status}"

        exit 1

        esac

        exit 0

 

     

四. 配置web服务器的脚本.

 

       #vi /usr/local/src/lvs/web.sh

 

#!/bin/bash

SNS_VIP=192.168.0.8

case "$1" in

        start)

        ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP

        /sbin/route add -host $SNS_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 >/dev/null 2>$1

        echo "RealServer Start OK"

 

        ;;

        stop)

        ifconfig lo:0 down

        route del $SNS_VIP >/dev/null 2>&1

        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 "RealServer Stoped"

        ;;

        *)

        echo "Usage: $0 {start|stop}"

                exit 1

        esac

        exit 0 

 

# chmod +x /usr/local/src/lvs/web.sh   ##修改成可执行

 

#vi /etc/rc.local                                  ##将该脚本写入开机文件

/usr/local/src/lvs/web.sh start

配置好一台web服务器之后,将配置文件拷贝到第二台服务器。

 

3. 启动lvs-dr脚本和web.sh脚本,在DR上可以查看LVS当前状态:

 

[root@dr1 /]# /usr/local/sbin/lvs-dr.sh start

ipvsadm starting ------------[OK]

 

4. 查看lvs服务是否正常

 [root@dr1 /]# ipvsadm

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn

TCP  192.168.0.8:http rr

  -> 192.168.0.10:http            Route   1      0          0

  -> 192.168.0.9:http             Route   1      0          0

 

#tail –f /var/log/message  监听日志,查看状态。

 

文件: 使用LVS实现高性能负载均衡实际操作说明.rar
大小: 52KB
下载: 下载
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载