當前位置:首頁 » 操作系統 » lvs演算法

lvs演算法

發布時間: 2022-04-30 01:22:07

① lvs負載均衡演算法工作在哪一層

通常都是 應用層 實現的,參考下haproxy、nginx的實現。

也可以是網路層實現

② LVS負載均衡

三種機制的優點,及這些機制的四種配置方法和架構方式。

三種轉發機制的優缺點

◆Virtual Server via NAT
VS/NAT 的優點是伺服器可以運行任何支持TCP/IP的操作系統,它只需要一個IP地址配置在LVS主機上,伺服器組可以用私有的IP地址。缺點是它的擴充能力有限,當伺服器結點數目升到20時,LVS主機本身有可能成為系統的新瓶頸,因為在VS/NAT中請求和響應封包都需要通過負載平衡LVS主機。在 Pentium 166主機上測得重寫封包的平均延時為60us,假設TCP封包的平均長度為536 Bytes,則LVS主機的最大吞吐量為8.93 MBytes/s。再假設每台伺服器的吞吐量為600KBytes/s,這樣一個LVS主機可以帶動16台伺服器。
◆Virtual Server via IP Tunneling
在VS/TUN 的集群系統中,負載平衡LVS主機只將請求分配到不同的實際伺服器,實際伺服器將應答的資料直接返回給用戶。這樣,負載平衡LVS主機就可以處理巨量的請求,而不會成為系統的瓶頸。即使負載平衡LVS主機只有100Mbps的全雙工網卡,虛擬伺服器的最大吞吐量可以達到幾Gbps。所以,VS/TUN可以極大地增加負載平衡LVS主機分配的伺服器數量,它可以用來構建高性能超級伺服器。VS/TUN技術對伺服器的要求是所有的伺服器必須支持"IP Tunneling"或者"IP Encapsulation"協議。目前,VS/TUN 的後端伺服器主要運行Linux操作系統。因為"IP Tunneling"正成為各個操作系統的標准協議,所以VS/TUN也會適用運行其它操作系統的後端伺服器。
◆Virtual Server via Direct Routing
同VS/TUN 一樣,VS/DRLVS主機只處理客戶到伺服器端的連接,響應資料可以直接從獨立的網路路由返回給客戶。這可以極大地提高LVS集群系統的伸縮性。同 VS/TUN相比,這種方法沒有IP隧道的開銷,但是要求負載平衡LVS主機與實際伺服器都有一塊網卡連在同一物理網段上,伺服器網路設備或者設備別名不作 ARP 響應。

四種分配方法(Load-balancing Methods)

不同的分配方法建構LVS主機成四種不同的排程
負載平衡排程是以連接為單位的。在HTTP協議(nowait)中,每個對象從WEB伺服器上獲取都需要建立一個TCP連接,同一用戶的不同請求會被分配到不同的伺服器上,所以這種連接的分配完全避免了用戶連結的突發性引起的負載不平衡。目前有以下4種排程演算法:
輪流排程 Round-Robin Scheling (RRS)
輪流排程演算法是假設所有伺服器處理性能均相同,依次將請求分配不同的伺服器,演算法簡單,但不適用於伺服器組中處理性能不一致的情況。
加權輪流排程 Weighted Round-Robin Scheling (WRRS)
為此使用加權輪流排程演算法,用相應的加權值表示伺服器的處理性能,將請求數目按加權值的比例分配到各伺服器。加權值高的伺服器先收到連接,加權值高的伺服器比加權值低的伺服器處理更多的連接,相同權值的伺服器處理相同數目的連接數。
最小連結數排程 Least-Connection Scheling (LCS)
最小連結數排程是需要記錄各個伺服器已建立TCP連接的數目,把新的連接請求發送當前連接數最小的伺服器。當各個伺服器有相同的處理性能時,最小連結數排程能把負載變化大的請求平均分布到各個伺服器上,所有處理時間比較長的請求不可能被發送到同一台伺服器上。
加權最小連接數排程 Weighted Least-Connection Scheling (WLCS)
但是,當各個伺服器的處理能力不同時,該演算法並不理想,因為TCP連接處理請求後會進入TIME_WAIT狀態,TCP的TIME_WAIT 一般為2分鍾,此時連接還佔用伺服器的資源,所以會出現這樣情形,性能高的伺服器已處理所收到的連接,連接處於TIME_WAIT狀態,而性能低的伺服器既要忙於處理所收到的連接,還要收到新的連接請求。加權最小連接分配是最小連接分配的超集,各個伺服器用相應的權值表示其處理性能。假設每台伺服器的權值為Wi(i=1..n),TCP連接數目為 Ti(i=1..n),依次選Ti/Wi為最小者的伺服器為下一個分配到服務的伺服器。
四種分配方法(Load-balancing Methods)
Round robin (RRS)
將工作平均的分配到伺服器 (用於實際服務主機性能一致)
Least-connections (LCS)
向較少連接的伺服器分配較多的工作(IPVS 表存儲了所有的活動的連接。用於實際服務主機性能一致。)
Weighted round robin (WRRS)
向較大容量的伺服器分配較多的工作。可以根據負載信息動態的向上或向下調整。 (用於實際服務主機性能不一致時)
Weighted least-connections (WLC)
考慮它們的容量向較少連接的伺服器分配較多的工作。容量通過用戶指定的砝碼來說明,可以根據裝載信息動態的向上或向下調整。(用於實際服務主機性能不一致時)

③ 如何使用LVS構架負載均衡Linux集群系統

集群和負載均衡的區別如下:1、集群(Cluster)
所謂集群是指一組獨立的計算機系統構成的一個松耦合的多處理器系統,它們之間通過網路實現進程間的通信?應用程序可以通過網路共享內存進行消息傳送,實現分布式計算機?
2、負載均衡(Load Balance)
網路的負載均衡是一種動態均衡技術,通過一些工具實時地分析數據包,掌握網路中的數據流量狀況,把任務合理均衡地分配出去?這種技術基於現有網路結構,提供了一種擴展伺服器帶寬和增加伺服器吞吐量的廉價有效的方法,加強了網路數據處理能力,提高了網路的靈活性和可用性?
3、特點
(1)高可靠性(HA)?利用集群管理軟體,當主伺服器故障時,備份伺服器能夠自動接管主伺服器的工作,並及時切換過去,以實現對用戶的不間斷服務?
(2)高性能計算(HP)?即充分利用集群中的每一台計算機的資源,實現復雜運算的並行處理,通常用於科學計算領域,比如基因分析?化學分析等?
(3)負載平衡?即把負載壓力根據某種演算法合理分配到集群中的每一台計算機上,以減輕主伺服器的壓力,降低對主伺服器的硬體和軟體要求?
LVS系統結構與特點
1. Linux Virtual Server:簡稱LVS?是由中國一個Linux程序員章文嵩博士發起和領導的,基於Linux系統的伺服器集群解決方案,其實現目標是創建一個具有良好的擴展性?高可靠性?高性能和高可用性的體系?許多商業的集群產品,比如RedHat的Piranha? Turbo Linux公司的Turbo Cluster等,都是基於LVS的核心代碼的?
2. 體系結構:使用LVS架設的伺服器集群系統從體系結構上看是透明的,最終用戶只感覺到一個虛擬伺服器?物理伺服器之間可以通過高速的 LAN或分布在各地的WAN相連?最前端是負載均衡器,它負責將各種服務請求分發給後面的物理伺服器,讓整個集群表現得像一個服務於同一IP地址的虛擬伺服器?
3. LVS的三種模式工作原理和優缺點: Linux Virtual Server主要是在負載均衡器上實現的,負載均衡器是一台加了 LVS Patch的2.2.x版內核的Linux系統?LVS Patch可以通過重新編譯內核的方法加入內核,也可以當作一個動態的模塊插入現在的內核中?

④ 大家企業中lvs都是用什麼調度演算法

看原理,適用什麼場合吧。畢竟調度演算法有10種之多。一般是rr/wrr/wlc/lc什麼的。

⑤ lvs 和 keepalived的有什麼區別

1、特點不同:lvs基於4層的網路協議的,抗負載能力強,對於伺服器的硬體要求除了網卡外,其他沒有太多要求。keepalived主要的工作是提供lvs控制器的一個冗餘,並且對real伺服器做健康檢查,發現不健康的real伺服器,從lvs集群中剔除,real伺服器只負責提供服務。

2、性質不同:LVS是一個開源的軟體,可以實現LINUX平台下的簡單負載均衡。LVS是Linux Virtual Server的縮寫,意思是Linux虛擬伺服器。keepalived是一個類似於layer3, 4 & 5交換機制的軟體。

3、作用不同:Keepalived主要用作RealServer的健康狀態檢查以及LoadBalance主機和BackUP主機之間failover的實現。LVS的作用是在網上能找到一些相關技術資源。

(5)lvs演算法擴展閱讀:

注意事項:

在LVS方案中,虛擬ip地址與普通網路介面大大不同,這點需要特別注意。虛擬ip地址的廣播地址是lvs本身,子網掩碼是255.255.255.255,因為有若干機器要使用同一個ip地址,用本身做廣播地址和把子網掩碼設成4個255就不會造成ip地址沖突了,否則lvs將不能正常轉發訪問請求。

假如兩台VS之間使用的互備關系http://www.hnjcjx.net,那麼當一台VS接管LVS服務時,可能會網路不通,這時因為路由器的MAC緩存表裡關於vip這個地址的MAC地 址還是被替換的VS的MAC。

⑥ LVS 負載均衡是如何計算活動連接數 ActiveConn 的

primary = aaa.bbb.ccc.dd2
service = lvs
backup_active = 1
backup = aaa.bbb.ccc.dd3
heartbeat = 1
heartbeat_port = 539
keepalive = 20
deadtime = 30
network = direct
debug_level = NONE
virtual server1 {
active = 1
address = aaa.bbb.ccc.dd1 eth0:1
load_monitor = none
timeout = 40
reentry = 60
protocol = tcp
port = 80
send = "GET / HTTP/1.0\r\n\r\n"
expect = "HTTP"
use_regex = 0
scheler = wlc
server Real2 {
address = 192.168.100.233
active = 1
weight = 1
}
server Real3 {
address = 192.168.100.229
active = 1
weight = 4
}
server Real4 {
address = 192.168.100.230
active = 1
weight = 4
}
server Real5 {
address = 192.168.100.228
active = 1
weight = 4
}
}

⑦ 求助,關於v2lvs和lvs驗證問題

用單機測試是有這種情況(負載均衡的演算法傾向於一個客戶端IP定向到一個後端伺服器,以保持會話連貫性),如果用兩三台機器去測試也許就不一樣。

⑧ keepalived+lvs怎麼進行測試

呵呵,這個問題也困擾我一陣子,今天上午查了很多資料才搞清楚:1. ipvsadm(LVS)有負載均衡機制,目前支持8中均衡演算法。2. keepalived除了健康檢查以外,也具備負載均衡功能。現在他的健康檢查功能用的比較多,其負載均衡能力被大部分人忽略了。3. lvs+keepalived這種框架下,完全可以使用keepalived來均衡負載(ipvsadm這個組件也需要裝上,只是為了便於管理集群)。

⑨ 如何實現使用LVS

LVS的十種調度演算法

四種靜態演算法,不考慮後端伺服器實際負載情況:
1、RR
根據規則依次論調,不考慮RS的性能。輪到誰就轉發給誰。
2、WRR
加權輪詢,加入了weight(權重),可以根據RS的性能為其設置權重值,權重越大功能越強,但是不能發硬當前的伺服器的運行的情況。
3、DH
目標地址hash,適用於前段是一個drector後端是幾個緩存伺服器,當客戶端第一次訪問到的是RS1的時候,DH這種演算法保證,在客戶端刷新後還是訪問的是RS1。
4、SH
源地址hash,用於保證響應的報文和請求的報文是同一個路徑。
六種動態演算法,考慮後端伺服器當前負載後再進行分配:
1、LC
least connection,當一個用戶請求過來的時候,就計算下哪台RS的鏈接誰最小,那麼這台RS就獲得了下次響應客戶端請求的機會,計算的方法Overhead=active*256+inactive,如果兩者的結果是相同的則從LVS中的規則依次往下選擇RS。這種演算法也是不考慮伺服器的性能的。
2、WLC
這個就是加了權重的LC,考慮了RS的性能,即是性能好的就給的權重值大一些,不好的給的權重值小一些。缺點就是如果Overhead相同,則會按規則表中的順序,由上而下選擇RS,Overhead=(active*256+inactive)/weight

3、SED
就是對WLC的情況的補充,Overhead=(active+1)*256/weight,加一,就是為了讓其能夠比較出大小。
4、NQ
never queue 基本和SED相同,避免了SED當中的性能差的伺服器長時間被空閑的弊端,它是第一個請求給性能好的伺服器,第二個請求一定是給的空閑伺服器不論它的性能的好與壞。以後還是會把請求給性能好的伺服器
5、LBLC
它就是動態DH和LC的組合,適用於cache群,對於從來沒有來過的那些新的請求會分給當前連接數較少的那台伺服器。
6、LBLCR
帶有復制功能的LBLC,它的適用場景這里舉例說明一下,比如說現在又RS1和RS2,第一次訪問RS1的5個請求第二次又來了,理所應到Director將會將其交給RS1,而此時在RS2是非常閑的,所以此時最好的處理方法就是可以將後來的這5個請求分別交給RS1和RS2,所以此時就需要把客戶端第一次請求的資源復制下來。

熱點內容
怎麼讀取伺服器地址文件java 發布:2024-10-05 05:12:21 瀏覽:75
獲取文件名java 發布:2024-10-05 05:12:12 瀏覽:937
為什麼qq找回密碼沒有密保 發布:2024-10-05 05:11:28 瀏覽:918
查詢存在的資料庫 發布:2024-10-05 05:03:04 瀏覽:630
安卓版微信如何找回聊天記錄 發布:2024-10-05 05:03:03 瀏覽:448
手機吃雞國際服要什麼配置 發布:2024-10-05 04:59:11 瀏覽:202
沙盒工廠怎麼看伺服器ip 發布:2024-10-05 04:53:13 瀏覽:83
psvftp工具下載 發布:2024-10-05 04:08:14 瀏覽:352
怎麼設qq空間密碼 發布:2024-10-05 04:00:51 瀏覽:439
積分兌換系統源碼 發布:2024-10-05 03:57:45 瀏覽:690