lvs +keepalived的dr模式

LVS+Keepalived的安裝部署

 

前端調度masterIP->10.252.3.10

前端調度backupIP->10.252.3.11 

VIP10.252.3.12

RealServer:10.252.3.15

RealServer:10.252.3.16

1:主備一起安裝keepalivedipvsadm

yum installkeepalived  ipvsadm  –y

注:使用ipvsadm –Ln可以來查看LVS的調度情況

 

 

====================================================================================

2:配置/etc/keepalived/keepalived.conf

主機10.252.3.10配置如下:

vrrp_instanceVI_1 {

    state MASTER   #主備的區別點,標識

    interface eth1           #對應的網卡

    virtual_router_id 60  

    priority 101     #優先級,誰做主(值越大,優先級越高)

    advert_int 2

    authentication {    #驗證方式,以及密碼必須主備一樣

        auth_type PASS

        auth_pass 1234    #相對應的密碼

    }

    virtual_ipaddress {   #切換方式。切換虛擬IP

        10.252.3.12/4

    }

}

Virtual_server10.252.3.12 80 {   #對應的端口可以在這裏修改

      delay loop 6   #健康檢查時間

      lb_algo rr     #均衡調度算法一共有十二種。這裏採用輪詢的方法

      lb_kind DR    #負載均衡轉發規則有三種:NATDRTUN

      real_server 10.252.3.15 80 {

      weight 3

        TCP_CHECK {    #tcp的輪詢檢查設置

                connect_timeout  3

                nb_get_retry   3

                delay_before_retry 3

                connect_port  80

        }

}

            real_server 10.252.3.16 80 {

      weight 3

        TCP_CHECK {    #tcp的輪詢檢查設置

                connect_timeout  3

                nb_get_retry   3

                delay_before_retry 3

                connect_port  80

        }

}

}

 

備機配置: 10.252.3.11

Backupkeepalived配置主要是修改兩個地方,其他的都一樣:

    state BACKUP   #主備的區別點,標識

    priority 100     #優先級,誰做主(值越大,優先級越高)

====================================================================================

3:realserver上運行腳本

由於使用的方式爲DR,我們需要在實際虛擬機上部署DIP地址與VIP地址進行通信

編寫lvs_init.sh的腳本如下所示,後端兩臺虛擬機的lvs_init的腳本都一樣:

#!/bin/bash

#description: Config realserver lo and apply noarp

SNS_VIP= 10.252.3.12

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

case"$1" in

start)

       ifconfig lo:0 $SNS_VIP netmask255.255.255.255 broadcast $SNS_VIP up#設置lo:0IP地址

       /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/null2>&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 /data/script/lvs_init.sh

./lvs_init start/stop 運行和停止腳本

Service keepalived start

使用ipvsadm –Ln來查看lvs負載均衡,可以使用webbech來測試。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章