LVS+Keepalived负载均衡架构搭建

系统环境:Centos6.3  服务器:openfire3.8.0

 

 

架构示意图如下:


 

步骤:

 

1  在43和45机器上操作

 

安装lvs和keepalived

 

# yum install ipvs*

# ipvsadm



 

#tar zxvf keepalived-1.2.7.tar.gz

#cd keepalived-1.1.15

#./configure  && make && make install

#find / -name keepalived  # 查看keepalived位置                

 

#cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/

#cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/

#mkdir /etc/keepalived

#cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/

#cp /usr/local/sbin/keepalived /usr/sbin/

#service keepalived start|stop     #做成系统启动服务方便管理.

 

 配置keepalived

vi /etc/keepalived/keepalived.conf

 

bal_defs {

   notification_email {

   email_from [email protected]

   smtp_server 127.0.0.1

   router_id LVS_DEVEL

}

vrrp_instance VI_1 {

    state MASTER     # 备份服务器上将MASTER改为BACKUP

    interface eth1

    lvs_sync_daemon_inteface eth1

    virtual_router_id 51

    priority 100    # 备份服务上将100改为90

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {

        10.27.0.40

    }

}

virtual_server 10.27.0.40 5222 {

    delay_loop 6

    lb_algo wrr

    lb_kind DR

    persistence_timeout 60

    protocol TCP

    real_server 10.27.0.34 5222 {

        weight 3

        TCP_CHECK {

        connect_timeout 10

        nb_get_retry 3

        delay_before_retry 3

        connect_port 5222

        }

    }

    real_server 10.27.0.36 5222 {

        weight 3

        TCP_CHECK {

        connect_timeout 10

        nb_get_retry 3

        delay_before_retry 3

        connect_port 5222

        }

     }

}

 

# service keepalived start  # 启动lvs

# ip add   # 查看lvs状况

 

 

 2  34和36机器上的配置

 

# cd /opt

# vi lvs_real.sh

 

cription: Config realserver

#Written by : http://kerry.blog.51cto.com

SNS_VIP=10.27.0.40

 

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

 

case "$1" in

start)

       /sbin/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)

       /sbin/ifconfig lo:0 down

       /sbin/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 a+x lvs_real.sh 

# ./lvs_real.sh start

 

 

猜你喜欢

转载自linyu19872008.iteye.com/blog/1811066