LVS 負載均衡 (VS/DR模式 與 VS/TUN 模式)

1、VS/DR模式前端

 

 

①.客戶端將請求發往前端的負載均衡器,請求報文源地址是CIP,目標地址爲VIP。nginx

 

②.負載均衡器收到報文後,發現請求的是在規則裏面存在的地址,那麼它將目標MAC改成了RIP的MAC地址,並將此包發送給RS。後端

 

③.RS發現請求報文中的目的MAC是本身,就會將次報文接收下來,處理完請求報文後,將響應報文經過lo接口送給eth0網卡直接發送給客戶端。服務器

 

注意:網絡

須要設置lo接口的VIP不能響應本地網絡內的arp請求。併發

優勢負載均衡

和TUN(隧道模式)同樣,負載均衡器也只是分發請求,應答包經過單獨的路由方法返回給客戶端。與VS-TUN相比,VS-DR這種實現方式不須要隧道結構,所以可使用大多數操做系統作爲物理服務器。性能

DR模式的效率很高,可是配置稍微複雜一點,所以對於訪問量不是特別大的公司能夠用haproxy/nginx取代。日1000-2000W PV或者併發請求1萬一下均可以考慮用haproxy/nginx。測試

缺點操作系統

全部 RS 節點和調度器 LB 只能在一個局域網裏面。

 相比於其餘兩種模式性能最好!也能夠實現跨機房,相對比較困難~

 

2、實驗

1>準備環境

#一、準備三臺虛擬機,一臺Dserver 端, 兩臺REserver端

#二、三臺主機ip 必須是同一網段

REserver1 端  ip  : 192.168.206.4

REserver2 端ip    : 192.168.206.5

Dserver 端    ip     :   192.168.206.3

 

#三、 vip (虛擬服務ip) : 192.168.206.22

2>   Dserver端 下載 ipvsadm 包

 

查看

3> 添加對外服務的ip ( vip)

 

4>添加兩臺REserver 主機

 

5>查看

 

6>配置網卡的子網口 爲 vip   (ens33 :0 )

&1臨時方法

&2永久方法

再編輯一個網卡配置 文件,將DEVICE 改爲 ens33:0 便可 迴環地址 lo:0 同理

查看

注:執行可能會出現下面狀況,找不到 ifconfig 這個命令

 

#1緣由是   sentos7 最小安裝 沒有自帶 ifconfig這個命令的包,我能夠來查找一下這個命令所在的包,而後去安裝它

 

#2,經過查找發現它在  net-tools 這個包裏面,咱們去下載它

 

#3.查看

 

再使用  ifconfig 這個命令就能夠了

7> 添加靜態路由( 訪問 192.168.206.22 ,都走 ens33:0 這個網卡)

^1

^2, 查看

添加成功!

REserver 1端  與 REserver 2 端

8> 在迴環地址上配置 vip  (   REserver 1端  與 REserver 2 端  都須要設置 )

 

9> 分別添加靜態路由

 

10>定義接受請求的響應的級別與向外通告的級別 ,使它們不能向外宣告!

   arp_ignore:定義接收到ARP請求時的響應級別              

0:默認,只用本地配置的有響應地址都給予響應               

1:僅僅在目標IP是本地地址,而且是配置在請求進來的接口上的時候纔給予響應         (僅在請求的目標地址配置請求到達的接口上的時候,纔給予響應)  

   /proc/sys/net/ipv4/conf/lo/arp_ignore    

   arp_announce:定義將本身的地址向外通告時的級別              

  0:默認,表示使用配置在任何接口的任何地址向外通告               

  1:儘可能僅向目標網絡通告與其網絡匹配的地址               

  2:僅向與本地接口上地址匹配的網絡進行通告       

/proc/sys/net/ipv4/conf/all/arp_announce

配置以下

REserver1:

 

REserver2:

 

11>所有開啓 httpd 服務

注:這裏使用ansible 開啓 REserver1 端 與 REserver2  端 的httpd 服務

@1

@2查看

 

所有開始成功

12> 測試 (記得在 REserver端建立測試文件)

抓取成功

2、VS/TUN模式

 

 

①.客戶端將請求發往前端的負載均衡器,請求報文源地址是CIP,目標地址爲VIP。

 

②.負載均衡器收到報文後,發現請求的是在規則裏面存在的地址,那麼它將在客戶端請求報文的首部再封裝一層IP報文,將源地址改成DIP,目標地址改成RIP,並將此包發送給RS。

 

③.RS收到請求報文後,會首先拆開第一層封裝,而後發現裏面還有一層IP首部的目標地址是本身lo接口上的VIP,因此會處理次請求報文,並將響應報文經過lo接口送給eth0網卡直接發送給客戶端。

 

注意:

 

須要設置lo接口的VIP不能在公網上出現。

 

優勢

 

負載均衡器只負責將請求包分發給後端節點服務器,而RS將應答包直接發給用戶。因此,減小了負載均衡器的大量數據流動,負載均衡器再也不是系統的瓶頸,就能處理很巨大的請求量,這種方式,一臺負載均衡器可以爲不少RS進行分發。並且跑在公網上就能進行不一樣地域的分發。

 

缺點:

 

隧道模式的RS節點須要合法IP,這種方式須要全部的服務器支持」IP Tunneling」(IP Encapsulation)協議,服務器可能只侷限在部分Linux系統上。

 

                  相比於其餘兩種模式,TUN 模式用的很少

相關文章
相關標籤/搜索