快捷搜索:   服务器  安全  linux 安全  MYSQL  dedecms

利用LVS+Keepalived 实现高性能高可用负载均衡服务器(2)


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

 
      #vi /usr/local/sbin/lvs-dr.sh
      #!/bin/bash
        # description: start LVS of DirectorServer
        #Written by :NetSeek 
        
        GW=61.164.122.1
        # website director vip.
        SNS_VIP=61.164.122.8
        SNS_RIP1=61.164.122.9
        SNS_RIP2=61.164.122.10

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

        logger $0 called with $1

        case "$1" in

        start)
           # set squid vip
           /sbin/ipvsadm --set 30 5 60
                   /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 wrr -p 3
           /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

       ;;
        stop)
           /sbin/ipvsadm -C
           /sbin/ipvsadm -Z
           ifconfig eth0:0 down
           ifconfig eth0:1 down
           route del $SNS_VIP
           route del $SS_VIP
           rm -rf /var/lock/subsys/ipvsadm >/dev/null 2>&1
           echo "ipvsadm stoped"
           ;;

        status)

           if [ ! -e /var/lock/subsys/ipvsadm ];then
                echo "ipvsadm stoped"
                exit 1
           else
                echo "ipvsadm OK"
           fi
           ;;

        *)
          echo "Usage: $0 {start|stop|status}"
           exit 1
        esac

        exit 0
      

2. 配置Realserver脚本.

 
        #vi /usr/local/sbin/realserver.sh
        #!/bin/bash
        # description: Config realserver lo and apply noarp
        #Written by :NetSeek 
        
        SNS_VIP=61.164.122.8
         
        . /etc/rc.d/init.d/functions
         
        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
     

顶(3)
踩(1)

您可能还会对下面的文章感兴趣:

最新评论