系統(tǒng)之家 - 系統(tǒng)光盤下載網(wǎng)站!

當(dāng)前位置:系統(tǒng)之家 > 系統(tǒng)教程 > LVS負(fù)載均衡方式

LVS的三種負(fù)載均衡方式有哪些區(qū)別?

時間:2014-12-16 18:07:08 作者:qipeng 來源:系統(tǒng)之家 1. 掃描二維碼隨時看資訊 2. 請使用手機(jī)瀏覽器訪問: https://m.xitongzhijia.net/xtjc/20141216/32768.html 手機(jī)查看 評論

  LVS集群采用三種ip負(fù)載均衡技術(shù),即VS/NAT、VS/TUN和VS/DR技術(shù),那么這三種負(fù)載均衡方式之間有哪些區(qū)別呢?下面小編就給大家介紹下LVS的三種負(fù)載均衡方式的區(qū)別比較。

  1、LVS的定義?

  LVS是Linux Virtual Server的簡寫,意即Linux虛擬服務(wù)器,是一個虛擬的服務(wù)器集群系統(tǒng)。其實(shí)它是一種集群(Cluster)技術(shù),采用IP負(fù)載均衡技術(shù)和基于內(nèi)容請求分發(fā)技術(shù)。調(diào)度器具有很好的吞吐率,將請求均衡地轉(zhuǎn)移到不同的服務(wù)器上執(zhí)行,且調(diào)度器自動屏蔽掉服務(wù)器的故障,從而將一組服務(wù)器構(gòu)成一個高性能的、高可用的虛擬服務(wù)器。整個服務(wù)器集群的結(jié)構(gòu)對客戶是透明的,而且無需修改客戶端和服務(wù)器端的程序。本項(xiàng)目在1998年5月由章文嵩博士成立,是中國國內(nèi)最早出現(xiàn)的自由軟件項(xiàng)目之一。

  為此,在設(shè)計(jì)時需要考慮系統(tǒng)的透明性、可伸縮性、高可用性和易管理性。一般來說,LVS集群采用三層結(jié)構(gòu),其體系結(jié)構(gòu)如圖所示:

   LVS的三種負(fù)載均衡方式有哪些區(qū)別?

  LVS集群的體系結(jié)構(gòu)

  2、LVS主要組成部分為:

  負(fù)載調(diào)度器(load balancer/ Director),它是整個集群對外面的前端機(jī),負(fù)責(zé)將客戶的請求發(fā)送到一組服務(wù)器上執(zhí)行,而客戶認(rèn)為服務(wù)是來自一個IP地址(我們可稱之為虛擬IP地址)上的。

  服務(wù)器池(server pool/ Realserver),是一組真正執(zhí)行客戶請求的服務(wù)器,執(zhí)行的服務(wù)一般有WEB、MAIL、FTP和DNS等。

  共享存儲(shared storage),它為服務(wù)器池提供一個共享的存儲區(qū),這樣很容易使得服務(wù)器池?fù)碛邢嗤膬?nèi)容,提供相同的服務(wù)。

  3、LVS負(fù)載均衡方式:

  Virtual Server via Network Address Translation NAT(VS/NAT)

  VS/NAT是一種最簡單的方式,所有的RealServer只需要將自己的網(wǎng)關(guān)指向Director即可。客戶端可以是任意操作系統(tǒng),但此方式下,一個Director能夠帶動的RealServer比較有限。在VS/NAT的方式下,Director也可以兼為一臺RealServer。VS/NAT的體系結(jié)構(gòu)如圖所示。

   LVS的三種負(fù)載均衡方式有哪些區(qū)別?

  VS/NAT的體系結(jié)構(gòu)

  Virtual Server via IP Tunneling(VS/TUN)

  IP隧道(IP tunneling)是將一個IP報(bào)文封裝在另一個IP報(bào)文的技術(shù),這可以使得目標(biāo)為一個IP地址的數(shù)據(jù)報(bào)文能被封裝和轉(zhuǎn)發(fā)到另一個IP地址。IP隧道技術(shù)亦稱為IP封裝技術(shù)(IP encapsulation)。IP隧道主要用于移動主機(jī)和虛擬私有網(wǎng)絡(luò)(Virtual Private Network),在其中隧道都是靜態(tài)建立的,隧道一端有一個IP地址,另一端也有唯一的IP地址。它的連接調(diào)度和管理與VS/NAT中的一樣,只是它的報(bào)文轉(zhuǎn)發(fā)方法不同。調(diào)度器根據(jù)各個服務(wù)器的負(fù)載情況,動態(tài)地選擇一臺服務(wù)器,將請求報(bào)文封裝在另一個IP報(bào)文中,再將封裝后的IP報(bào)文轉(zhuǎn)發(fā)給選出的服務(wù)器;服務(wù)器收到報(bào)文后,先將報(bào)文解封獲得原來目標(biāo)地址為 VIP 的報(bào)文,服務(wù)器發(fā)現(xiàn)VIP地址被配置在本地的IP隧道設(shè)備上,所以就處理這個請求,然后根據(jù)路由表將響應(yīng)報(bào)文直接返回給客戶。

   LVS的三種負(fù)載均衡方式有哪些區(qū)別?

  VS/TUN的體系結(jié)構(gòu)

  VS/TUN的工作流程:

   LVS的三種負(fù)載均衡方式有哪些區(qū)別?

  Virtual Server via Direct Routing(VS/DR)

  VS/DR方式是通過改寫請求報(bào)文中的MAC地址部分來實(shí)現(xiàn)的。Director和RealServer必需在物理上有一個網(wǎng)卡通過不間斷的局域網(wǎng)相連。 RealServer上綁定的VIP配置在各自Non-ARP的網(wǎng)絡(luò)設(shè)備上(如lo或tunl),Director的VIP地址對外可見,而RealServer的VIP對外是不可見的。RealServer的地址即可以是內(nèi)部地址,也可以是真實(shí)地址。

   LVS的三種負(fù)載均衡方式有哪些區(qū)別?

  VS/DR的體系結(jié)構(gòu)

  VS/DR的工作流程

  VS/DR的工作流程如圖所示:它的連接調(diào)度和管理與VS/NAT和VS/TUN中的一樣,它的報(bào)文轉(zhuǎn)發(fā)方法又有不同,將報(bào)文直接路由給目標(biāo)服務(wù)器。在VS/DR中,調(diào)度器根據(jù)各個服務(wù)器的負(fù)載情況,動態(tài)地選擇一臺服務(wù)器,不修改也不封裝IP報(bào)文,而是將數(shù)據(jù)幀的MAC地址改為選出服務(wù)器的MAC地址,再將修改后的數(shù)據(jù)幀在與服務(wù)器組的局域網(wǎng)上發(fā)送。因?yàn)閿?shù)據(jù)幀的MAC地址是選出的服務(wù)器,所以服務(wù)器肯定可以收到這個數(shù)據(jù)幀,從中可以獲得該IP報(bào)文。當(dāng)服務(wù)器發(fā)現(xiàn)報(bào)文的目標(biāo)地址VIP是在本地的網(wǎng)絡(luò)設(shè)備上,服務(wù)器處理這個報(bào)文,然后根據(jù)路由表將響應(yīng)報(bào)文直接返回給客戶。

   LVS的三種負(fù)載均衡方式有哪些區(qū)別?

  VS/DR的工作流程

  4、三種負(fù)載均衡方式比較:

  Virtual Server via NAT

  VS/NAT 的優(yōu)點(diǎn)是服務(wù)器可以運(yùn)行任何支持TCP/IP的操作系統(tǒng),它只需要一個IP地址配置在調(diào)度器上,服務(wù)器組可以用私有的IP地址。缺點(diǎn)是它的伸縮能力有限,當(dāng)服務(wù)器結(jié)點(diǎn)數(shù)目升到20時,調(diào)度器本身有可能成為系統(tǒng)的新瓶頸,因?yàn)樵赩S/NAT中請求和響應(yīng)報(bào)文都需要通過負(fù)載調(diào)度器。我們在Pentium166 處理器的主機(jī)上測得重寫報(bào)文的平均延時為60us,性能更高的處理器上延時會短一些。假設(shè)TCP報(bào)文的平均長度為536 Bytes,則調(diào)度器的最大吞吐量為8.93 MBytes/s. 我們再假設(shè)每臺服務(wù)器的吞吐量為800KBytes/s,這樣一個調(diào)度器可以帶動10臺服務(wù)器。(注:這是很早以前測得的數(shù)據(jù))

  基于 VS/NAT的的集群系統(tǒng)可以適合許多服務(wù)器的性能要求。如果負(fù)載調(diào)度器成為系統(tǒng)新的瓶頸,可以有三種方法解決這個問題:混合方法、VS/TUN和 VS/DR。在DNS混合集群系統(tǒng)中,有若干個VS/NAT負(fù)調(diào)度器,每個負(fù)載調(diào)度器帶自己的服務(wù)器集群,同時這些負(fù)載調(diào)度器又通過RR-DNS組成簡單的域名。

  但VS/TUN和VS/DR是提高系統(tǒng)吞吐量的更好方法。

  對于那些將IP地址或者端口號在報(bào)文數(shù)據(jù)中傳送的網(wǎng)絡(luò)服務(wù),需要編寫相應(yīng)的應(yīng)用模塊來轉(zhuǎn)換報(bào)文數(shù)據(jù)中的IP地址或者端口號。這會帶來實(shí)現(xiàn)的工作量,同時應(yīng)用模塊檢查報(bào)文的開銷會降低系統(tǒng)的吞吐率。

  Virtual Server via IP Tunneling

  在VS/TUN 的集群系統(tǒng)中,負(fù)載調(diào)度器只將請求調(diào)度到不同的后端服務(wù)器,后端服務(wù)器將應(yīng)答的數(shù)據(jù)直接返回給用戶。這樣,負(fù)載調(diào)度器就可以處理大量的請求,它甚至可以調(diào)度百臺以上的服務(wù)器(同等規(guī)模的服務(wù)器),而它不會成為系統(tǒng)的瓶頸。即使負(fù)載調(diào)度器只有100Mbps的全雙工網(wǎng)卡,整個系統(tǒng)的最大吞吐量可超過 1Gbps。所以,VS/TUN可以極大地增加負(fù)載調(diào)度器調(diào)度的服務(wù)器數(shù)量。VS/TUN調(diào)度器可以調(diào)度上百臺服務(wù)器,而它本身不會成為系統(tǒng)的瓶頸,可以用來構(gòu)建高性能的超級服務(wù)器。VS/TUN技術(shù)對服務(wù)器有要求,即所有的服務(wù)器必須支持“IP Tunneling”或者“IP Encapsulation”協(xié)議。目前,VS/TUN的后端服務(wù)器主要運(yùn)行Linux操作系統(tǒng),我們沒對其他操作系統(tǒng)進(jìn)行測試。因?yàn)?ldquo;IP Tunneling”正成為各個操作系統(tǒng)的標(biāo)準(zhǔn)協(xié)議,所以VS/TUN應(yīng)該會適用運(yùn)行其他操作系統(tǒng)的后端服務(wù)器。

  Virtual Server via Direct Routing

  跟VS/TUN方法一樣,VS/DR調(diào)度器只處理客戶到服務(wù)器端的連接,響應(yīng)數(shù)據(jù)可以直接從獨(dú)立的網(wǎng)絡(luò)路由返回給客戶。這可以極大地提高LVS集群系統(tǒng)的伸縮性。跟VS/TUN相比,這種方法沒有IP隧道的開銷,但是要求負(fù)載調(diào)度器與實(shí)際服務(wù)器都有一塊網(wǎng)卡連在同一物理網(wǎng)段上,服務(wù)器網(wǎng)絡(luò)設(shè)備(或者設(shè)備別名)不作ARP響應(yīng),或者能將報(bào)文重定向(Redirect)到本地的Socket端口上。

  三種LVS負(fù)載均衡技術(shù)的優(yōu)缺點(diǎn)歸納以下表:

   LVS的三種負(fù)載均衡方式有哪些區(qū)別?

  注:以上三種方法所能支持最大服務(wù)器數(shù)目的估計(jì)是假設(shè)調(diào)度器使用100M網(wǎng)卡,調(diào)度器的硬件配置與后端服務(wù)器的硬件配置相同,而且是對一般Web服務(wù)。使 用更高的硬件配置(如千兆網(wǎng)卡和更快的處理器)作為調(diào)度器,調(diào)度器所能調(diào)度的服務(wù)器數(shù)量會相應(yīng)增加。當(dāng)應(yīng)用不同時,服務(wù)器的數(shù)目也會相應(yīng)地改變。所以,以上數(shù)據(jù)估計(jì)主要是為三種方法的伸縮性進(jìn)行量化比較。

  5、負(fù)載均衡調(diào)度算法

  1)最少的連接方式(Least Connection):傳遞新的連接給那些進(jìn)行最少連接處理的服務(wù)器。當(dāng)其中某個服務(wù)器發(fā)生第二到第7 層的故障,BIG-IP 就把其從服務(wù)器隊(duì)列中拿出,不參加下一次的用戶請求的分配, 直到其恢復(fù)正常。

  2)最快模式(Fastest):傳遞連接給那些響應(yīng)最快的服務(wù)器。當(dāng)其中某個服務(wù)器發(fā)生第二到第7 層的故障,BIG-IP 就把其從服務(wù)器隊(duì)列中拿出,不參加下一次的用戶請求的分配,直到其恢復(fù)正常。

  3)觀察模式(Observed):連接數(shù)目和響應(yīng)時間以這兩項(xiàng)的最佳平衡為依據(jù)為新的請求選擇服務(wù)器。當(dāng)其中某個服務(wù)器發(fā)生第二到第7 層的故障,BIG-IP就把其從服務(wù)器隊(duì)列中拿出,不參加下一次的用戶請求的分配,直到其恢復(fù)正常。

  4)預(yù)測模式(Predictive):BIG-IP利用收集到的服務(wù)器當(dāng)前的性能指標(biāo),進(jìn)行預(yù)測分析,選擇一臺服務(wù)器在下一個時間片內(nèi),其性能將達(dá)到最佳的服務(wù)器相應(yīng)用戶的請求。(被BIG-IP 進(jìn)行檢測)

  5)動態(tài)性能分配(Dynamic Ratio-APM):BIG-IP 收集到的應(yīng)用程序和應(yīng)用服務(wù)器的各項(xiàng)性能參數(shù),動態(tài)調(diào)整流量分配。

  6)動態(tài)服務(wù)器補(bǔ)充(Dynamic Server Act.):當(dāng)主服務(wù)器群中因故障導(dǎo)致數(shù)量減少時,動態(tài)地將備份服務(wù)器補(bǔ)充至主服務(wù)器群。

  7)服務(wù)質(zhì)量(QoS):按不同的優(yōu)先級對數(shù)據(jù)流進(jìn)行分配。

  8)服務(wù)類型(ToS): 按不同的服務(wù)類型(在Type of Field中標(biāo)識)負(fù)載均衡對數(shù)據(jù)流進(jìn)行分配。

  9)規(guī)則模式:針對不同的數(shù)據(jù)流設(shè)置導(dǎo)向規(guī)則,用戶可自行。

  上面就是LVS的三種負(fù)載均衡方式的區(qū)別介紹了,本文主要是對其伸縮性進(jìn)行量化比較,都有其各自的確定,通過本文的閱讀,相信你已對LVS的負(fù)載均衡方式有了進(jìn)一步的了解。

發(fā)表評論

0

沒有更多評論了

評論就這些咯,讓大家也知道你的獨(dú)特見解

立即評論

以上留言僅代表用戶個人觀點(diǎn),不代表系統(tǒng)之家立場

其他版本軟件

熱門教程

人氣教程排行

Linux系統(tǒng)推薦

官方交流群 軟件收錄