LVS負載均衡常用型別優點及應用場景

2021-10-04 08:13:21 字數 4361 閱讀 3057

1. 1 什麼是集群

一組通過高速網路互聯的計算組,以單一系統的模式加以管理

將很多伺服器集中在一起,提供一種服務,在客戶端看來就象是只有乙個伺服器

可以在付出較低成本的情況下獲得在效能的優越性以及可靠性和靈活性方面的相對較高的收益

任務排程是集群系統的核心技術

1.2 集群的目的
提高效能

:計算密集應用

降低成本

:**便宜

提高可擴充套件性

:只要增加集群節點即可

增強可靠性

:多個節點完成相同功能,避免單點失敗

1.3 集群分類
高效能計算集群hpc

通過以集群開發的併發應用程式,解決複雜的科學問題

負載均衡(lb)集群

客戶端負載在計算機集群中盡可能平均分攤

高可用(ha)集群

避免單點故障,當乙個系統發生故障時,可以快速遷移

linux虛擬伺服器(lvs)

lvs可以實現高可用,可伸縮的web,mail,cache和media等網路服務

最終目的是利用linux作業系統和lvs集群軟體實現乙個高可用,高效能,低成本的伺服器應用集群.

現在lvs已經是linux核心標準的一部分,使用lvs的負載均衡技術和linux作業系統實現乙個

高效能高可用的linux伺服器群集, 它具有可拓展和可操作性. 從而以低廉的成本實現最優的效能

2.1 lvs集群組成

前端:負載均衡層

由一台或多台負載排程器構成

中間:伺服器群組層

有一組實際執行應用服務的伺服器組成

後端:資料共享儲存層

提供共享儲存空間的儲存區域

2.2 lvs術語

vs:virtual server 排程器,進行排程

director server(ds) 排程伺服器

dispatcher(排程器),load balancer

rs:real server(lvs) 真實伺服器

upstream server(nginx) backend server(haproxy)

cip:client ip 客戶端ip

vip: virtual serve ip 虛擬ip位址

dip: director ip 排程器連線節點伺服器的ip位址,lvs伺服器上的內網ip

rip: real server ip 真實ip位址 集群節點上使用的ip位址

2.3 訪問流程:

cip <–> vip == dip <–> rip

2.4 lvs集群的型別

lvs:

ipvsadm/ipvs ipvsadm:使用者空間的命令列工具,規則管理器

用於管理集群服務及realserver

ipvs:

工作於核心空間netfilter的input鉤子上的框架

2.4.1 lvs集群的型別分類:

lvs-nat:修改請求報文的目標ip ,多目標ip的dnat

lvs-tun:在原請求ip報文之外新加乙個ip首部

lvs-fullnat:修改請求報文的源和目標ip

2.4.2 lvs-nat模式
本質是多目標ip的dnat,通過將請求報文中的目標位址和目標埠修改為某挑 出的rs的rip和port實現**  

(1)rip和dip應在同乙個ip網路,且應使用私網位址;rs的閘道器要指向dip

(2)請求報文和響應報文都必須經由director**,director易於成為系統瓶頸

(3)支援埠對映,可修改請求報文的目標port

(4)vs必須是linux系統,rs可以是任意os系統

2.4.3 lvs-dr模式
direct

routing

直接路由,lvs預設模式,應用最廣泛,通過為請求報 文重新封裝乙個mac首部進行**,源mac是dip所在的介面的mac,

目標 mac是某挑選出的rs的rip所在介面的mac位址;源ip

/port,以及目標 ip

/port均保持不變

(1) director和各rs都配置有vip

(2) 確保前端路由器將目標ip為vip的請求報文發往director

在前端閘道器做靜態繫結vip和director的mac位址

在rs上使用arptables工具

arptables -a in -d $vip -j drop      

arptables -a out -s $vip -j mangle --mangle-ip-s $rip

在rs上修改核心引數以限制arp通告及應答級別

/proc/sys/net/ipv4/conf/all/arp_ignore  

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

(3)rs的rip可以使用私網位址,也可以是公網位址;rip與dip在同一ip網路; rip的閘道器不能指向dip,以確保響應報文不會經由director

(4)rs和director要在同乙個物理網路

(5)請求報文要經由director,但響應報文不經由director,而由rs直接發往 client

(6)不支援埠對映(埠不能修敗)

(7)rs可使用大多數os系統

2.4.4 lvs-tun:

**方式:不修改請求報文的ip首部(源ip為cip,目標ip為vip),而在原ip報文

之外再封裝乙個ip首部(源ip是dip,目標ip是rip),

將報文發往挑選出的目標

rs;rs直接響應給客戶端(源ip是vip,目標ip是cip)

(1)

dip,

vip,

rip都應該是公網位址(2

)rs的閘道器一般不能指向dip(3

)請求報文要經由director,但響應不經由director(4

)不支援埠對映(5

)rs的os須支援隧道功能

2.4.5 lvs-fullnat模式
通過同時修改請求報文的源ip位址和目標ip位址進行**

cip--

>

dipvip

-->

rip(1)

vip是公網位址,rip和dip是私網位址,且通常不在同一ip網路;因此,

rip的閘道器一般不會指向dip(2

)rs收到的請求報文源位址是dip,因此,只需響應給dip;但director還

要將其發往client(3

)請求和響應報文都經由director(4

)支援埠對映

注意:此型別kernel預設不支援

2.5 lvs型別優缺點

lvs-nat 優缺點

lvs-nat優點:

配置簡單,且節省ip。

只需要在排程器上配置乙個公網ip即可。

支援埠對映,即使用者請求的埠和rs埠可以不一致。

lvs-nat缺點:

所有請求和響應都要經由排程器,併發量大時會成為集群瓶頸。

一般後端rs節點保持在10-20個。

lvs-dr優缺點
lvs-dr優點:

rs處理完請求後是直接響應給客戶主機的,不會經由排程器,從而大大減輕了排程器的負擔,增加了集群的併發請求處理量

lvs-dr缺點:

配置較複雜,需要在所有rs上配置vip並修改核心引數

dr型別是通過重新封裝請求報文的包頭檔案的mac位址來實現**的,所以排程器和rs只能在乙個區域網內

dr型別相對於nat型別需要消耗更多的公網ip

lvs-tun優缺點
lvs-tun優點:

解決了dr型別下rs與排程器必須在同一區域網的限制

lvs-tun缺點:

配置繁瑣,應用場景少

2.6 lvs型別的應用場景

lvs-nat應用場景:

由於配置簡單,節省ip的特點,一般用在併發量不大的中小企業。
lvs-dr應用場景:
併發量非常大的情況下會用到此型別,

dr模型的併發處理量能達到硬體級別的能力。

lvs-tun應用場景:
如果環境要求dip與rip不在同一物理網路

(如災備)時,

就需要用到lvs-tun模型

負載均衡的應用場景

負載均衡適用於高訪問量的業務,提高應用程式的可用性和可靠性。應用於高訪問量的業務 如果您的應用訪問量很高,您可以通過配置監聽規則將流量分發到不同的ecs例項上。此外,您可以使用會話保持功能將同一客戶端的請求 到同一台後端ecs,提高訪問效率。擴充套件應用程式 消除單點故障 您可以在負載均衡例項下新增...

day 64 負載均衡及LVS

18.6 負載均衡集群介紹 18.7 lvs介紹 1 lvs介紹 2 lvs之nat模式 3 lvs之ip tunnel模式 4 lvs之dr模式 18.8 lvs排程演算法 18.9 18.10 lvs nat模式搭建 1 三颱機器配置 三颱機器上均執行以下命令 2 nat模式搭建 yum ins...

nginx應用場景6 負載均衡

地域 glsb 全域性負載均衡,global server load balance slb 一般用到,伺服器負載均衡 server load balancing 網路模型 負載均衡又分為四層負載均衡 傳輸層,tcp ip 和七層負載均衡 應用層 nginx就是典型的七層負載均衡伺服器。nginx的...