LVS負載均衡

2022-07-19 08:18:16 字數 2587 閱讀 6965

應用層7 nginx 軟體

表示層6

會話層5

傳輸層4 lvs 核心

網路層3

鏈路層2

物理層1

整個網際網路建立在下一跳的模式下

端點間tcp傳輸過程中

解析資料報需要成本

學習機制:

路由器:三層,只關心ip和路由表

lvs伺服器:四層,只關心port,狀態

nginx:七層,關心socket對應關係

基本拓撲

nat模式

②.負載均衡器收到報文後,發現請求的是在規則裡面存在的位址,那麼它將客戶端請求報文的目標位址改為了後端伺服器的rip位址並將報文根據演算法傳送出去。

③.報文送到real server後,由於報文的目標位址是自己,所以會響應該請求,並將響應報文返還給lvs。

④.然後lvs將此報文的源位址修改為本機並傳送給客戶端。

注意:在nat模式中,real server的閘道器必須指向lvs,否則報文無法送達客戶端

特點:2、只需要在 lb 上配置乙個公網 ip 位址就可以了。

3、每台內部的 realserver 伺服器的閘道器位址必須是排程器 lb 的內網位址。

4、nat 模式支援對 ip 位址和埠進行轉換。即使用者請求的埠和真實伺服器的埠可以不一致。

優點:集群中的物理伺服器可以使用任何支援tcp/ip作業系統,只有負載均衡器需要乙個合法的ip位址。

缺點:擴充套件性有限。當伺服器節點(普通pc伺服器)增長過多時,負載均衡器將成為整個系統的瓶頸,因為所有的請求包和應答包的流向都經過負載均衡器。當伺服器節點過多時,大量的資料報都交匯在負載均衡器那,速度就會變慢!

dr模式

②.負載均衡器收到報文後,發現請求的是在規則裡面存在的位址,那麼它將客戶端請求報文的源mac位址改為自己dip的mac位址,目標mac改為了rip的mac位址,並將此包傳送給rs。

③.rs發現請求報文中的目的mac是自己,就會將次報文接收下來,處理完請求報文後,將響應報文通過lo介面送給eth0網絡卡直接傳送給客戶端。

注意:需要設定lo介面的vip不能響應本地網路內的arp請求。

總結:1、通過在排程器 lb 上修改資料報的目的 mac 位址實現**。注意源位址仍然是 cip,目的位址仍然是 vip 位址。

2、請求的報文經過排程器,而 rs 響應處理後的報文無需經過排程器 lb,因此併發訪問量大時使用效率很高(和 nat 模式比)

3、因為 dr 模式是通過 mac 位址改寫機制實現**,因此所有 rs 節點和排程器 lb 只能在乙個區域網裡面

4、rs 主機需要繫結 vip 位址在 lo 介面(掩碼32 位)上,並且需要配置 arp 抑制。

5、rs 節點的預設閘道器不需要配置成 lb,而是直接配置為上級路由的閘道器,能讓 rs 直接出網就可以。

6、由於 dr 模式的排程器僅做 mac 位址的改寫,所以排程器 lb 就不能改寫目標埠,那麼 rs 伺服器就得使用和 vip 相同的埠提供服務。

7、直接對外的業務比如web等,rs 的ip最好是使用公網ip。對外的服務,比如資料庫等最好使用內網ip。

優點:和tun(隧道模式)一樣,負載均衡器也只是分發請求,應答包通過單獨的路由方法返回給客戶端。與vs-tun相比,vs-dr這種實現方式不需要隧道結構,因此可以使用大多數作業系統做為物理伺服器。

dr模式的效率很高,但是配置稍微複雜一點,因此對於訪問量不是特別大的公司可以用haproxy/nginx取代。日1000-2000w pv或者併發請求1萬一下都可以考慮用haproxy/nginx。

缺點:所有 rs 節點和排程器 lb 只能在乙個區域網裡面。

通道模式

②.負載均衡器收到報文後,發現請求的是在規則裡面存在的位址,那麼它將在客戶端請求報文的首部再封裝一層ip報文,將源位址改為dip,目標位址改為rip,並將此包傳送給rs。

③.rs收到請求報文後,會首先拆開第一層封裝,然後發現裡面還有一層ip首部的目標位址是自己lo介面上的vip,所以會處理次請求報文,並將響應報文通過lo介面送給eth0網絡卡直接傳送給客戶端。

注意:需要設定lo介面的vip不能在共網上出現。

總結:1.tunnel 模式必須在所有的 realserver 機器上面繫結 vip 的 ip 位址

2.tunnel 模式的 vip ------>realserver 的包通訊通過 tunnel 模式,不管是內網和外網都能通訊,所以不需要 lvs vip 跟 realserver 在同乙個網段內

3.tunnel 模式 realserver 會把 packet 直接發給 client 不會給 lvs 了

4.tunnel 模式走的隧道模式,所以運維起來比較難,所以一般不用。

優點:負載均衡器只負責將請求包分發給後端節點伺服器,而rs將應答包直接發給使用者。所以,減少了負載均衡器的大量資料流動,負載均衡器不再是系統的瓶頸,就能處理很巨大的請求量,這種方式,一台負載均衡器能夠為很多rs進行分發。而且跑在公網上就能進行不同地域的分發。

缺點:隧道模式的rs節點需要合法ip,這種方式需要所有的伺服器支援」ip tunneling」(ip encapsulation)協議,伺服器可能只侷限在部分linux系統上。

負載均衡 lvs

常用的負載均衡開源軟體有nginx lvs haproxy,商業的硬體負載均衡裝置f5 netscale。負載均衡的架構和原理很簡單,就是當使用者的請求過來時,會直接分發到director server上,然後它把使用者的請求根據設定好的排程演算法,智慧型均衡地分發到後端真正伺服器上。為了避免不同機...

LVS負載均衡

一 lvs簡介 lvs linux virtual server 即linux虛擬伺服器,是由章文嵩博士主導的開源負載均衡專案,目前lvs已經被整合到linux核心模組中。該專案在linux核心中實現了基於ip的資料請求負載均衡排程方案,其體系結構如圖1所示,終端網際網路使用者從外部訪問公司的外部負...

負載均衡之lvs

集群 cluster 將一組計算機軟 硬體連線起來,高度緊密的協作完成計算工作,其中的單個計算機通常稱為節點。負載均衡集群 load balancing 通過負載均衡器,將負載盡可能平均分攤處理。lvs linux virtul server linux虛擬服務,分為三層結構 排程器 上面的虛擬ip...