LVS型別的介紹以及LVS的排程方法

破棉襖發表於2015-03-06
LVS三種型別的比較:
型別
屬性
LVS-NAT(最簡單)
網路地址轉換
LVS-DR(最常用)
直接路由
LVS-TUN
IP隧道
realserverdirector是否可在同一網路中
在同一子網中
在同一物理網路中(基於MAC地址轉發)
可在不同的物理網路中,也可以在不同的地域
RIP是私有地址還是公網地址
一般來說是私有地址
公網地址
一定不是私有地址
director是否同時處理入站和出站資料
同時處理入站和出站資料
只處理入站請求
只處理入站請求
realserver的閘道器是否指向DIP
realserver的閘道器指向DIP
realserver的閘道器不能指向DIP
realserver的閘道器不能指向DIP
是否支援埠對映
支援埠對映
不支援埠對映
不支援埠對映
realserver是否可以是任意作業系統
可以是任意的OS
可以是大多數的作業系統(OS支援一個網路卡配置多個IP,隔離realserver廣播)
僅可是那些支援IP隧道協議的OS
其他方面
director很容易成為系統瓶頸
效能優於LVS-NAT

lvs排程方法總的分為兩大類:
1.靜態排程方法
2.動態排程方法
其中靜態排程方法又分為:
(1).Round-Robin : 輪叫,簡稱RR。輪叫排程就是以輪叫的方式依次將請求排程不同的伺服器,即每次排程執行i = (i + 1) mod n,並選出第i臺伺服器。演算法的優點是其簡潔性,它無需記錄當前所有連線的狀態,所以它是一種無狀態排程。輪叫排程演算法假設所有伺服器處理效能均相同,不管伺服器的當前連線數和響應速度。該演算法相對簡單,不適用於伺服器組中處理效能不一的情況,而且當請求服務時間變化比較大時,輪叫排程演算法容易導致伺服器間的負載不平衡。
(2).Weighted Round-Robin : 加權輪叫,簡稱WRR。該演算法可以解決伺服器間效能不一的情況,它用相應的權值表示伺服器的處理效能,伺服器的預設權值為1。假設伺服器A的權值為1,B的權值為2,則表示伺服器B的處理效能是A的兩倍。加權輪叫排程演算法是按權值的高低和輪叫方式分配請求到各伺服器。權值高的伺服器先收到的連線,權值高的伺服器比權值低的伺服器處理更多的連線,相同權值的伺服器處理相同數目的連線數。
(3).Destination Hashing : 目標地址雜湊,簡稱DH。目標地址雜湊排程演算法先根據請求的目標IP地址,作為雜湊鍵(Hash Key)從靜態分配的雜湊表找出對應的伺服器,若該伺服器是可用的且未超載,將請求傳送到該伺服器,否則返回空,主要應用於快取伺服器。
(4).Source Hashing : 源地址雜湊,簡稱SH。源地址雜湊排程演算法正好與目標地址雜湊排程演算法相反,它根據請求的源IP地址,作為雜湊鍵(Hash Key)從靜態分配的雜湊表找出對應的伺服器,若該伺服器是可用的且未超載,將請求傳送到該伺服器,否則返回空。它採用的雜湊函式與目標地址雜湊排程演算法的相同。
動態排程方法又分為:
(1).Least Connections : 最少連結,簡稱LC。該排程是把新的連線請求分配到當前連線數最小的伺服器。最小連線排程是一種動態排程演算法,它透過伺服器當前所活躍的連線數來估計伺服器的負載情況。排程器需要記錄各個伺服器已建立連線的數目,當一個請求被排程到某臺伺服器,其連線數加1;當連線中止或超時,其連線數減1。
計算當前realserver 的負載情況計算方法:active*256+inactive=overhead。
(2).Weighted Least Connections : 加權最少連結,簡稱WLC。加權最小連線排程是最小連線排程的超集,各個伺服器用相應的權值表示其處理效能。伺服器的預設權值為1,系統管理員可以動態地設定伺服器的權值。加權最小連線排程在排程新連線時儘可能使伺服器的已建立連線數和其權值成比例。計算當前realserver 的負載情況計算方法:(active*256+inactive)/weight=overhead。
 
(3).Shortest Expected Delay Scheduling : 最短的期望的延遲,簡稱SED。分配一個接踵而來的請求以最短的期望的延遲方式到伺服器。
計算當前realserver 的負載情況計算方法:(active+1)*256/weight=overhead。
(4). Never Queue Scheduling :最小佇列排程,簡稱NQ。分配一個接踵而來的請求到一臺空閒的伺服器,此伺服器不一定是最快的那臺,如果所有伺服器都是繁忙的,它採取最短的期望延遲分配請求。
(5). Locality-Based Least Connections :基於區域性性的最少連結,簡稱LBLC。"基於區域性性的最少連結" 排程演算法是針對目標IP 地址的負載均衡,目前主要用於Cache 叢集系統。該演算法根據請求的目標IP 地址找出該目標IP 地址最近使用的伺服器,若該伺服器是可用的
且沒有超載,將請求傳送到該伺服器;若伺服器不存在,或者該伺服器超載且有伺服器處於一半的工作負載,則用"最少連結"的原則選出一個可用的伺服器,將請求傳送到該伺服器。
(6). Locality-Based Least Connections with Replication : 帶複製的基於區域性性最少連結,簡稱LBLCR。"帶複製的基於區域性性最少連結"排程演算法也是針對目標IP 地址的負載均衡,目前主要用於Cache 叢集系統。它與LBLC 演算法的不同之處是它要維護從一個目標IP 地址到一組伺服器的對映,而LBLC 演算法維護從一個目標IP 地址到一臺伺服器的對映。該演算法根據請求的目標IP 地址找出該目標IP 地址對應的伺服器組,按"最小連線"原則從伺服器組中選出一臺伺服器,若伺服器沒有超載,將請求傳送到該伺服器,若伺服器超載;則按"最小連線"原則從這個叢集中選出一臺伺服器,將該伺服器加入到伺服器組中,將請求傳送到該伺服器。同時,當該伺服器組有一段時間沒有被修改,將最忙的伺服器從伺服器組中刪除,???降低複製的程度。
 

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

相關文章