04-LVS集群調度算法
根據其調度是否考慮後端主機的負載情況,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集群調度算法