Linux負載均衡軟體LVS簡介

2022-04-09 03:46:45 字數 3056 閱讀 8901

linux負載均衡軟體lvs

lvs集群的體系結構以及特點

1、 lvs簡介2、 lvs體系結構

使用lvs架設的伺服器集群系統有三個部分組成:最前端的負載均衡層,用load balancer表示,中間的伺服器群組層,用server array表示,最底端的資料共享儲存層,用shared storage表示。

load balancer層:         

位於整個集群系統的最前端,有一台或者多台負載排程器(director server)組成,lvs模組就安裝在director server上,而director的主要作用類似於乙個路由器,它含有完成lvs功能所設定的路由表,通過這些路由表把使用者的請求分發給server array層的應用伺服器(real server)上。同時,在director server上還要安裝對real server服務的監控模組ldirectord,此模組用於監測各個real server服務的健康狀況。在real server不可用時把它從lvs路由表中剔除,恢復時重新加入。     

server array層:

shared storage層:

是為所有real server提供共享儲存空間和內容一致性的儲存區域,在物理上,一般有磁碟陣列裝置組成,為了提供內容的一致性,一般可以通過nfs網路檔案系統共享資料,但是nfs在繁忙的業務系統中,效能並不是很好,此時可以採用集群檔案系統,例如red hat的gfs檔案系統,oracle提供的ocfs2檔案系統等。

3、 lvs集群的特點

(1)ip負載均衡與負載排程演算法

1)ip負載均衡技術

lvs的ip負載均衡技術是通過ipvs模組來實現的,ipvs是lvs集群系統的核心軟體,它的主要作用是:安裝在director server上,同時在director server上虛擬出乙個ip位址,使用者必須通過這個虛擬的ip位址訪問服務。這個虛擬ip一般稱為lvs的vip,即virtual ip。訪問的請求首先經過vip到達負載排程器,然後由負載排程器從real server列表中選取乙個服務節點響應使用者的請求 當使用者的請求到達負載排程器後,排程器如何將請求傳送到提供服務的real server節點,而real server節點如何返回資料給使用者,是ipvs實現的重點技術.

ipvs實現負載均衡機制有三種,分別是nat、tun和dr。

vs/nat: 即(virtual server via network address translation)

也就是網路位址翻譯技術實現虛擬伺服器,當使用者請求到達排程器時,排程器將請求報文的目標位址(即虛擬ip位址)改寫成選定的real server位址,同時報文的目標埠也改成選定的real server的相應埠,最後將報文請求傳送到選定的real server。在伺服器端得到資料後,real server返回資料給使用者時,需要再次經過負載排程器將報文的源位址和源埠改成虛擬ip位址和相應埠,然後把資料傳送給使用者,完成整個負載排程過程。

vs/tun :即(virtual server via ip tunneling) 

也就是ip隧道技術實現虛擬伺服器。它的連線排程和管理與vs/nat方式一樣,只是它的報文**方法不同,vs/tun方式中,排程器採用ip隧道技術將使用者請求**到某個real server, 而這個real server將直接響應使用者的請求,不再經過前端排程器,此外,對real server的地域位置沒有要求,可以和director server位於同乙個網段,也可以是獨立的乙個網路。因此,在tun方式中,排程器將只處理使用者的報文請求,集群系統的吞吐量大大提高。

vs/dr: 即(virtual server via direct routing)

也就是用直接路由技術實現虛擬伺服器。它的連線排程和管理與vs/nat和vs/tun中的一樣,但它的報文**方法又有不同,vs/dr通過改寫請求報文的mac位址,將請求傳送到real server,而real server將響應直接返回給客戶,免去了vs/tun中的ip隧道開銷。這種方式是三種負載排程機制中效能最高最好的,但是必須要求director server與real server都有一塊網絡卡連在同一物理網段上。

2)負載排程演算法

ipvs實現了如下八種負載排程演算法,這裡我們詳細講述最常用的四種排程演算法,剩餘的四種排程演算法請參考其它資料。

(1.)輪叫排程(round robin)

「輪叫」排程也叫1:1排程,排程器通過「輪叫」排程演算法將外部使用者請求按順序1:1的分配到集群中的每個real server上,這種演算法平等地對待每一台real server,而不管伺服器上 實際的負載狀況和連線狀態。

(2.)加權輪叫排程(weighted round robin)

「加權輪叫」排程演算法是根據real server的不同處理能力來排程訪問請求。可以對每台real server設定不同的排程權值,對於效能相對較好的real server可以設定較高的權值,而對於處理能力較弱的real server,可以設定較低的權值,這樣保證了處理能力強的伺服器處理更多的訪問流量。充分合理的利用了伺服器資源。同時,排程器還可以自動查詢real server的負載情況,並動態地調整其權值。  

(3.)最少鏈結排程(least connections)

「最少連線」排程演算法動態地將網路請求排程到已建立的鏈結數最少的伺服器上。如果集群系統的真實伺服器具有相近的系統效能,採用「最小連線」排程演算法可以較好地均衡負載。 

(4.)加權最少鏈結排程(weighted least connections)

「加權最少鏈結排程」是「最少連線排程」的超集,每個服務節點可以用相應的權值表示其處理能力,而系統管理員可以動態的設定相應的權值,預設權值為1,加權最小連線排程在分

配新連線請求時盡可能使服務節點的已建立連線數和其權值成正比。

其它四種排程演算法分別為:基於區域性性的最少鏈結(locality-based least connections)、帶複製的基於區域性性最少鏈結(locality-based least connections with replication)、目標位址雜湊(destination hashing)和源位址雜湊(source hashing),對於這四種排程演算法的含義,這裡不再講述,如果想深入了解這其餘四種排程策略的話,可以登陸lvs中文站點zh.linuxvirtualserver.org,查閱更詳細的資訊。

Linux 負載均衡 LVS

1 介紹nat模式 優點 可以簡單快速配置負載均衡 缺點 單機器有瓶頸 附屬機器的閘道器 gateway 必須是主機內網ip 2 安裝 yum install y ipvsadm3 新建指令碼 bin bash director 伺服器上開啟路由 功能 echo 1 proc sys net ipv...

負載均衡 lvs

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

LVS負載均衡

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