lvs之 lvs原理架構介紹

2021-08-02 14:59:20 字數 3125 閱讀 4543

一、 概念

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 十個排程演算法: rr、

wrr、lc、

wlc、

lblc

、lblcr、dh

、sh、sed

、 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)

在集群系統中的伺服器效能差異較大的情況下,排程器採用「加權最少鏈結」排程演算法優化負載均衡效能,具有較高權值的伺服器將承受較大比例的活動連線負載。排程器可以自動問詢真實伺服器的負載情況,並動態地調整其權值。

說明: 部分參考   感謝作者。

LVS負載均衡之DR模式原理介紹

流程解釋 當使用者向負載均衡排程器 director server 發起請求,排程器將請求發往至核心空間 prerouting 鏈首先會接收到使用者請求,判斷目標 ip 確定是本機 ip,將資料報發往 input 鏈 ipvs 是工作在 input 鏈上的,當使用者請求到達 input 時,ipvs...

lvs簡單介紹

所有的負載均衡群集大概都分為三層 1 排程器 2 伺服器池 各個節點 3 儲存設施 群集的分類 負載均衡群集,高可用群集,高效能能運算群集 lvs群集的工作模式 nat模式 dr模式 tun模式今天介紹的兩個主要是 nat模式與dr模式 首先nat模式的群集他只需要乙個公網 ip,是最容易的負載均衡...

lvs演算法介紹

lvs演算法型別 靜態演算法 rr,wrr,dh,sh 動態演算法 wlc,lc,lblc,sed,nq 後兩種官方站點沒有提到,編譯lvs,make過程可以看到 靜態演算法 僅根據演算法本身進行排程 保證起點公平 rr round robin,輪調,輪循 wrr weighted rr,加權輪循 ...