LVS+keepalived

echo "1" > /proc/sys/net/ipv4/ip_forward   --允許轉發


ipvsadm  -A -t 192.168.1.20:80 -s wlc    --爲LVS添加算法,WLC爲最小負載


ipvsadm -a -t 192.168.1.20:80 -r 192.168.1.9:80 -g   --添加客戶端


ipvsadm -a -t 192.168.1.20:80 -r 192.168.1.69:80 -g


[root@master ~]# ipvsadm -ln

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

 -> RemoteAddress:Port           Forward Weight ActiveConn InActConn

TCP  192.168.1.20:80 wlc

 -> 192.168.1.9:80               Route   1      0          0        

 -> 192.168.1.69:80              Route   1      0          0  

此時Activeconn和inActconn都爲0,因爲無客戶端的請求


【安裝LVS】

1、【主從都要執行】

yum -y install ipvsadm




ipvsadm -C 清除lvs上所有的規則


2、【keepalived】  主從都要配置

[root@CentOS-LVS_MASTER ~]# wget http://www.keepalived.org/software/keepalived-1.2.4.tar.gz


[root@CentOS-LVS_MASTER ~]# tar zxvf keepalived-1.2.4.tar.gz


[root@CentOS-LVS_MASTER ~]# cd keepalived-1.2.4


[root@CentOS-LVS_MASTER keepalived-1.2.4]# ./configure && make && make install


######### 將keepalived做成啓動服務,方便管理##########


[root@CentOS-LVS_MASTER ~]# cp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/


[root@CentOS-LVS_MASTER ~]# cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/


[root@CentOS-LVS_MASTER ~]# mkdir /etc/keepalived/


[root@CentOS-LVS_MASTER ~]# cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/


[root@CentOS-LVS_MASTER ~]# cp /usr/local/sbin/keepalived /usr/sbin/


[root@CentOS-LVS_MASTER ~]# service keepalived start | stop


2、開啓路由轉發


[root@CentOS-LVS_MASTER ~]# vim /etc/sysctl.conf

net.ipv4.ip_forward = 1

[root@CentOS-LVS_MASTER ~]# sysctl -p


3、配置keepalived

 ! Configuration File for keepalived

global_defs {

  notification_email {

        [email protected]

  }

  notification_email_from [email protected]

  smtp_server 127.0.0.1

  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.1.20

   }

}

virtual_server 192.168.1.20 80 {

   delay_loop 6

   lb_algo wlc

   lb_kind DR

#    persistence_timeout 60

   protocol TCP

   real_server 192.168.1.69 80 {

       weight 3

       TCP_CHECK {

       connect_timeout 10

       nb_get_retry 3

       delay_before_retry 3

       connect_port 80

        }

   }

   real_server 192.168.1.9 80 {

       weight 3

       TCP_CHECK {

       connect_timeout 10

       nb_get_retry 3

       delay_before_retry 3

       connect_port 80

       }

    }

}


##從的話,只要修改2個地方就行了

一個是state 改爲BACKUP

一個是priority 改爲比100小就行了

然後再開啓keepalived服務


在查看ipvsadm -ln就會出現配置文件中的服務器列表了



查看主從上是否有vip這個ip

154932112.jpg



3、【配置後端服務器】---讓後端web能與vip通信

vim 1.sh

#!/bin/bash

#description : start realserver

VIP=192.168.1.20

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

case "$1" in

start)

echo " start LVS of REALServer"

/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 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

;;

stop)

/sbin/ifconfig lo:0 down

echo "close LVS Directorserver"

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


然後執行該腳本  sh 1.sh start


最後查看web上的ip信息,看看是否有vip

153314351.jpg


spacer.gif

【檢測】

1、查看主上面的日誌信息

155150836.jpg


然後停了主上面的keepalived服務,查看從上面的日誌信息:

155343851.jpg


然後停了後端其中一臺WEB,看看lvs會不會把他給剔除掉

Removing service [10.8.0.61]:3306 from VS [10.8.0.85]:3306
61就不會出現在隊列中




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