您的位置:首页 > 运维架构 > Linux

centos 6.4搭建 LVS+keepavlied(lvs和real_server同一台)

2015-01-29 16:21 543 查看
yum安装所需要的包
yum install openssl libnl-devel openssl-devel  libnl ipvsadm -y 

下载keepalvied的包
tar -xzvf keepalived-1.2.13.tar.gz

cd keepalived-1.2.13
./configure
make
make install

cp /usr/local/sbin/keepalived /usr/sbin/
cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
cp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/
mkdir -p /etc/keepalived/
cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/

vi /etc/keepalived

! Configuration File for keepalived

global_defs {

   router_id MySQL_LB1

}

vrrp_sync_group VSG {

    group {

        MySQL_Loadblancing

    }

}

vrrp_instance MySQL_Loadblancing {

    state MASTER

    interface eth0

    virtual_router_id 51

    priority 101

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {

        192.168.1.114

    }

   

}

virtual_server 192.168.1.114 8033 {

    delay_loop 6

    lb_algo rr

    lb_kind DR

    # nat_mask 255.255.255.0

    #persistence_timeout 50

    protocol TCP

    real_server 192.168.1.113 8033 {

        weight 3

        TCP_CHECK {

            connect_timeout 3

            nb_get_retry 3

            delay_before_retry 3

            connect_port 8033

        }

    }

    real_server 192.168.1.112 8033 {

        weight 3

        TCP_CHECK {

            connect_timeout 3

            nb_get_retry 3

            delay_before_retry 3

            connect_port 8033

        }

    }

}


vi lvsdr.sh

#!/bin/bash

VIP=192.168.1.114                   

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

case "$1" in

start)

    /sbin/ifconfig lo down 

    /sbin/ifconfig lo up       

    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/sysctl -p >/dev/null 2>&1

    /sbin/ifconfig lo:0 $VIP netmask 255.255.255.255 up

    /sbin/route add -host $VIP dev lo:0 

    echo "LVS-DR real server starts successfully.\n"                   

    ;;   

stop)   

    /sbin/ifconfig lo:0 down   

    /sbin/route del $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 "LVS-DR real server stopped."

    ;;

status)

    isLoOn=`/sbin/ifconfig lo:0 | grep "$VIP"`

    isRoOn=`/bin/netstat -rn | grep "$VIP"`

    if [ "$isLoOn" == "" -a "$isRoOn" == "" ]; then

       echo "LVS-DR real server has to run yet."

    else

       echo "LVS-DR real server is running."

    fi

    exit 3

    ;;

*)   

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

    exit 1   

esac                    

exit 0


/etc/init.d/lvsdr.sh start
 /etc/init.d/keepalived start

在备机上同样安装
 yum install openssl libnl-devel openssl-devel  libnl ipvsadm -y 

tar -xzvf keepalived-1.2.13.tar.gz

cd keepalived-1.2.13
./configure
make
make install

cp /usr/local/sbin/keepalived /usr/sbin/
cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
cp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/
mkdir -p /etc/keepalived/
cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/

vi /etc/keepalived

! Configuratio
4000
n File for keepalived

global_defs {

   router_id MySQL_LB1

}

vrrp_sync_group VSG {

    group {

        MySQL_Loadblancing

    }

}

vrrp_instance MySQL_Loadblancing {

    state BACKUP

    interface eth0

    virtual_router_id 51

    priority 50

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {

        192.168.1.114

    }

    notify_backup /etc/keepalived/lvs_backup.sh

    notify_master /etc/keepalived/lvs_master.sh

   

}

virtual_server 192.168.1.114 8033 {

    delay_loop 6

    lb_algo rr

    lb_kind DR

    # nat_mask 255.255.255.0

    #persistence_timeout 50

    protocol TCP

    real_server 192.168.1.113 8033 {

        weight 3

        TCP_CHECK {

            connect_timeout 3

            nb_get_retry 3

            delay_before_retry 3

            connect_port 8033

        }

    }

    real_server 192.168.1.112 8033 {

        weight 3

        TCP_CHECK {

            connect_timeout 3

            nb_get_retry 3

            delay_before_retry 3

            connect_port 8033

        }

    }

}


vi /etc/keepalived/lvs_backup.sh 

/sbin/ipvsadm -C

vi /etc/keepalived/lvs_master.sh

/sbin/ipvsadm -A -t 192.168.1.114:mindprint -s rr

/sbin/ipvsadm -a -t 192.168.1.114:mindprint -r 192.168.1.112:mindprint -g -w 3

/sbin/ipvsadm -a -t 192.168.1.114:mindprint -r 192.168.1.113:mindprint -g -w 3


vi /etc/init.d/lvsdr

#!/bin/bash

VIP=192.168.1.114                   

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

case "$1" in

start)

    /sbin/ifconfig lo down 

    /sbin/ifconfig lo up       

    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/sysctl -p >/dev/null 2>&1

    /sbin/ifconfig lo:0 $VIP netmask 255.255.255.255 up

    /sbin/route add -host $VIP dev lo:0 

    echo "LVS-DR real server starts successfully.\n"                   

    ;;   

stop)   

    /sbin/ifconfig lo:0 down   

    /sbin/route del $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 "LVS-DR real server stopped."

    ;;

status)

    isLoOn=`/sbin/ifconfig lo:0 | grep "$VIP"`

    isRoOn=`/bin/netstat -rn | grep "$VIP"`

    if [ "$isLoOn" == "" -a "$isRoOn" == "" ]; then

       echo "LVS-DR real server has to run yet."

    else

       echo "LVS-DR real server is running."

    fi

    exit 3

    ;;

*)   

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

    exit 1   

esac                    

exit 0


chmod 755 /etc/keepalived/lvs_master.sh
chmod 755 /etc/keepalived/lvs_backup.sh 
chmod 755 /etc/init.d/lvsdr

/etc/init.d/lvsdr start
 /etc/init.d/keepalived start
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  lvs centos