lvs 三種工作模式的優缺點比較
一、virtual server via nat(vs-nat)
優點:集群中的物理伺服器可以使用任何支援tcp/ip作業系統,物理伺服器可以分配internet的保留私有位址,只有負載均衡器需要乙個合法的ip位址。
缺點:擴充套件性有限。當伺服器節點(普通pc伺服器)資料增長到20個或更多時,負載均衡器將成為整個系統的瓶頸,因為所有的請求包和應答包都需要經過負載均衡器再生。假使tcp包的平均長度是536位元組的話,平均包再生延遲時間大約為60us(在pentium處理器上計算的,採用更快的處理器將使得這個延遲時間變短),負載均衡器的最大容許能力為8.93m/s,假定每台物理伺服器的平台容許能力為400k/s來計算,負責均衡器能為22臺物理伺服器計算。
解決辦法:即使是是負載均衡器成為整個系統的瓶頸,如果是這樣也有兩種方法來解決它。一種是混合處理,另一種是採用virtual server via ip tunneling或virtual server via direct routing。如果採用混合處理的方法,將需要許多同屬單一的rr dns域。你採用virtual server via ip tunneling或virtual server via direct routing以獲得更好的可擴充套件性。也可以巢狀使用負載均衡器,在最前端的是vs-tunneling或vs-drouting的負載均衡器,然後後面採用vs-nat的負載均衡器。
二、virtual server via ip tunneling(vs-tun)
我們發現,許多internet服務(例如web伺服器)的請求包很短小,而應答包通常很大。
優點:負載均衡器只負責將請求包分發給物理伺服器,而物理伺服器將應答包直接發給使用者。所以,負載均衡器能處理很巨大的請求量,這種方式,一台負載均衡能為超過100臺的物理伺服器服務,負載均衡器不再是系統的瓶頸。使用vs-tun方式,如果你的負載均衡器擁有100m的全雙工網絡卡的話,就能使得整個virtual server能達到1g的吞吐量。
不足:但是,這種方式需要所有的伺服器支援"ip tunneling"(ip encapsulation)協議,我僅在linux系統上實現了這個,如果你能讓其它作業系統支援,還在探索之中。
三、virtual server via direct routing(vs-dr)
優點:和vs-tun一樣,負載均衡器也只是分發請求,應答包通過單獨的路由方法返回給客戶端。與vs-tun相比,vs-dr這種實現方式不需要隧道結構,因此可以使用大多數作業系統做為物理伺服器,其中包括:linux 2.0.36、2.2.9、2.2.10、2.2.12;solaris 2.5.1、2.6、2.7;freebsd 3.1、3.2、3.3;nt4.0無需打補丁;irix 6.5;hpux11等。
不足:要求負載均衡器的網絡卡必須與物理網絡卡在乙個物理段上
lvs的八種排程演算法。
1.輪叫(roundrobin)(rr)
排程器通過」輪叫」排程演算法將外部請求按順序輪流分配到集群中的真實伺服器上,它均等地對待每一台伺服器,而不管伺服器上實際的連線數和系統負載。
2. 加權輪叫(weightedround robin)(wrr)
排程器通過」加權輪叫」排程演算法根據真實伺服器的不同處理能力來排程訪問請求。這樣可以保證處理能力強的伺服器處理更多的訪問流量。排程器可以自動問詢真實伺服器的負載情況,並動態地調整其權值。
3. 最少鏈結(leastconnections)(lc)
排程器通過」最少連線」排程演算法動態地將網路請求排程到已建立的鏈結數最少的伺服器上。如果集群系統的真實伺服器具有相近的系統效能,採用」最小連線」排程演算法可以較好地均衡負載。
4. 加權最少鏈結(weightedleast connections)(wlc)
在集群系統中的伺服器效能差異較大的情況下,排程器採用」加權最少鏈結」排程演算法優化負載均衡效能,具有較高權值的伺服器將承受較大比例的活動連線負載。排程器可以自動問詢真實伺服器的負載情況,並動態地調整其權值。
5. 基於區域性性的最少鏈結(locality-basedleast connections)(lbc)
」 基於區域性性的最少鏈結」 排程演算法是針對目標ip位址的負載均衡,目前主要用於cache集群系統。該演算法根據請求的目標ip位址找出該目標ip位址最近使用的伺服器,若該伺服器是可用的且沒有超載,將請求傳送到該伺服器;若伺服器不存在,或者該伺服器超載且有伺服器處於一半的工作負載,則用」最少鏈結」的原則選出乙個可用的伺服器,將請求傳送到該伺服器。
6. 帶複製的基於區域性性最少鏈結(locality-based least connections with replication)(lbcr)
「帶複製的基於區域性性最少鏈結」排程演算法也是針對目標ip位址的負載均衡,目前主要用於cache集群系統。它與lblc演算法的不同之處是它要維護從乙個目標ip位址到一組伺服器的對映,而lblc演算法維護從乙個目標ip位址到一台伺服器的對映。該演算法根據請求的目標ip位址找出該目標ip位址對應的伺服器組,按」最小連線」原則從伺服器組中選出一台伺服器,若伺服器沒有超載,將請求傳送到該伺服器,若伺服器超載;則按」最小連線」原則從這個集群中選出一台伺服器,將該伺服器加入到伺服器組中,將請求傳送到該伺服器。同時,當該伺服器組有一段時間沒有被修改,將最忙的伺服器從伺服器組中刪除,以降低複製的程度。
7. 目標位址雜湊(destinationhashing)(dh)
「目標位址雜湊」排程演算法根據請求的目標ip位址,作為雜湊鍵(hash key)從靜態分配的雜湊表找出對應的伺服器,若該伺服器是可用的且未超載,將請求傳送到該伺服器,否則返回空。
8. 源位址雜湊(sourcehashing)(sh)
「源位址雜湊」排程演算法根據請求的源ip位址,作為雜湊鍵(hash key)從靜態分配的雜湊表找出對應的伺服器,若該伺服器是可用的且未超載,將請求傳送到該伺服器,否則返回空
LVS三種模式原理及優缺點
nat模式 tun模式 dr模式 nat模式 tun模式 dr模式 對伺服器節點要求 服務節點可以是任何作業系統 必須支援隧道模式,目前只有linux 服務節點支援虛擬網絡卡裝置,能夠禁用裝置的arp響應 網路要求 擁有私有ip位址的區域網 擁有合法ip位址的區域網或廣域網 擁有合法ip位址的區域網...
LVS原理及三種模式優缺點比較
lvs nat模式 lvs dr模式 lvs tun模式 一 virtual server via nat vs nat 缺點 擴充套件性有限。當伺服器節點 普通pc伺服器 資料增長到20個或更多時,負載均衡器將成為整個系統的瓶頸,因為所有的請求包和應答包都需要經過負載均衡器再生。假使tcp包的平均...
LVS 三種工作模式原理 以及優缺點比較
lvs 三種工作模式原理 以及優缺點比較 一 nat模式 vs nat 原理 就是把客戶端發來的資料報的ip頭的目的位址,在負載均衡器上換成其中一台rs的ip位址,併發至此rs來處理,rs處理完成後把資料交給經過負載均衡器,負載均衡器再把資料報的原ip位址改為自己的ip,將目的位址改為客戶端ip位址...