天天看點

keepalived+lvs-DR

                          Keepalived+lvs-DR

Client               eth0:192.168.0.100/24

Director master       eth0 192.168.0.110/24

Director backup       eth0: 192.168.0.111/24

VIP eth0:1 192.168.0.130/32

Real Server A          eth0 192.168.0.115/24

Real Server B          eth0:192.168.0.109/24

在Directormaster上安裝配置Keepalived

# tar xf keepalived-1.2.1.tar.gz

# cd keepalived-1.2.1

# ./configure --prefix=/--mandir=/usr/local/share/man/

# make

# make install

# cd /etc/keepalived/

# vim keepalived.conf

! Configuration File for keepalived

global_defs {                                    

      notification_email{

             root@localhost

             }

      notification_email_fromkeepalived@localhost

      smtp_server127.0.0.1

      smtp_connect_timeout30

      router_idDirector1

      }

vrrp_instance VI_1 {                          

      stateMASTER                                  

      interfaceeth0                      

      virtual_router_id51                    

      priority150                                

      advert_int1                                

      authentication{

             auth_typePASS

             auth_pass1111

      virtual_ipaddress{

             192.168.0.130/32dev eth0:0

virtual_server 192.168.0.130 80 {               #LVS 配置

      delay_loop3

      lb_algorr                                                 #LVS排程算法

      lb_kindDR                                               #LVS叢集模式

      nat_mask255.255.255.255

      protocolTCP                                            

      real_server192.168.0.109 80 {

             weight1

             TCP_CHECK{

                    connect_timeout3

                    }

      real_server192.168.0.115 80 {

}

# scp keepalived.conf 192.168.0.111:/etc/keepalived/

拷貝後,修改配置檔案

      stateBACKUP

      priority100

兩個Director上啟動服務:

# service keepalived start

關閉防火牆和selinux

#service  iptables stop

#service  ip6tables stop

#setenforce   0

修改核心有關ARP解析和路由轉發的

# 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

# echo 1 > /proc/sys/net/ipv4/ip_forward

vip

# ifconfigeth0:0 192.168.0.130 netmask 255.255.255.255 broadcast 192.168.0.130 up

# route add-host 192.168.0.130 dev eth0:0

使用ipvsadm指令設定RS

# ipvsadm -C

# ipvsadm -A -t192.168.0.130:80 -s rr

# ipvsadm -a -t192.168.0.130:80 -r 192.168.0.109:80 -g

# ipvsadm -a -t192.168.0.130:80 -r 192.168.0.115:80 -g

# serviceipvsadm save        #儲存相關設定

ipvsadm: SavingIPVS table to /etc/sysconfig/ipvsadm:     [确定]

# serviceipvsadm restart   #重新開機服務,自動加載以上儲存的設定

Director backup  配置和Director master的一樣隻有一個地方不一樣

# vim /etc/keepalived/keepalived.conf

Real Server A     和    Real Server B  

#serviceiptables stop

#serviceip6tables stop

#setenforce 0

關閉核心的ARP解析功能

配置虛拟IP

# ifconfig lo:0192.168.0.130 netmask 255.255.255.255 broadcast 192.168.0.130 up   #VIP

# route add-host 192.168.0.130 dev lo:0   #加一條主機路由表項

配置index.html

2個server配置的一樣

如何測試

1.先用client 通路虛拟IP   看看不停地重新整理能否看到  2個server的頁面說明可以排程

2.把master 關機看看keepalived  管不管用看下日志你會發現有新日志産生這時候再用client再去通路虛拟IP  應該還是可以看到2個server的頁面

3.再把其中的一個server 關機然後繼續用client 去通路虛拟IP  你會發現頁面不在變化隻看到剩下的一個server的頁面了

      本文轉自潘闊 51CTO部落格,原文連結:http://blog.51cto.com/pankuo/1389476,如需轉載請自行聯系原作者

繼續閱讀