天天看点

lvs主主互备

项目名称:lvs双主负载均衡

项目描述:lvs双主负载web为CDN客户提供访问

项目技术:lvs双主负载Nginx

lvs+keepalived

192.168.110.130

vip1:192.168.110.140

192.168.110.131

vip2:192.168.110.141

Nginx1

192.168.110.132

Nginx2

192.168.110.133

lvs上安装keepalived和ipvsadm

#!/bin/bash

#判断执行结果

judge() {

   if [ $? -eq 0 ];then

      echo "successfully...."

   else

      echo "filed...."

      exit

   fi

}

#http://www.linuxvirtualserver.org/software/kernel-2.6

#http://www.keepalived.org/software

echo "环境安装"

yum -y install gcc openssl openssl-devel popt popt-devel net-snmp  net-snmp-devel libnl* &>> /dev/null

judge

echo "安装ipvsadm"

cd /usr/local/src

yum -y install ipvsadm &>> /dev/null

echo "下载并安装keepalived"

wget http://www.keepalived.org/software/keepalived-1.2.7.tar.gz &>> /dev/null

tar -zxf keepalived-1.2.7.tar.gz

cd keepalived-1.2.7

echo "执行configure"

./configure --prefix=/usr/local/keepalived --enable-snmp --sysconfdir=/etc &>> configure-`date +%F`.log

echo "执行make"

make &>> make-`date +%F`.log

echo "执行make install"

make install &>> make_install-`date +%F`.log

rm -rf configure-`date +%F`.log make-`date +%F`.log make_install-`date +%F`.log

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

cp /usr/local/keepalived/bin/genhash /bin/

webserver上配置VIP

#description:start realserver

#script_name:realserver_config

VIP1="192.168.110.140"     #虚拟IP

VIP2="192.168.110.141"     #虚拟IP

source /etc/init.d/functions

case "$1" in

start)

echo "start LVS of 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

/sbin/ifconfig lo:0 $VIP1 broadcast $VIP1 netmask 255.255.255.255 up

/sbin/ifconfig lo:1 $VIP2 broadcast $VIP2 netmask 255.255.255.255 up

;;

stop)

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

/sbin/ifconfig lo:0 down

/sbin/ifconfig lo:1 down

*)

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

exit 1

esac

lvs1配置keepalived

global_defs {

   notification_email {

     [email protected]

   }

   notification_email_from [email protected]

   smtp_server [email protected]

   smtp_connect_timeout 30

   router_id LVS_DEVEL

vrrp_instance VI_1 {

    state MASTER

    interface eth0

    virtual_router_id 51

    priority 100

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {

        192.168.110.140

virtual_server 192.168.110.140 80 {

    delay_loop 6

    lb_algo wrr

    lb_kind DR

#   nat_mask 255.255.255.0

#   persistence_timeout 50

    protocol TCP

    real_server 192.168.110.132 80 {#real server上80端口

        weight 5

        TCP_CHECK {

            connect_timeout 3

            nb_get_retry 3

            delay_before_retry 3

            connect_port 80

        }

    real_server 192.168.110.133 80 {

        weight 3

vrrp_instance VI_2 {

    state BACKUP

    virtual_router_id 52

    priority 90

        192.168.110.141

virtual_server 192.168.110.141 80 {

lvs2配置keepalived

继续阅读