1. 程式人生 > >04-LVS集群調度算法

04-LVS集群調度算法

als 連接數 精確 服務器 活動 靜態 動態 永不 動態方法

根據其調度是否考慮後端主機的負載情況,LVS調度算法可大致分為靜態方法和動態方法

靜態方法

1> RR:round robin 輪詢,將每個請求輪流調度到後端RealServer

2> WRR:weighted round robin 加權輪詢,定義後端RealServer權重,將請求按照權重分配到後端RealServer.

3> SH:sourch hash ,源地址哈希,主要用於會話保持,在一定時間內,將某一個源地址的請求全部發往同一個後端RealServer,目的是為了會話綁定

4> DH:destination hash ,目標地址哈希,將發往同一個目標地址的請求全部發往同一個後端RealServer,將訪問目標一致的請求發往同一個後端主機,可提高緩存命中率。

動態方法

1>LC:least connection,最小連接。通過計算每個RealServer的活動連接和非活動連接的總數,計算公式為active*256+inactive,判斷哪臺服務器連接數最少,發往該主機

2>WLC:weight lc ,加權最小連接。考慮服務器自身性能作為權重依據,計算公式 (active*256+inactive)/weight 。

3>SED:最短期待延遲 ,計算公式 (active+1)*256/weight

4>NQ:永不排隊。先根據權重,每個服務器分配一個請求,再根據SED算法進行分配

5>LBLC:基於本地最少連接。類似於動態DH,將請求同一資源的發往同一個後端服務器,但是同時考慮服務器空閑狀態,權衡利用WLC算法。

6>LBLCR:基於本地的帶復制功能的最少連接。利用緩存復制功能。


ipvsadmin命令:

管理集群服務

增加修改集群定義: ipvsadmin -A|E -t|u|f service-address:port -s 調度算法

-A:增加

-E:修改

-t u f : tcp , udp , firewall mark

刪除指定的集群服務 : ipvsadmin -D -t|u|f service-address:prot

後端RealServer服務

增加修改RealServer:ipvsadmin -a|e -t|u|f service-address:port -r RealServer-address:prot [-g | i | m ] [ -w weight ]

-g 表示gateway,lvs-dr 集群(默認)

-i 表示ipip , lvs-tun 集群

-m 表示masquerade ,lvs-nat 集群

刪除某個RealServer: ipvsadmin -d -t | u | f service-address:port RealServer-address:port

查看集群的相關信息

ipvsadmin -L | I [option]

option:

-n  表示數字格式顯示IP,不進行反解

-exact  表示顯示大小時,以精確值顯示

-c  顯示ipvs當前連接情況

-stats  顯示ipvs統計情況

-rate  速率

清空ipvs規則   ipvsadmin -C

清空ipvs計數器  ipvsadmin -Z [-t | u | f Server-adress ]

ipvs規則的保存和重載

ipvs -save | S > /path/to/file

ipvs -restore | R < /path/to/file

04-LVS集群調度算法