lvs之 lvs原理架構介紹

張衝andy發表於2017-06-15

一、 概念

lvs的術語:
Router:GWIP
vs:virtual server,director
rs:real server 
CIP:client IP
VIP:virtual server IP
DIP:ditecter IP(connect with rs)
RIP:real server IP
使用者請求的IP一定是VIP,否則vs就失去了負載均衡的排程意義

LVS方式的cluster從結構上可分為兩部分:前端的負載均衡器(稱之為director)和後端的真實伺服器(稱之為real server)。cluster前端的director將來自外界的請求排程到cluster後端不同的real server去執行。real server負責真正的提供各種應用服務,比如:Web、FTP、Mail等服務。real server的數量可以根據實際需求進行增加、減少。

二、lvs的工作過程

三、lvs的型別

lvs有三種通用標準模型
(1)lvs-nat (網路地址對映)
(2)lvs-dr (直接路由)
(3)lvs-tun (IP隧道)

3.1、  LVS NAT的特性(實質是多目標的DNAT):

1、RS應該使用私有地址;
2、RS的閘道器的必須指向DIP;
3、RIP和DIP必須在同一網段內;
4、請求和響應的報文都得經過Director;在高負載場景中,Director很可能成為系統效能瓶頸;
5、支援埠對映;
6、RS可以使用任意支援叢集服務的OS;

lvs-nat:工作流程如圖:

3.2、  LVS DR型別的特性:
1、RS可以使用私有地址;但也可以使用公網地址,此時可以直接透過網際網路連入RS以實現配置、監控等;
2、RS的閘道器一定不能指向DIP;
3、RS跟Dirctory要在同一物理網路內(不能由路由器分隔,因為VS透過封裝MAC地址到RS);
4、請求報文經過Directory,但響應報文一定不經過Director
5、不支援埠對映;
6、RS可以使用大多數的作業系統;

由於DR型別中,VS、RS的VIP都是一樣,如果在同一網段內會造成地址衝突,因此要解決地址衝突有一下三種方法:
禁止RS響應對VIP的ARP廣播請求:
1、在前端路由上實現靜態MAC地址VIP的繫結;
前提:得有路由器的配置許可權;
缺點:Directory故障轉時,無法更新此繫結;
2、arptables
前提:在各RS在安裝arptables程式,並編寫arptables規則
缺點:依賴於獨特功能的應用程式
3、修改Linux核心引數
前提:RS必須是Linux;
缺點:適用性差;

兩個引數:
arp_announce:定義通告模式
arp_ignore:定義收到arp請求的時響應模式
配置專用路由,以使得響應報文首先透過vip所配置的lo上的別名介面
lvs-dr:工作流程如圖

3.2、  lvs-tun:IP隧道
1、RIP、DIP、VIP都得是公網地址;
2、RS的閘道器不會指向也不可能指向DIP;
3、請求報文經過Directory,但響應報文一定不經過Director;
4、不支援埠對映;
5、RS的OS必須得支援隧道功能;
lvs-tun:工作流程如圖:也是基於lvs-dr的模型,只不過不同的是,rs和vs不必在同一個物理的網路(實現物理冗餘),而是透過隧道技術進行vs和rs間的通訊

四、 lvs 十個排程演算法: rrwrrlcwlclblclblcrdhshsed、 nq

1.輪叫排程(Round Robin)(簡稱rr)
2.加權輪叫(Weighted Round Robin)(簡稱wrr)
3.最少連結(Least Connections)(LC)
4.加權最少連結(Weighted Least Connections)(WLC)
5.基於區域性性的最少連結(Locality-Based Least Connections)(LBLC)
6.帶複製的基於區域性性最少連結(Locality-Based Least Connections with Replication)(LBLCR)
7.目標地址雜湊(Destination Hashing)(DH)
8.源地址雜湊(Source Hashing)(SH)
9. 最短的期望的延遲(Shortest Expected Delay Scheduling SED)(SED)
10.最少佇列排程(Never Queue Scheduling NQ)(NQ)

最常用的兩個演算法介紹: 

2.加權輪叫(Weighted Round Robin)(簡稱wrr)
排程器透過“加權輪叫”排程演算法根據真實伺服器的不同處理能力來排程訪問請求。這樣可以保證處理能力強的伺服器能處理更多的訪問流量。排程器可以自動問詢真實伺服器的負載情況,並動態地調整其權值。

4.加權最少連結(Weighted Least Connections)(WLC)
在叢集系統中的伺服器效能差異較大的情況下,排程器採用“加權最少連結”排程演算法最佳化負載均衡效能,具有較高權值的伺服器將承受較大比例的活動連線負載。排程器可以自動問詢真實伺服器的負載情況,並動態地調整其權值。

 說明: 部分參考 http://6638225.blog.51cto.com/6628225/1866241  感謝作者。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31383567/viewspace-2140780/,如需轉載,請註明出處,否則將追究法律責任。

相關文章