實現四層LVS-DR工作模式的負載均衡

LVS-DR搭建的兩種方法

注意事項:
        此時的LVS服務只有一個網卡;  
        路由的IP_FORWARD轉發功能必須開啓 ; 
        客戶端訪問,網關必須指定;
        VS服務必須配置網關,若不配置網關,客戶端將無法訪問;
        LVS、RS服務必須保持同一網段,中間不可添加路由器。  

方法一:VIP 與RIP、DIP不在同一虛擬網段

實現四層LVS-DR工作模式的負載均衡

1. Client客戶端

1) 配置網關   
 [root@centos7 ~]#route add default gw 192.168.10.49 dev ens37
2)查看網關是否配置好
 [root@centos7 ~]#route -n 
 Kernel IP routing table
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
 0.0.0.0             192.168.10.49   0.0.0.0         UG    0      0        0 ens37
192.168.10.0    0.0.0.0         255.255.255.0   U     100    0        0 ens37
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

2. Route路由器

  1)準備兩個網卡並設定好IP
       ens33  192.168.10.49/24 
       ens37  192.168.1.106/24 
  2)在網卡ens33再綁定一個IP能訪問公網VIP
      [root@centos7 ~]# ifconfig ens33:1 10.10.0.20   

        link/ether 00:0c:29:ed:81:c3 brd ff:ff:ff:ff:ff:ff
        inet 192.168.1.106/24 brd 192.168.1.255 scope global noprefixroute ens33
        valid_lft forever preferred_lft forever
        inet 10.10.0.20/8 brd 10.255.255.255 scope global ens33:1
  3)開啓路由的ip_forward轉發功能,此項不開啓客戶端將無法訪問,參數設爲1
         [root@centos7 ~]#echo 1 > /proc/sys/net/ipv4/ip_forward

3. RS1服務端

     1)安裝測試服務器httpd,默認80端口
            [root@localhost ~]# yum install httpd -y
            [root@localhost ~]# echo www.google.com > /var/www/html/index.html  
            [root@localhost ~]# systemctl start httpd
     2)準備好一個與LVS同一物理網段的局域網卡ens33,不可有其他網段網卡避免網關衝突
             ens33 192.168.1.110
     3)設置網關

             [root@localhost ~]# route add default gw 192.168.1.106
     4)編輯腳本自動綁定VIP公網,綁定在迴環網卡

             [root@localhost ~]# vim /data/shell.sh/lvs_dr_rs.sh 

實現四層LVS-DR工作模式的負載均衡

   5)執行腳本完成VIP的綁定
        ~]# bash /data/shell.sh/lvs_dr_rs.sh start 

4. RS2服務端

    1)安裝測試服務器httpd,默認80端口
                [root@localhost ~]# yum install httpd -y
                [root@localhost ~]# echo www.china.gov.com > /var/www/html/index.html  
                [root@localhost ~]# systemctl start httpd
    2)準備好一個與LVS同一物理網段的局域網卡ens33,不可有其他網段網卡避免網關衝突
                 ens33 192.168.1.101
    3)設置網關

                 [root@localhost ~]# route add default gw 192.168.1.106
    4)編輯腳本自動綁定VIP公網,綁定在迴環網卡,編輯腳本內容與第三步相同,直接複製並執行

                 [root@localhost ~]#  bash /data/shell.sh/lvs_dr_rs.sh start

5. LVS調度服務器

   1)準備一個網卡並設定好IP
       ens33  192.168.1.107/24
   2)指向默認網關爲路由器的R2口
       [root@centos7 ~]#route add default gw 192.168.1.106
   3)編寫腳本實現創建集羣調度環境
       [root@centos7 ~]#vim /data/shell.sh/lvs_dr_vs.sh    

          #!/bin/bash
          vip='10.10.0.10'      #公網VIP
          iface='lo:1'            #綁定值本機迴環網卡
          mask='255.255.255.255'        #獨立的網絡
          port='80'        
          rs1='192.168.1.101'         #rs1服務
          rs2='192.168.1.110'        #rs2服務
          scheduler='wrr'           #權重輪詢算法
          type='-g'  #工作模式爲DR模式
          rpm -q ipvsadm &> /dev/null || yum -y install ipvsadm &> /dev/null   #判斷是否安裝ipvsadm
          case $1 in
          start)
          ifconfig $iface $vip netmask $mask #broadcast $vip up
          iptables -F
          ipvsadm -A -t ${vip}:${port} -s $scheduler        #創建調度集羣環境
          ipvsadm -a -t ${vip}:${port} -r ${rs1} $type -w 1  #添加rs1服務到調度集羣環境
          ipvsadm -a -t ${vip}:${port} -r ${rs2} $type -w 1  #添加rs2服務到調度集羣環境
          echo "The VS Server is Ready!"
           ;;
          stop)
          ipvsadm -C
          ifconfig $iface down
          echo "The VS Server is Canceled!"
          ;;
          *)
          echo "Usage: $(basename $0) start|stop"
          exit 1
          ;;
          esac

     4)執行腳本完成lvs的環境搭建
                 [root@centos7 ~]# bash /data/shell.sh/lvs_dr_vs.sh start

6. 在Client客戶端進行訪問測試,設置調度爲權重輪詢訪問

                 [root@centos7 ~]# while true;do curl 10.10.0.10;sleep 1;done       

方法二. VIP 與RIP、DIP都在在同一網段

實現四層LVS-DR工作模式的負載均衡

1.Client客戶端

 1)配置默認網關爲路由Route的R1口IP
      [root@centos7 ~]#route del default gw 192.168.10.1 dev ens37

2.路由Route

 1)開啓路由的轉發功能ip_forward,參數設置爲1
           [root@centos7 ~]#echo 1 > /proc/sys/net/ipv4/ip_forward

3.RS1服務端

  1)將VIP綁定至迴環網卡
       [root@localhost ~]# ifconfig lo:1 192.168.1.119/32
  2)指定默認網關至路由Route的R2口IP 
       [root@localhost ~]# route add default gw 192.168.1.108 dev ens33   
  3)開啓httpd測試服務
         [root@localhost ~]# systemctl start httpd

4.RS2服務端

  1)將VIP綁定至迴環網卡
       [root@localhost ~]# ifconfig lo:1 192.168.1.119/32
  2)指定默認網關至路由Route的R2口IP 
       [root@localhost ~]# route add default gw 192.168.1.108 dev ens33
  3)開啓httpd測試服務
         [root@localhost ~]# systemctl start httpd

5.LVS調度服務

  1)將VIP綁定至迴環網卡
       [root@localhost ~]# ifconfig lo:1 192.168.1.119/32
  2)指定默認網關至路由Route的R2口IP 
       [root@localhost ~]# route add default gw 192.168.1.108 dev ens33
  3)搭建集羣調度環境,算法設爲權重WLC
       [root@centos7 ~]#ipvsadm -A -t 192.168.1.119:80 -s wlc 
  4)將RS1與RS2添加至集羣環境並配置權重
       [root@centos7 ~]#ipvsadm -a -t 192.168.1.119:80 -r 192.168.1.110 -w 3
       [root@centos7 ~]#ipvsadm -a -t 192.168.1.119:80 -r 192.168.1.101 -w 1

6. 在客戶端進行訪問測試

        [root@centos7 ~]#while true;do curl 192.168.1.119;sleep 1;done
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章