1. 程式人生 > >keepalived+LVS-DR

keepalived+LVS-DR

分發器 scrip 文件 broadcast cast arp router lse ive

拓撲 VIP=192.168.2.133 主keepalived IP=192.168.2.129 備keepalived=192.168.2.130
RS1=192.168.2.131 RS2=192.168.2.132
一、安裝lvs和keepalived工具

[root@Qj01 ~]# yum install –y keepalived  ipvsadm
[root@Qj11 ~]# yum install –y keepalived  ipvsadm
[root@Qj11 ~]# vim /etc/keepalived/keepalived.conf  
! Configuration File for keepalived

global_defs {
   notification_email {
     root@localhost
   }
   notification_email_from root@localhost
   smtp_server localhost
   smtp_connect_timeout 30
   router_id node1
}

vrrp_instance apache {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.2.133
    }
}

virtual_server 192.168.2.133 80 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    nat_mask 255.255.255.0
    protocol TCP

    real_server 192.168.2.131 80 {
        weight 1
         TCP_CHECK {
                connect_timeout 3
                nb_get_retry 3
                delay_before_retry 3
                connect_port 80
              }
           }

     real_server 192.168.2.132 80 {
        weight 1
         TCP_CHECK {
                connect_timeout 3
                nb_get_retry 3
                delay_before_retry 3
                connect_port 80
              }
             }
}

二、編輯主keepalived配置文件

三、將配置文件傳至備份keepalived上並修改參數
[root@Qj11 keepalived]# scp keepalived.conf 192.168.2.130:/etc/keepalived/
註:修改下列參數

 router_id node2  #運行 keepalived 的機器標示符
}
vrrp_instance apache {
    state BACKUP            #當前 LVS 狀態為備用分發器
    interface ens32
    virtual_router_id 51
    priority 90             #LVS 優先級,備的要比主的小 
……

RS自動化配置腳本:
[root@Qj ~]# vim /etc/init.d/lvsrsdr #寫一個配置RS的腳本
#!/bin/bash
#description:start relserver
VIP=192.168.2.133
source /etc/init.d/functions #加載環境變量(可以加載所有的環境變量)
case $1 in
start)
echo ‘start LVS of Realserver DR‘
/sbin/ifconfig lo:1 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev lo:1

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
;;
stop)
/sbin/ifconfig lo:1 down
echo ‘Close LVS of Realserver DR‘
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 "Usage:$0 (start|stop)"
exit 1
esac

[root@Qj ~]# chmod +x /etc/init.d/lvsrsdr
[root@Qj ~]# /etc/init.d/lvsrsdr start
[root@Qj ~]# echo "/etc/init.d/lvsrsdr start" >> /etc/rc.local
[root@Qj ~]# ifconfig -a

keepalived+LVS-DR