RHEL6 搭建 keepalived + lvs/DR 集羣

搭建 keepalived + lvs/DR  集羣html


使用Keepalived爲LVS調度器提供高可用功能,防止調度器單點故障,爲用戶提供Web服務:web

  • LVS1調度器真實IP地址爲192.168.4.50算法

  • LVS2調度器真實IP地址爲192.168.4.55vim

  • 服務器VIP地址設置爲192.168.4.252bash

  • 真實Web服務器地址分別爲192.168.4.5一、192.168.4.52服務器


實驗拓撲圖網絡

3.jpg



實驗步驟:負載均衡


實驗準備:ide

    配置yum源oop

    # service iptables stop            //關閉防火牆

    # chkconfig iptables off            //關閉開機自啓

    # setenforce 0                            //設置SELinux 爲寬鬆模 

    配置WEB服務器  pc51 / pc52

    #yum -y install httpd  

    #service httpd start 

    #chkconfig httpd on

    [root@pc51 ~] #echo " 192.168.4.51  " > /var/www/html/test.html

    [root@pc52 ~] #echo " 192.168.4.52 " > /var/www/html/test.html

     本次實驗有些步驟就不詳細介紹了,具體有關 keepalived 和 ipvsadm 的相關配置 能夠參考

      keepalived 配置高可用集羣 : http://www.javashuo.com/article/p-zxhaycft-dd.html

      ipvsadm 配置LVS/DR 負載均衡集羣:http://www.javashuo.com/article/p-pwkygowu-w.html


1 在web服務上 配置 VIP地址  pc51 / pc52

    # ifconfig lo:1 192.168.4.252/32    //只擁有ip 就能夠

    # ifconfig lo:1

    lo:1      Link encap:Local Loopback  

              inet addr:192.168.4.252  Mask:0.0.0.0

              UP LOOPBACK RUNNING  MTU:65536  Metric:1

    # cd /proc/sys/net/ipv4/conf/

    # echo 1 > lo/arp_ignore

    # echo 2 > lo/arp_announce 

    # echo 1 > all/arp_ignore 

    # echo 2 > all/arp_announce 





2 配置分發器 50(主)  55(備) 分別安裝keepalived軟件    裝包 ipvsadm

    

    # rpm -q ipvsadm keepalived

    ipvsadm-1.26-4.el6.x86_64

    keepalived-1.2.13-5.el6_6.x86_64


4 修改配置文件

    [root@pc50 ~]# vim /etc/keepalived/keepalived.conf 

 vrrp_instance VI_1 {
      state MASTER                 // 描述信息  MASTER爲主服務器
      interface eth0                 // 定義網絡接口
      virtual_router_id 51           //主 備VRID號必須一致 
      priority 150                   //服務器優先級
      advert_int 1
      authentication {
          auth_type PASS           //驗證方式
          auth_pass 1111           //驗證密碼     主  備服務器密碼必須一致 
      }
      virtual_ipaddress {
          192.168.4.252            //VIP地址
      }   
  }
   
  virtual_server 192.168.4.252 80 {        //配置 VIP爲192.168.0.252  80 端口
      delay_loop 6
      lb_algo rr                            //設置LVS調度算法爲RR
      lb_kind DR                            //設置LVS的模式爲DR
      nat_mask 255.255.255.0
      persistence_timeout 50
      protocol TCP
      connect_timeout 3
      nb_get_retry 3
      delay_before_retry 3
  
     real_server 192.168.4.51 80 {
          weight 1                        //設置權重爲1
     }   
     real_server 192.168.4.52 80 {
          weight 1                        //設置權重爲1
      }   
          
  }


使用第一個虛擬服務的模版

其他的都刪除


主機55

    [root@pc55 ~]# vim /etc/keepalived/keepalived.conf 

  vrrp_instance VI_1 {
      state BACKUP                // 描述信息 BACKUP爲備用服務器
      interface eth0
      virtual_router_id 51
      priority 100
      advert_int 1
      authentication {
          auth_type PASS
          auth_pass 1111
      }
      virtual_ipaddress {
          192.168.4.252
      }
  }
 
  virtual_server 192.168.4.252 80 {
      delay_loop 6
      lb_algo rr
      lb_kind DR
      nat_mask 255.255.255.0
      persistence_timeout 50
      protocol TCP
      connect_timeout 3
      nb_get_retry 3
      delay_before_retry 3
  
      real_server 192.168.4.51 80 {
          weight 1
      }
      real_server 192.168.4.52 80 {
          weight 1
      }
  }




5 啓動服務

    # service keepalived start

    [root@pc50 ~]# 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.4.252:80 rr persistent 50

      -> 192.168.4.51:80              Route   1      0          0         

      -> 192.168.4.52:80              Route   1      0          0     

    [root@pc50 ~]# ip addr show | grep 192.168.4

        inet 192.168.4.50/24 brd 192.168.4.255 scope global eth0

        inet 192.168.4.252/32 scope global eth0

    

    [root@pc55 ~]# ipvsadm -Ln --stats

    IP Virtual Server version 1.2.1 (size=4096)

    Prot LocalAddress:Port               Conns   InPkts  OutPkts  InBytes OutBytes

      -> RemoteAddress:Port

    TCP  192.168.4.252:80               0        0        0        0        0

      -> 192.168.4.51:80                     0        0        0        0        0

      -> 192.168.4.52:80                     0        0        0        0        0

    [root@pc55 ~]# ip addr show | grep 192.168.4

        inet 192.168.4.55/24 brd 192.168.4.255 scope global eth0




6 客戶端訪問


# elinks --dump 192.168.4.252

   192.168.4.52

[root@room1pc32 桌面]# elinks --dump 192.168.4.252

   192.168.4.51

[root@room1pc32 桌面]# elinks --dump 192.168.4.252

   192.168.4.52

[root@room1pc32 桌面]# elinks --dump 192.168.4.252

   192.168.4.51

[root@room1pc32 桌面]# elinks --dump 192.168.4.252

   192.168.4.52


# ipvsadm -Ln --stats

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port               Conns   InPkts  OutPkts  InBytes OutBytes

  -> RemoteAddress:Port

TCP  192.168.4.252:80               5       25        0     2075        0

  -> 192.168.4.51:80                     2       10        0      830        0

  -> 192.168.4.52:80                     3       15        0     1245        0


[root@pc55 ~]# ipvsadm -Ln --stats

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port               Conns   InPkts  OutPkts  InBytes OutBytes

  -> RemoteAddress:Port

TCP  192.168.4.252:80               0        0        0        0        0

  -> 192.168.4.51:80                     0        0        0        0        0

  -> 192.168.4.52:80                     0        0        0        0        0





模擬50 故障 驗證Keepalived 高可用

[root@pc50 ~]#  service keepalived stop


[root@pc50 ~]# ip addr show | grep 192.168.4

    inet 192.168.4.50/24 brd 192.168.4.255 scope global eth0


[root@pc55 ~]# ip addr show | grep 192.168.4

    inet 192.168.4.55/24 brd 192.168.4.255 scope global eth0

    inet 192.168.4.252/32 scope global eth0


客戶端訪問

# elinks --dump 192.168.4.252

   192.168.4.52

# elinks --dump 192.168.4.252

   192.168.4.51

# elinks --dump 192.168.4.252

   192.168.4.52

# elinks --dump 192.168.4.252

   192.168.4.51

# elinks --dump 192.168.4.252

   192.168.4.52


# ipvsadm -Ln --stats

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port               Conns   InPkts  OutPkts  InBytes OutBytes

  -> RemoteAddress:Port

TCP  192.168.4.252:80               5       25        0     2075        0

  -> 192.168.4.51:80                     2       10        0      830        0

  -> 192.168.4.52:80                     3       15        0     1245        0

相關文章
相關標籤/搜索