資源描述:
《lvs集群中的ip負(fù)載均衡技術(shù)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、LVS集群中的IP負(fù)載均衡技術(shù) 本文在分析服務(wù)器集群實(shí)現(xiàn)虛擬網(wǎng)絡(luò)服務(wù)的相關(guān)技術(shù)上,詳細(xì)描述了LVS集群中實(shí)現(xiàn)的三種IP負(fù)載均衡技術(shù)(VS/NAT、VS/TUN和VS/DR)的工作原理,以及它們的優(yōu)缺點(diǎn)。 1.前言 在前面文章中,講述了可伸縮網(wǎng)絡(luò)服務(wù)的幾種結(jié)構(gòu),它們都需要一個(gè)前端的負(fù)載調(diào)度器(或者多個(gè)進(jìn)行主從備份)。我們先分析實(shí)現(xiàn)虛擬網(wǎng)絡(luò)服務(wù)的主要技術(shù),指出IP負(fù)載均衡技術(shù)是在負(fù)載調(diào)度器的實(shí)現(xiàn)技術(shù)中效率最高的。在已有的IP負(fù)載均衡技術(shù)中,主要有通過網(wǎng)絡(luò)地址轉(zhuǎn)換(NetainNameSystem)的原型系統(tǒng)[1,2]。它的結(jié)構(gòu)和工作流程如下圖所示: 圖1:基于RR-
2、DNS的可伸縮L文檔。這組服務(wù)器擁有相同的域名(如.ncsa.uiuc.edu),當(dāng)用戶按照這個(gè)域名訪問時(shí),RR-DNS服務(wù)器會(huì)把域名輪流解析到這組服務(wù)器的不同IP地址,從而將訪問負(fù)載分到各臺(tái)服務(wù)器上?! ∵@種方法帶來(lái)幾個(gè)問題。第一,域名服務(wù)器是一個(gè)分布式系統(tǒng),是按照一定的層次結(jié)構(gòu)組織的。當(dāng)用戶就域名解析請(qǐng)求提交給本地的域名服務(wù)器,它會(huì)因不能直接解析而向上一級(jí)域名服務(wù)器提交,上一級(jí)域名服務(wù)器再依次向上提交,直到RR-DNS域名服器把這個(gè)域名解析到其中一臺(tái)服務(wù)器的IP地址??梢姡瑥挠脩舻絉R-DNS間存在多臺(tái)域名服器,而它們都會(huì)緩沖已解析的名字到IP地址的映射,這會(huì)導(dǎo)致該域名
3、服器組下所有用戶都會(huì)訪問同一eToLive)值,過了這一段時(shí)間,域名服務(wù)器將這個(gè)映射從緩沖中淘汰。當(dāng)用戶請(qǐng)求,它會(huì)再向上一級(jí)域名服器提交請(qǐng)求并進(jìn)行重新影射。這就涉及到如何設(shè)置這個(gè)TTL值,若這個(gè)值太大,在這個(gè)TTL期間,很多請(qǐng)求會(huì)被映射到同一臺(tái)WEB服務(wù)器上,同樣會(huì)導(dǎo)致嚴(yán)重的負(fù)載不平衡。若這個(gè)值太小,例如是0,會(huì)導(dǎo)致本地域名服務(wù)器頻繁地向RR-DNS提交請(qǐng)求,增加了域名解析的網(wǎng)絡(luò)流量,同樣會(huì)使RR-DNS服務(wù)器成為系統(tǒng)中一個(gè)新的瓶頸?! 〉诙?,用戶機(jī)器會(huì)緩沖從名字到IP地址的映射,而不受TTL值的影響,用戶的訪問請(qǐng)求會(huì)被送到同一臺(tái)WEB服務(wù)器上。由于用戶訪問請(qǐng)求的突發(fā)性和訪
4、問方式不同,例如有的人訪問一下就離開了,而有的人訪問可長(zhǎng)達(dá)幾個(gè)小時(shí),所以各臺(tái)服務(wù)器間的負(fù)載仍存在傾斜(SkeartClient[3]是Berkeley做的另一種基于客戶端的解決方法。服務(wù)提供一個(gè)JavaApplet在客戶方瀏覽器中運(yùn)行,Applet向各個(gè)服務(wù)器發(fā)請(qǐng)求來(lái)收集服務(wù)器的負(fù)載等信息,再根據(jù)這些信息將客戶的請(qǐng)求發(fā)到相應(yīng)的服務(wù)器。高可用性也在Applet中實(shí)現(xiàn),當(dāng)服務(wù)器沒有響應(yīng)時(shí),Applet向另一個(gè)服務(wù)器轉(zhuǎn)發(fā)請(qǐng)求。這種方法的透明性不好,Applet向各服務(wù)器查詢來(lái)收集信息會(huì)增加額外的網(wǎng)絡(luò)流量,不具有普遍的適用性?! ?.3.基于應(yīng)用層負(fù)載均衡調(diào)度的解決方法 多臺(tái)服務(wù)
5、器通過高速的互聯(lián)網(wǎng)絡(luò)連接成一個(gè)集群系統(tǒng),在前端有一個(gè)基于應(yīng)用層的負(fù)載調(diào)度器。當(dāng)用戶訪問請(qǐng)求到達(dá)調(diào)度器時(shí),請(qǐng)求會(huì)提交給作負(fù)載均衡調(diào)度的應(yīng)用程序,分析請(qǐng)求,根據(jù)各個(gè)服務(wù)器的負(fù)載情況,選出一臺(tái)服務(wù)器,重寫請(qǐng)求并向選出的服務(wù)器訪問,取得結(jié)果后,再返回給用戶。12345下一頁(yè)....,。 應(yīng)用層負(fù)載均衡調(diào)度的典型代表有Zeus負(fù)載調(diào)度器[4]、pIDPlug、iChatPager、Quake和Diablo?! ∠旅?,舉個(gè)例子來(lái)進(jìn)一步說(shuō)明VS/NAT,如圖3所示: 圖3:VS/NAT的例子 VS/NAT的配置如下表所示,所有到IP地址為202.103.106.5和端口為80的流量
6、都被負(fù)載均衡地調(diào)度的真實(shí)服務(wù)器172.16.0.2:80和172.16.0.3:8000上。目標(biāo)地址為202.103.106.5:21的報(bào)文被轉(zhuǎn)移到172.16.0.3:21上。而到其他端口的報(bào)文將被拒絕?! rotocol VirtualIPAddress Port RealIPAddress Port e、RealAudio、RealVideo、Vxtreme/Vosiac、VDOLive、VIVOActive、TrueSpeech、RSTP、PPTP、StreamIDPlug、iChatPager、Quake和Diablo。 下面,舉個(gè)例子來(lái)進(jìn)一步說(shuō)明VS/NAT
7、,如圖3所示: 圖3:VS/NAT的例子 VS/NAT的配置如下表所示,所有到IP地址為202.103.106.5和端口為80的流量都被負(fù)載均衡地調(diào)度的真實(shí)服務(wù)器172.16.0.2:80和172.16.0.3:8000上。目標(biāo)地址為202.103.106.5:21的報(bào)文被轉(zhuǎn)移到172.16.0.3:21上。而到其他端口的報(bào)文將被拒絕?! rotocol VirtualIPAddress Port RealIPAddress Port Weight TCP 202.103.106.5 80 172.16.