lvs負載均衡的機制優勢和配置方式的彙總

前面我們介紹了相關的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 Scheduling (RRS)

輪流排程算法是假設所有服務器處理性能均相同,依次將請求分配不同的服務器,算法簡單,但不適用於服務器組中處理性能不一致的情況。

加權輪流排程 Weighted Round-Robin Scheduling (WRRS)

爲此使用加權輪流排程算法,用相應的加權值表示服務器的處理性能,將請求數目按加權值的比例分配到各服務器。加權值高的服務器先收到連接,加權值高的服務器比加權值低的服務器處理更多的連接,相同權值的服務器處理相同數目的連接數。

最小連結數排程 Least-Connection Scheduling (LCS)

最小連結數排程是需要記錄各個服務器已建立TCP連接的數目,把新的連接請求發送當前連接數最小的服務器。當各個服務器有相同的處理性能時,最小連結數排程能把負載變化大的請求平均分佈到各個服務器上,所有處理時間比較長的請求不可能被髮送到同一臺服務器上。

加權最小連接數排程 Weighted Least-Connection Scheduling (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)

考慮它們的容量向較少連接的服務器分配較多的工作。容量通過用戶指定的砝碼來說明,可以根據裝載信息動態的向上或向下調整。(用於實際服務主機性能不一致時)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章