部署LVS-DR集羣大致步驟

該實驗環境中所用到的軟件包是 :ipvsadm

lvs只有調度功能,不帶健康檢查,nginx既有調度也有代理功能

部署LVS-DR跟LVS-NAT不同的是:LVS-DR客戶端發出請求後,由後端WEB服務器直接轉發數據給客戶端client (同網段之間的轉發),而LVS-NAT是通過nat轉換傳送給調度器,再由調度器轉發給客戶客戶端(調度器和後端WEB服務器之間是不同網段,所以需要nat)

CIP是客戶端的IP地址; 192.168.4.10 

VIP是對客戶端提供服務的IP地址;192.168.4.15(VIP必須配置在虛擬接口)

RIP是後端服務器的真實IP地址;192.168.4.100,192.168.4.200

DIP是調度器與後端服務器通信的IP地址 192.168.4.5

配置實驗網絡環境

     一:設置Proxy代理服務器的VIP和DIP

注意:爲了防止衝突,VIP必須要配置在網卡的虛擬接口!!!      

配置VIP:

        # vim /etc/sysconfig/network-scripts/ifcfg-eth0:0      //(eth0:0是新加的備份的網卡配置文件)

TYPE=Ethernet
BOOTPROTO=none
NAME=eth0:0
DEVICE=eth0:0
ONBOOT=yes
IPADDR=192.168.4.15          VIP的地址,
PREFIX=24

重啓網絡

        # systemctl restart network  

查看

       ifconfig eth0:0

配置DIP:  將eth0的地址設置爲192.168.4.5  (是調度器與後端服務器通信的IP地址)

二.設置後端服務器web1,web2的網絡

   1,給web1 web2設置RIP分別爲:192.168.4.100,192.168.4.200

   2  配置VIP ,以web1爲例

   # vim /etc/sysconfig/network-scripts/ifcfg-lo:0  (新增加的網卡必須是 lo:0 ,表示只有自己知道)

   DEVICE=lo:0

IPADDR=192.168.4.15

NETMASK=255.255.255.255

NETWORK=192.168.4.15

BROADCAST=192.168.4.15

ONBOOT=yes

NAME=lo:0

3. web2的vip配置和web1一樣 (可以直接將web1的配置文件傳送給web2)

4.防止地址衝突的問題:

這裏因爲web1也配置與代理一樣的VIP地址,默認肯定會出現地址衝突;以web1爲例,web2也需要做如下操作

sysctl.conf文件寫入這下面四行的主要目的就是訪問192.168.4.15的數據包,只有調度器會響應,其他主機都不做任何響應,這樣防止地址衝突的問題。

[root@web1 ~]# vim /etc/sysctl.conf
#手動寫入如下4行內容
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_announce = 2
#當有arp廣播問誰是192.168.4.15時,本機忽略該ARP廣播,不做任何迴應
#本機不要向外宣告自己的lo迴環地址是192.168.4.15
[root@web1 ~]# sysctl -p   //能使以上的配置文件立即生效

最後重啓web1和web2的網絡,設置防火牆與SELinux

  1. [root@web1 ~]# systemctl restart network
  2. [root@web1 ~]# ifconfig
  3. [root@web1 ~]# systemctl stop firewalld
  4. [root@web1 ~]# setenforce 0

三.在Proxy代理服務器安裝ipvsadm軟件包:

  1. [root@proxy ~]# yum -y install ipvsadm

         創建新的 集羣服務器規則  

  1. [root@proxy ~]# ipvsadm -A -t 192.168.4.15:80 -s wrr 

         添加真實服務器(    -g   參數設置LVS工作模式爲DR模式,-w    設置權重)

  1. [root@proxy ~]# ipvsadm -a -t 192.168.4.15:80 -r 192.168.4.100 -g -w 1
  2. [root@proxy ~]# ipvsadm -a -t 192.168.4.15:80 -r 192.168.4.200 -g -w 1
  1. [root@proxy ~]# ipvsadm-save -n > /etc/sysconfig/ipvsadm    //保存配置

 

客戶端測試:

      #curl  http://192.168.4.15   (會輪詢顯示web1和web2的網頁內容)

[root@client ~]# curl  http://192.168.4.15
192.168.2.100
[root@client ~]# curl  http://192.168.4.15
192.168.2.200
 

 

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