版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
老男孩linux運(yùn)維實(shí)戰(zhàn)培訓(xùn)-LVS的中文閱讀資料地址與內(nèi)容整老老男孩老師教學(xué)與培 思想:重思路、重方法、重實(shí)踐、重習(xí)慣、重總結(jié):本系列文檔為《老男孩Linux運(yùn)維實(shí)戰(zhàn)培訓(xùn)中心》內(nèi)部教學(xué)教案,只允許VIP學(xué)員人使用私 ,違者直接取消VIP學(xué)員資格。 嚴(yán)格遵守,謝謝大家 :: (適合全體朋友:文檔信息格式約定:LVS的中文閱讀資料地址整 Linux服務(wù)器集群系統(tǒng)(一 Linux服務(wù)器集群系統(tǒng)(二 Linux服務(wù)器集群系統(tǒng)(三 LVS集群中的IP負(fù)載均衡技 Linux服務(wù)器集群系統(tǒng)(四 1:19952000Internet主機(jī)數(shù)的變Internet的飛速發(fā)展給網(wǎng)絡(luò)帶寬和服務(wù)器帶來(lái)巨大的。從網(wǎng)絡(luò)技術(shù)的發(fā)展來(lái)看,網(wǎng)絡(luò)帶寬的增長(zhǎng)遠(yuǎn)高于處理器速度和內(nèi)存速度的增長(zhǎng),如100MEthernet、ATM、GigabitEthernet等不斷地涌現(xiàn),10GigabitEthernet即將就緒,在主干網(wǎng)上密集波分復(fù)用(DWDM)IP的主流技術(shù)[2,3],Lucent800GigabitWaveStar?OLSGigabitEthernet1Gb/s的原因是協(xié)IO的處理作更深入的研究。在高速網(wǎng)絡(luò)上,重新設(shè)比較熱門的站點(diǎn)會(huì)吸引前所未有的流量,例如根據(jù)Yahoo的發(fā)布,Yahoo已經(jīng)每天發(fā)送6.25億頁(yè)面[5]。一些網(wǎng)絡(luò)服務(wù)也收到的流量,如AmericanOnline的WebCache系統(tǒng)每天處理50.2億個(gè)用戶Web的次數(shù)式地增長(zhǎng)而重負(fù),不處理用戶的請(qǐng)求,導(dǎo)致用戶進(jìn)行大部分都需要提供每天24小時(shí)、每星期7天的服務(wù),對(duì)電子商務(wù)等如,根據(jù)Dell的發(fā)布[6],Dell現(xiàn)在每天在上的收入為一千四百萬(wàn),一個(gè)小時(shí)的服務(wù)中斷都會(huì)造成平均五十八萬(wàn)的損失。所以,這對(duì)CPUI/O處理能力。例如,HTTPS(SecureHTTP)取一個(gè)靜態(tài)頁(yè)面需要的處理性能比通過(guò)HTTP(Scalability(ailability247天可用的。(Manageabilityeffectiveness對(duì)稱多處理(SymmetricMulti-Processor,簡(jiǎn)稱SMP)是由多個(gè)對(duì)稱的處SMP的優(yōu)點(diǎn)是單一系統(tǒng)映像(SingleSystemImage),有共享的內(nèi)I/O,易編程。由于SMP的可擴(kuò)展能力有限,SMP服務(wù)器顯然不能滿足高可伸縮、高可用網(wǎng)SMP服務(wù)器是單一故障點(diǎn)(SinglePointofFailure),一性能/價(jià)格PCRISC服務(wù)器和標(biāo)準(zhǔn)網(wǎng)絡(luò)設(shè)備因?yàn)榇笠?guī)模數(shù)的增長(zhǎng)而接近線性增加,該系統(tǒng)的性能/PC服務(wù)器。所以,這種松耦合結(jié)構(gòu)比緊耦合的多處理器系統(tǒng)具有更好的性能/價(jià)格比當(dāng)然,用服務(wù)器集群系統(tǒng)實(shí)現(xiàn)可伸縮網(wǎng)絡(luò)服務(wù)也存在很多性的工作透明性性能高可用性可管理性況下,軟硬件模塊的插入能做到即插即用(Plug&y)。可編程性(ProgrLinuxVirtualServer項(xiàng)Linux內(nèi)核中實(shí)現(xiàn)了這些方法,將一組服布的廣域網(wǎng)相互連接,在它們的前端有一個(gè)負(fù)載調(diào)度器(LoadBalancer)。LinuxLinux虛擬服務(wù)器(LinuxVirtual圖2:虛擬服務(wù)器的結(jié)19985LinuxVirtualServer的自由軟件項(xiàng)目,進(jìn)行Linux服務(wù)器集群的開發(fā)工作。同時(shí),LinuxVirtualServer項(xiàng)目是國(guó)內(nèi)最早LinuxVirtualServerLinux操作系統(tǒng)實(shí)現(xiàn)一個(gè)(Reliability)和可管理性(Manageability)目前,LVSLinuxVirtualServerIPVSLayer-7KTCPVS和集群管理軟件。可以利用LVS框架實(shí)現(xiàn)高可伸縮的、高可用的Web、Cache、MailMedia等網(wǎng)絡(luò)服務(wù);在此基礎(chǔ)上,可以開發(fā)支持龐大用戶數(shù)的、高可圖3:Linux虛擬服務(wù)器框IP虛擬服務(wù)器軟件在調(diào)度器的實(shí)現(xiàn)技術(shù)中,IPIP負(fù)載均衡技術(shù)中有通過(guò)網(wǎng)絡(luò)地址轉(zhuǎn)換(NetworkAddressTranslation)將一組服務(wù)VS/NAT技術(shù)(VirtualServerviaNetworkAddressTranslation),大多數(shù)商品化的IP負(fù)載均衡調(diào)度器產(chǎn)品都是使用此方法,如Cisco的LocalDirector、F5的Big/IPAlteon的ACEDirectorVS/NAT的缺點(diǎn)和網(wǎng)絡(luò)服務(wù)的非IPVS/TUN(VirtualServerviaIPTunneling),和通過(guò)直接路由實(shí)現(xiàn)虛擬服務(wù)器的方VS/DR(VirtualServerviaDirectRouting),它們可以極大地提高系統(tǒng)的伸縮性。所以,IPVS軟件實(shí)現(xiàn)了這三種IP負(fù)載均衡技術(shù),它們的大致原理如下(在其他章節(jié)對(duì)其工作原理進(jìn)行詳細(xì)描述),VirtualServerviaNetworkAddressVirtualServerviaIP采用NAT技術(shù)時(shí),由于請(qǐng)求和響應(yīng)報(bào)必須經(jīng)過(guò)調(diào)度器地址重寫,當(dāng)IP隧道轉(zhuǎn)發(fā)至真實(shí)服務(wù)器,而真實(shí)服務(wù)器將應(yīng)答比請(qǐng)求報(bào)文大許多,采用VS/TUN技術(shù)后,集群系統(tǒng)的最大吞吐10倍。VirtualServerviaDirectVS/DRMAC地址,將請(qǐng)求發(fā)送到真實(shí)服務(wù)器,而VS/UN技術(shù)一樣,VS/R技PP與真實(shí)服務(wù)器都有一塊網(wǎng)卡連在同一物理網(wǎng)段上。輪叫(Round輪叫(WeightedRound最少(Least調(diào)度器通過(guò)"最少連接"最少(WeightedLeast (Locality-BasedLeastConnections) "調(diào)度算法是針對(duì)目標(biāo)IP地址的負(fù)載均衡,目前主要用于Cache集群系統(tǒng)。該算法根據(jù)請(qǐng)求的目標(biāo)IP地址找出該目帶的基于局部性最少(Locality-BasedLeastConnectionswithReplication)"帶的基于局部性最少"調(diào)度算法也是針對(duì)目標(biāo)IP地址的負(fù)載均從一個(gè)目標(biāo)IP地址到一組服務(wù)器的映射,而LBLC算法從一個(gè)IPIP地址找出IP地址對(duì)應(yīng)的服務(wù)器組,按"最小連接"原則從服務(wù)器組中選出一目標(biāo)地址散列(Destination"目標(biāo)地址散列"調(diào)度算法根據(jù)請(qǐng)求的目標(biāo)IP地址,作為散列鍵(Hash源地址散列(Source"源地址散列"IP地址,作為散列鍵(Hash內(nèi)核Layer-7交換機(jī)IPTCP報(bào)文頭地址,保證此連接的后繼報(bào)文被轉(zhuǎn)發(fā)到該服務(wù)器。這樣,IPVS無(wú)法檢查到請(qǐng)功能不一,有的提供HTML文檔,有的提供,有的提供CGI,這就需要基于內(nèi)容的調(diào)度(Content-BasedScheduling)。Layer-7交換方法,來(lái)避免用戶空間與空間的切換和內(nèi)存的開銷。在LinuxLayer-7KTCPVS(KernelTCPVirtualServer)。目前,KTCPVS已經(jīng)能對(duì)HTTP請(qǐng)求進(jìn)行一些研究[5]表明WEB流中存在局部性。Layer-7交換可以充分利用的更好的相似性,可進(jìn)一步提高單臺(tái)服務(wù)器的Cache。LVSLVS功IPVS內(nèi)部實(shí)現(xiàn)上,采用了高效的Hash函數(shù)和回收機(jī)制,能正確ICMP消息(有些商品化的系統(tǒng)反而不能)。虛持久的虛擬服務(wù)(如HTTP和HTTPS等需要該功能的支持),模服務(wù)(DenyofService),實(shí)現(xiàn)了三種防衛(wèi)策略。適用Unix(如BSD、SunSolaris、HPUnix等),Mac/OS和WindowsNT/2000等。負(fù)載調(diào)度器能夠支持絕大多數(shù)的TCP和UDP協(xié)議DNS,NTP,ICP,、音頻流協(xié)議性LVS服務(wù)器集群系統(tǒng)具有良好的伸縮性,可支持幾百萬(wàn)個(gè)并發(fā)連接。配1Gbits/s;如配置千兆網(wǎng)卡,則系統(tǒng)的最大吞吐量可接近可靠LVS服務(wù)器集群軟件已經(jīng)在很多大型的、關(guān)鍵性的站點(diǎn)得到很好的應(yīng)軟件LVS集群軟件是按GPL(GNUPublicLicense)證的自由軟證你的修改也是以GPL方式。LVS的應(yīng)用實(shí)例來(lái)說(shuō)明LVS的高性能和穩(wěn)定性。我們所知的一些大型LVS應(yīng)用實(shí)英國(guó)國(guó)家JANETCacheService()是為英國(guó)150Linux的門戶站點(diǎn)( )用LVS將很多臺(tái)VALinuxSMP服務(wù)器組成高性能的WEB服務(wù),已使用年。WEB、FTP、MailingListCVS等服務(wù),他們也使用LVS將負(fù)載以Realyer提供音頻服務(wù)而聞名的Real公 20,000 ) )從其6.1版起已包含LVS代碼,他們開發(fā)了一個(gè)LVS集群管理工具叫Piranha,用于控制LVS集群,VALinux( )向客戶提供基于LVS的服務(wù)器集群TurboLinux的"Linux集群產(chǎn)品"TurboCluster實(shí)際上是基Linux和中軟都提供基于LVS的集群解決方案,并在20009月召開的LinuxWorld2000上展示"Wetriedvirtuallyallofthecommercialloadbalancers,LVSbeatsthemallforreliability,cost,manageability,you-name-it."—JerryGlomphBlack,Director,Internet&TechnicalOperations,RealNetworks,SeattleWashington,USA "IcansaywithoutadoubtthatlvstoastsF5/BigIPsolutions,atleastinourrealworldimplementations.Iwouldn'ttradeagoodlvsboxforaCiscoLocalDirectoreither."—DrewStreib,InformationArchitect,VALinuxSystems, virtual-LVSLVS項(xiàng)目于1998年5月在上發(fā)布IPVS第一個(gè)版本源程序,一直得到了來(lái)自Internet的用戶和開發(fā)者的鼓勵(lì)和支持。應(yīng)該說(shuō),剛開始發(fā)布的程序是JulianAnastasovBugfixes和改進(jìn),JosephMackLVSHOWTO文檔;還感謝一些廠商贊助LVSIPVSAH(AuthenticationHeader)ESP(EncapsulatingSecurityPayload)等,這樣IPVS調(diào)度器將實(shí)現(xiàn)IPSec的服務(wù)器集群。LVSTCP粘合(TCPSplicing)TCP轉(zhuǎn)移(TCPHandoff)等方面,做一些嘗試性工作,進(jìn)一步改進(jìn)LVS集群中的應(yīng)用層調(diào)度。上用CommonLispC++的對(duì)象數(shù)據(jù)庫(kù)系統(tǒng),有些LVS如果你對(duì)LVS項(xiàng)目 , LinuxVritualServer項(xiàng)目的主 /),你可以獲得LVS源代碼和有關(guān)運(yùn)行軟件,及如果你在使用LVS的過(guò)程中遇到,請(qǐng)訂閱我們的郵件列表lvs-Linux服務(wù)器集群系統(tǒng)(二LVS集群的體系(wensong@)2002年4月本文主要介紹了LVS集群的體系結(jié)構(gòu)。先給出LVS集群的通用體系結(jié)構(gòu),并討論了其的設(shè)計(jì)原則和相應(yīng)的特點(diǎn);最后將LVS集群應(yīng)用于建立可伸縮的Web、Media、CacheMail引在過(guò)去的十幾年中,Internet從幾個(gè)研究機(jī)構(gòu)相連為信息共享的網(wǎng)絡(luò)發(fā)展成為L(zhǎng)VSWeb、Media、CacheMail等網(wǎng)絡(luò)服務(wù)。LVSLVSIP負(fù)載均衡技術(shù)和基于內(nèi)容請(qǐng)求分發(fā)技術(shù)。調(diào)度器具有很好的圖1:LVS集群的體系般來(lái)說(shuō),LVS集群采用三層結(jié)構(gòu),其體系結(jié)構(gòu)如圖1所示,三層主要組成部分balancerIP地址(我們可稱之為IP地址)上的。poolstorage,調(diào)度器是服務(wù)器集群系統(tǒng)的唯一點(diǎn)(SingleEntryPoint),它可以采用IPIP負(fù)載均衡技達(dá),也會(huì)被轉(zhuǎn)發(fā)到前面選出的服務(wù)器。在基于內(nèi)容請(qǐng)求分發(fā)技術(shù)中,服務(wù)器可以提供不同的服務(wù),當(dāng)客戶請(qǐng)求到達(dá)時(shí),調(diào)度器可根據(jù)請(qǐng)求的內(nèi)容選擇服務(wù)器執(zhí)行請(qǐng)求。因?yàn)樗械牟僮鞫际窃贚inux操作系統(tǒng)空間中將完成的,它調(diào)度開銷很小,所以它具有很高的吞吐率。文件系統(tǒng)的伸縮能力有限,一般來(lái)說(shuō),NFS/CIFS3~6個(gè)繁AFS[1]、GFS[2.3]、Coda[4]和Intermezzo[5]等。分布式文件系統(tǒng)可為(DistributedLockManager),它可能是分布式文件系統(tǒng)內(nèi)部提供的,也負(fù)載調(diào)度器、服務(wù)器池和共享系統(tǒng)通過(guò)高速網(wǎng)絡(luò)相連接,如100Mbps交換網(wǎng)絡(luò)、MyrinetGigabit模擴(kuò)大時(shí)互聯(lián)網(wǎng)絡(luò)成為整個(gè)系統(tǒng)的瓶頸。GraphicMonitor是為系統(tǒng)管理員提供整個(gè)集群系統(tǒng)的監(jiān)視器,它可以監(jiān)視系統(tǒng)的狀態(tài)。GraphicMonitor是基于瀏覽器的,所以無(wú)論管理員在本地還是異地都可以監(jiān)測(cè)系統(tǒng)的狀況。為了安全的原因,瀏覽器要通過(guò)HTTPS(Secure為什么使用層次的體系結(jié)MailMedia等,來(lái)提供不同的可伸縮網(wǎng)絡(luò)服務(wù)。明確的功能劃分和清晰的為什么是共共享如分布式文件系統(tǒng)在這個(gè)LVS集群系統(tǒng)是可選項(xiàng)。當(dāng)網(wǎng)絡(luò)服務(wù)需要相同的內(nèi)容,共享是很好的選擇,否則每臺(tái)服務(wù)器需要將相同的內(nèi)容到本地硬盤上。當(dāng)系統(tǒng)的內(nèi)容越多,這種無(wú)共享結(jié)構(gòu)(Shared-nothing 松,如Webmaster只需要更新共享 加時(shí),所有服務(wù)器的空間也隨之增大。對(duì)于大多數(shù)Internet服務(wù)來(lái)說(shuō),使用本地硬盤作Cache(如2Gbytes的空間),可以使得分布式文件系儲(chǔ)區(qū)域網(wǎng)(StorageAreaNetworks)技術(shù)解決了集群的每個(gè)結(jié)點(diǎn)可以直接道(FiberChannel)SCSI(SharedSCSI)。InfiniBand是一個(gè)通用的高性能I/O規(guī)范,使得區(qū)域網(wǎng)中以更低的延時(shí)傳輸I/O消息和集群通訊消息,并且提供很好的伸縮性。InfiniBand得到絕大多數(shù)的大廠商的支持,如Compaq、Dell、Hewlett-Packard、IBM、In、和SUNMicrosystems等,它正在成為一個(gè)業(yè)界的標(biāo)準(zhǔn)。這些技術(shù)的發(fā)展使得共高可用況。當(dāng)服務(wù)器對(duì)ICMP不可達(dá)時(shí)或者探測(cè)網(wǎng)絡(luò)服務(wù)在指定的時(shí)間沒有現(xiàn)端的調(diào)度器有可能成為系統(tǒng)的單一失效點(diǎn)(SinglePointof的健康狀況。當(dāng)從調(diào)度器不能聽得主調(diào)度器的心跳時(shí),從調(diào)度器通過(guò)ARP(GratuitousARP)VirtualIPAddress,同時(shí)接管主調(diào)VirtualIPAddress,主調(diào)度VirtualIPAddress并提供負(fù)載調(diào)度服務(wù)。這里,多條心跳線可以使得務(wù)器上,這對(duì)客戶會(huì)造成一定的不便。為此,IPVSLinux內(nèi)核中實(shí)可伸Web服LVSWeb2所示:第一層是負(fù)載調(diào)度器,一般采IPWeb服務(wù)HTTPHTTPS服務(wù)、或者兩者都運(yùn)2:基LVSWeb集對(duì)于動(dòng)態(tài)頁(yè)面(如PHP、JSP和ASP等),需要的動(dòng)態(tài)數(shù)據(jù)一般在Web服務(wù)器共享。無(wú)論同一Web服務(wù)器上多個(gè)動(dòng)態(tài)頁(yè)面同一數(shù)據(jù),還是不同Web服務(wù)對(duì)于靜態(tài)的頁(yè)面和文件(如HTML文檔和等),可以在網(wǎng)絡(luò)文件系統(tǒng)享的網(wǎng)絡(luò)文件系統(tǒng)或者分布式文件系統(tǒng),Webmaster可以看到統(tǒng)一的文檔存儲(chǔ)空間,和更新頁(yè)面比較方便,對(duì)共享中頁(yè)面的修改對(duì)所有的服務(wù)器結(jié)點(diǎn)來(lái)處理請(qǐng)求,而無(wú)需將Web文檔等到結(jié)點(diǎn)的本地硬盤上。有些Web服務(wù)可能用到HTTP 蹤和標(biāo)識(shí)客戶的機(jī)制。使用HTTP 關(guān)性,這些連接必須被發(fā)送到同一Web服務(wù)器。一些Web服務(wù)使用安全的HTTPS協(xié)議,它是HTTP協(xié)議加SSL(SecureSocketLayer)協(xié)議。另有些Web服務(wù)可能使用安全的HTTPS協(xié)議,它是HTTP協(xié)議加SSL協(xié)議。當(dāng)客戶HTTPS服務(wù)(HTTPS的缺省端口為443)時(shí),會(huì)先建立一個(gè)SSL連接,來(lái)交換對(duì)稱公鑰加密的并協(xié)商一個(gè)SSLKey,來(lái)加密以后的會(huì)話。在SSLKey的生命周期內(nèi),后續(xù)的所有HTTPS連接都使用這個(gè)SSLKey,所以同一客戶的不同HTTPS連接也存在相關(guān)性。針對(duì)這些需要,IPVS調(diào)度器可伸縮服IP負(fù)載均衡技術(shù),可以使得整個(gè)系統(tǒng)有較高的吞吐率;第二層是Web服務(wù)器 圖3:基于LVS的集細(xì)敘述),來(lái)架構(gòu)集群系統(tǒng)。調(diào)度器將服務(wù)請(qǐng)求較均衡地分發(fā)到各個(gè)服務(wù)器上,而服務(wù)器將響應(yīng)數(shù)據(jù)直接返回給客戶,這樣可以使得整個(gè)服務(wù)器可以運(yùn)行各種服務(wù)軟件。目前,LVS集群對(duì)于RealMedia、WindowsMedia和AppleQuicktime服務(wù)都有很好的支持,都有真實(shí)的系統(tǒng)在運(yùn)行。一般來(lái)說(shuō),流服務(wù)都會(huì)使用一個(gè)TCP連接(如RTSP協(xié)議:Real-TimeStreamingProtocol)進(jìn)行帶寬的協(xié)商和流速的控制,通過(guò)UDP將流數(shù)據(jù)返回客戶。這里,IPVSTCP和UDP集中考慮,保證來(lái)自同一客戶的TCP和UDP連接會(huì)被轉(zhuǎn)發(fā)到集群中同一臺(tái)服務(wù)器,使得服務(wù)準(zhǔn)確無(wú)誤地進(jìn)行。共享是集群系統(tǒng)中最關(guān)鍵的問(wèn)題,因?yàn)槲募浅4螅ㄒ徊科有枰獛装僬椎綆浊д椎目臻g),這對(duì)的容量和讀的速度有較高的要求。對(duì)于規(guī)模較小的集群系統(tǒng),例3至6個(gè)服務(wù)器結(jié)點(diǎn),統(tǒng)可以考慮用帶千兆網(wǎng)卡的Linux服務(wù)器,使用軟件RAID和日志型文件系統(tǒng),再運(yùn)行內(nèi)核的NFS服務(wù),會(huì)有不錯(cuò)的效果。對(duì)于規(guī)模較大的集群系統(tǒng),最好選擇對(duì)文件分段(FileStrip)和文件緩存有較好支持的分 Real公司以其高壓縮比的音頻格式、Real服務(wù)器和器Realyer而聞名。Real公司正在使用以上結(jié)構(gòu)將由20多臺(tái)服務(wù)器組成的LVS可伸縮Web和集群,為其全球用戶提供Web和音頻服務(wù)。RealLVS擊敗所有他們嘗試過(guò)的商品化負(fù)載均衡產(chǎn)可伸Cache服時(shí)。所以,Cache服務(wù)的可伸縮性很重要,當(dāng)系統(tǒng)負(fù)載不斷增長(zhǎng)時(shí),整個(gè)系統(tǒng)Cache服務(wù)的處理能力。尤其,在主干網(wǎng)上的Cache服務(wù)可Gbps的吞吐率,單臺(tái)服務(wù)器(SUN目前最高端的Enterprise10000服務(wù)器)PC服務(wù)器Cache服務(wù)是很有效的方法,也是性能價(jià)格比最高的方法?;贚VS的Cache集群的體系結(jié)構(gòu)如圖4所示:第一層是負(fù)載調(diào)度器,一般IPCache服務(wù)器池,一般Cache服務(wù)器放置在接近主干Internet連接處,它們可以分4:基LVSCache集IPVS負(fù)載調(diào)度器一般使用IP隧道方法(即VS/TUN方法,將在以后文章中詳細(xì)敘述),CacheCache服務(wù)器可能被放置不同的地方(Internet連接處),Cache服務(wù)器池可能不VS/TUN方法,調(diào)度器只調(diào)度WebCache請(qǐng)的情況下,Cache服務(wù)器要向源服務(wù)器發(fā)請(qǐng)求,將結(jié)果取回,最后將結(jié)果返回VS/TUN方法(VS/DR方法),調(diào)度器只調(diào)度一次請(qǐng)求,其他三次都由Cache服務(wù)器直接Internet完成。所以,這種方法對(duì)CacheCache服務(wù)器采用本地硬盤來(lái)可緩存的對(duì)象,因?yàn)?操作,且占有一定的比例,通過(guò)本地硬盤可以提高I/O的 務(wù)器間有的多播通道(MulticastChannel),通過(guò)ICP協(xié)議(InternetCacheProtocol)來(lái)交互信息。當(dāng)一臺(tái)Cache服務(wù)器在本地硬盤中未命中當(dāng)前請(qǐng)求時(shí),它可以通過(guò)ICP查詢其他Cache服務(wù)器是否有請(qǐng)求對(duì)象的副本,若存在,則從鄰近的Cache服務(wù)器取該對(duì)象的副本,這樣可以進(jìn)一步提高Cache服務(wù)中率。0JANETWebCache9LVSCache集群[8]0多臺(tái)相互獨(dú)Cache服務(wù)器的一半,用戶反映網(wǎng)絡(luò)速度跟夏天一樣快(學(xué)生放暑假)見,通過(guò)負(fù)載調(diào)度可以摸平單臺(tái)服務(wù)器的毛刺(Burs),提高整個(gè)系統(tǒng)的資源利用率。隨著Internet用戶不斷增長(zhǎng),很多ISP他們郵件服務(wù)器超載的問(wèn)題。當(dāng) 到p 5:基LVS的可伸縮郵件集5所示:端是一個(gè)采用IP負(fù)載均衡技術(shù)的負(fù)載調(diào)度器;第二層是服務(wù)器LDAP(Light-weightDirectoryAccessProtocol)服務(wù)器和一組郵件服務(wù)器。第三層是數(shù)據(jù),通過(guò)分布式文件系統(tǒng)來(lái)用戶的郵件。集群 和郵件容量限額等在LDAP服務(wù)器中,可以通過(guò)HTTPS讓管理員進(jìn)行用戶管理。在各個(gè)郵件服務(wù)器上運(yùn)行SMTP(SimpleMailTransferProtocol)、POP3(PostOfficeProtocolversion3)、IMAP4(InternetMessageAccessProtocolversionHTTP/HTTPS服務(wù)。SMTP接受和轉(zhuǎn)發(fā)用戶的郵件,SMTP服務(wù)進(jìn)程查詢LDAP服務(wù)器獲得用戶信息,再郵件。POP3和IMAP4通過(guò)LDAP服務(wù)器HTTP/HTTPS服務(wù)是讓用戶通過(guò)瀏覽器可以郵件。IPVS調(diào)度器將SMTP、POP3、IMAP4HTTP/HTTPS請(qǐng)求流負(fù)載較均衡地SMTP、POP3、IMAP4和結(jié)點(diǎn)間的負(fù)載均衡機(jī)制,則需要相應(yīng)的郵件遷移機(jī)制來(lái)避免郵件的傾斜電信只要用一個(gè)郵件就可以)。當(dāng)郵件用戶不小LVSWeb、MediaCacheMail了系統(tǒng)架設(shè)時(shí)應(yīng)注意的要點(diǎn)。在后續(xù)的文章中詳細(xì)解釋LVS集群的Linux服務(wù)器集群系統(tǒng)(三LVS集群中的IP負(fù)載均衡技(wensong@)2002年4月LVS集群中實(shí)現(xiàn)的三IP負(fù)載均衡技術(shù)(VS/NAT、VS/TUNVS/DR)的工作原理,以及它們的優(yōu)缺點(diǎn)。前術(shù),IP負(fù)載均衡技術(shù)是在負(fù)載調(diào)度器的實(shí)現(xiàn)技術(shù)中效率最高的。在已有IP負(fù)載均衡技術(shù)中,主要有通過(guò)網(wǎng)絡(luò)地址轉(zhuǎn)換(NetworkAddressVS/NAT技術(shù)(VirtualServerviaNetworkAddressTranslation)VS/NAT的缺點(diǎn)和網(wǎng)絡(luò)服務(wù)的非對(duì)稱性的基礎(chǔ)上,我IPVS/TUN(VirtualServerviaIPTunneling),VS/DR(VirtualServerviaDirectRouting),它們可以極大地提高系統(tǒng)的伸縮性。VS/NAT、VS/TUNVS/DRLVSIP負(fù)載均衡技TCPUDP協(xié)議。下面簡(jiǎn)述當(dāng)前用服務(wù)器集群實(shí)現(xiàn)高基于RR-DNS的解決方NCSAWEBRR-DNS(Round-RobinNameSystem)的原型系統(tǒng)[1,2]。它的結(jié)構(gòu)和工作流程如下圖所1:基RR-DNS的可伸WEB服務(wù)(注:本圖來(lái)自文獻(xiàn)【9】WEBAFS(AndrewFileHTML文檔。這組服務(wù)器擁有相同的(),當(dāng)用戶按照這個(gè)時(shí)RR-DNS服務(wù)器會(huì)把輪流解析到這組服務(wù)器的不同IP地址,從而將負(fù)載分到各臺(tái)服務(wù)器這種方法帶來(lái)幾個(gè)問(wèn)題。第一,服務(wù)器是一個(gè)分布式系統(tǒng),是按照一定的層次結(jié)構(gòu)組織的。當(dāng)用戶就解析請(qǐng)求提交給本地的服務(wù)器,它會(huì)因不能直接解析而向上一級(jí)服務(wù)器提交,上一級(jí)服務(wù)器再依次向上提交,直到RR-DNS服器把這個(gè)解析到其中一臺(tái)服務(wù)器的IP地址??梢?,從用戶到RR-DNS間存在多臺(tái)服器,而它們都會(huì)緩沖已解析的名字到IP地址的映射,這會(huì)導(dǎo)致該服器組下所有用戶都會(huì)同一WEB服務(wù)器,出現(xiàn)不同WEB服務(wù)器間嚴(yán)重的負(fù)載不平衡。為了保證在服務(wù)器中到IP地址的映射不被長(zhǎng)久緩沖,RR-DNS在到IP地址的映射上設(shè)置一個(gè)TTL(TimeToLive)值,過(guò)了這一段時(shí)間,服務(wù)器將這個(gè)映射從緩沖中淘TTLTTL期間,很多請(qǐng)求會(huì)被WEB服務(wù)器上,同樣會(huì)導(dǎo)致嚴(yán)重的負(fù)載不平衡。若這個(gè)值太小,例如是0,會(huì)導(dǎo)致本地服務(wù)器頻繁地向RR-DNS提交請(qǐng)求,增加了RR-DNS第二,用戶機(jī)器會(huì)緩沖從名字到P地址的映射,而不受L值的影響,用戶的請(qǐng)求會(huì)被送到同一臺(tái)WEB服務(wù)器上。由于用戶 請(qǐng)求的突發(fā)性和訪問(wèn)方式不同,例的人一下就離開了,而有的人 可長(zhǎng)達(dá)幾個(gè)小時(shí),所以各臺(tái)服務(wù)器間的負(fù)載仍存在傾斜(Skew)而不能控制。假設(shè)用戶在每個(gè)會(huì)話中平均請(qǐng)求數(shù)為,負(fù)載最大的服務(wù)器獲得的請(qǐng)求數(shù)額高于各服務(wù)器平請(qǐng)求數(shù)的平均比率超過(guò)百分之三十。也就是說(shuō),當(dāng)L值為0時(shí),因?yàn)橛脩粼L問(wèn)的突發(fā)性也會(huì)存在著較嚴(yán)重的負(fù)載不平衡。該服務(wù)器的用戶看到服務(wù)中斷,即使用戶按“Reload”按鈕,也無(wú)濟(jì)于事。系和應(yīng)用軟件升級(jí),這需要修改RR-DNS服務(wù)器中的IP地址列表,把該服務(wù)器的IP地址從中劃掉,然后等上幾天或者更長(zhǎng)的時(shí)間,等所有服器將該基于客戶端的解決方把以負(fù)載均衡的方式將請(qǐng)求發(fā)到不同的服務(wù)器。例如,NetscapeNavigator瀏覽器Netscape的主頁(yè)時(shí),它會(huì)隨機(jī)地從一百多臺(tái)服務(wù)器中挑選第N 法,Netscape只是利用它的Navigator避免了RR-DNS解析的麻煩,當(dāng)使用IE等其他瀏覽器不可避免的要進(jìn)行RR-DNS解析。Smart[3]是Berkeley做的另一種基于客戶端的解決方法。服務(wù)提供JavaApplet在客戶方瀏覽器中運(yùn)行,Applet向各個(gè)服務(wù)器發(fā)請(qǐng)求來(lái)收Applet中實(shí)現(xiàn),當(dāng)服務(wù)器沒有響應(yīng)時(shí),Applet向另一個(gè)服務(wù)器轉(zhuǎn)基于應(yīng)用層負(fù)載均衡調(diào)度的解決方層的負(fù)載調(diào)度器。當(dāng)用 請(qǐng)求到達(dá)調(diào)度器時(shí),請(qǐng)求會(huì)提交給作負(fù)載均衡Zeus負(fù)載調(diào)度器[4]、pWeb[5]、Reverse-[6]和SWEB[7]等。Zeus負(fù)載調(diào)度器是Zeus公司的商業(yè)產(chǎn)品,它是在ZeusWeb服務(wù)器程序改寫而成的,采用單進(jìn)程驅(qū)動(dòng)的服務(wù)器結(jié)構(gòu)。pWebApache1.1WEB調(diào)HTTP請(qǐng)求到達(dá)時(shí),pWeb會(huì)選出一個(gè)服務(wù)器,重寫請(qǐng)求并向Reverse-利用Apache1.3.1中的模塊和Rewrite模塊實(shí)現(xiàn)一個(gè)可伸縮WEB服務(wù)器,它與pWeb的不同之處在于它要先從的cache器返回的結(jié)果轉(zhuǎn)發(fā)給客戶。SWEBHTTPredirect錯(cuò)誤代碼,將WEBWEB服務(wù)器根據(jù)自己的負(fù)載情況,redirectWEB服務(wù)器,WEB服務(wù)器。34臺(tái)時(shí),調(diào)度器本身可能會(huì)成為新的瓶HTTPFTP、Mail、POP3等應(yīng)用,都需要重寫調(diào)基于IP層負(fù)載均衡調(diào)度的解決方用戶通過(guò)虛擬IP地址(VirtualIPAddress)服務(wù)時(shí),請(qǐng)求的報(bào)文會(huì)VirtualIPAddress改寫成選定服務(wù)器的地址,報(bào)文的目標(biāo)端口VirtualIPAddress和相應(yīng)的端口,再把報(bào)文發(fā)給用戶。Berkeley的MagicRouter[8]、CiscoLocalDirectorAlteonACEDirectorF5Big/IP等都是使用網(wǎng)絡(luò)地址轉(zhuǎn)換方法。MagicRouter是在Linux1.3版本的原型系統(tǒng),沒有成為有用的系統(tǒng)存。Cisco的LocalDirector、Alteon的ACEDirectorF5Big/IP是非常昂貴的商品化系統(tǒng),它們支持部分TCP/UDPICMP處理上存在問(wèn)題。IBMTCPRouter[9]使用修改過(guò)的網(wǎng)絡(luò)地址轉(zhuǎn)換方法在SP/2系統(tǒng)實(shí)現(xiàn)可伸縮的WEB服務(wù)器。TCPRouter修改請(qǐng)求報(bào)文的目標(biāo)地址并把它轉(zhuǎn)發(fā)給選出的服務(wù)器,服務(wù)器能把響應(yīng)報(bào)文的源地址置為TCPRouter地址而非自己的地作系統(tǒng)內(nèi)核都需要修改。IBM的NetDispatcher[10]TCPRouter的后繼者,它將報(bào)文轉(zhuǎn)發(fā)給服務(wù)器,而服務(wù)器在non-ARP的設(shè)備配置路由器的地址。這種方法與LVS集群中的VS/DR類似,它具有很高的可伸縮性,但一套IBMSP/2NetDispatcher需要上百萬(wàn)美金??偟膩?lái)說(shuō),IBM的技術(shù)還在貝爾的ONE-IP[11]中,每臺(tái)服務(wù)器都獨(dú)立的IP地址,但都用IPAliasVIP地址,采用路由和廣播兩種方法分發(fā)請(qǐng)求,服務(wù)器收到VIPVIP為源地址返回結(jié)果。這種方法也是為了IPAliasVIP地址,會(huì)導(dǎo)WindowsNT負(fù)載均衡服務(wù)(WindowsNTLoadBalancingService,WLBS)[12]1998ValenceResearch公司獲得的,程序和TCP/IP協(xié)議棧之間,獲得目標(biāo)地址為VIP的報(bào)文,它的過(guò)濾算法檢查報(bào)文的源IP地址和端,保證只有一臺(tái)服務(wù)器將報(bào)文交給上一層處理。但通過(guò)NAT實(shí)現(xiàn)虛擬服務(wù)器地址(///)[64,65,66]Internet上使用,而是專門為內(nèi)部網(wǎng)絡(luò)預(yù)留的。當(dāng)內(nèi)部網(wǎng)絡(luò)中的主機(jī)要Internet或被Internet時(shí),就需要采用網(wǎng)絡(luò)地址轉(zhuǎn)換(NetworkAddressTranslation,NAT),Internets上可用的外部地址。NAT的工作原理是報(bào)文頭(目標(biāo)地址、源地址和端口等)被正確改寫IPIP地址的服務(wù)器組也認(rèn)為它們是IP地址上的一個(gè)虛擬服務(wù)。VS/NAT的體系結(jié)構(gòu)如圖2所示。在一組服務(wù)器前有一個(gè)調(diào)度器,它們是通過(guò)Switch/HUB相連接的。這些服務(wù)器提供相同的網(wǎng)絡(luò)服務(wù)、相同的內(nèi)容,即不管請(qǐng)求被發(fā)送到哪一臺(tái)服務(wù)器,執(zhí)行結(jié)果是一樣的。服務(wù)的內(nèi)容可以到每圖2:VS/NAT的體客戶通過(guò)VirtualIPAddress(虛擬服務(wù)的IP地址)網(wǎng)絡(luò)服務(wù)時(shí),請(qǐng)求器,將報(bào)文的目標(biāo)地址VirtualIPAddress改寫成選定服務(wù)器的地址,報(bào)文Hash表中記錄這個(gè)連接,當(dāng)這個(gè)連接的下一個(gè)Hash表中可以得到原選定服務(wù)器的地址和端口,進(jìn)行同VirtualIPAddress和相TCP連接中,根TCPW.RichardStevens的《TCP/IPIllustratedVolumeIUDP中,我們UDP狀態(tài)。不同狀態(tài)的超時(shí)值是可以設(shè)置的,在缺省情況下,1分鐘;UDP5分鐘。當(dāng)連接終止或超時(shí),調(diào)度器將Hash表中刪除。VirtualIPAddress上提供的服務(wù),而服務(wù)器集群Checksum的算法TCPChecksumChecksum端。我們所知道有這個(gè)問(wèn)題的網(wǎng)絡(luò)服務(wù)有FTP、IRC、H.323、CUSeeMe、RealAudio、Real、Vxtreme/Vosiac、VDOLive、VIVOActive、TrueSpeech、RSTP、PPTP、StreamWorks、NTTAudioLink、NTTSoftwareVision、YamahaMIDPlug、iChatPager、QuakeDiablo。VS/NAT33:VS/NAT的例VS/NAT的配置如下表所示,所有到IP地址為和端口為:21上。而到其他端口的報(bào)文將被VirtualIPRealIP121Web服務(wù)的報(bào)文可能有以下的源地址和目標(biāo)地址:通過(guò)IP隧道實(shí)現(xiàn)虛擬服務(wù)器在VS/NAT的集群系統(tǒng)中,請(qǐng)求和響應(yīng)的數(shù)據(jù)報(bào)需要通過(guò)負(fù)載調(diào)度器,的新瓶頸。大多數(shù)Internet服務(wù)都有這樣的特點(diǎn):請(qǐng)求報(bào)文較短而響應(yīng)報(bào)文IP隧道(IPtunneling)是將一個(gè)IP報(bào)文封裝在另一個(gè)IP報(bào)文的技術(shù),這可以使得目標(biāo)為一個(gè)IP地址的數(shù)據(jù)報(bào)文能被封裝和轉(zhuǎn)發(fā)到另一個(gè)IP地址。IP隧IP封裝技術(shù)(IPencapsulation)。IP隧道主要用于移動(dòng)主機(jī)和虛擬私有網(wǎng)絡(luò)(VirtualPrivateNetwork),在其中隧道都是靜態(tài)建立P務(wù)器直接返回給客戶。但在這里,后端服務(wù)器有一組而非一個(gè),所以我們不可IP地址上的虛擬網(wǎng)絡(luò)服務(wù)。VS/TUN的體系結(jié)構(gòu)如圖4所示,各個(gè)服務(wù)器將VIP地址配置在自己的IP隧道設(shè)備上。圖4:VS/TUN的體VS/TUN的工作流程如圖5所示:它的連接調(diào)度和管理與VS/NAT中的一選擇一臺(tái)服務(wù)器,將請(qǐng)求報(bào)文封裝在另一個(gè)IP報(bào)文中,再將封裝后的IP報(bào)文轉(zhuǎn)發(fā)給選出的服務(wù)器;服務(wù)器收到報(bào)文后,先將報(bào)文解封獲得原來(lái)目標(biāo)地址圖5:VS/TUN的工在這里需要,根據(jù)缺省的TCP/IP協(xié)議棧處理,請(qǐng)求報(bào)文的目標(biāo)地址為VIP,響應(yīng)報(bào)文的源地址肯定也為VIP,所以響應(yīng)報(bào)文不需要作任何修改,可6:半TCP有限狀態(tài)通過(guò)直接路由實(shí)現(xiàn)虛擬服務(wù)器VS/TUN方法相同,VS/DRInternet服務(wù)的非對(duì)稱特點(diǎn),負(fù)法類似(其中服務(wù)器上的IP地址配置方法是相似的),但I(xiàn)BM的NetDispatcher是非常昂貴的商品化產(chǎn)品,我們也不知道它內(nèi)部所使用的機(jī)制,其中有些是IBM的專利。VS/DR7所示:調(diào)度器和服務(wù)器組都必須在物理上有一個(gè)網(wǎng)HB相連。VIP地址VIPVIPNonARPVIP的網(wǎng)絡(luò)請(qǐng)求。圖7:VS/DR的體VS/DR8VS/NATVS/TUNVS/DR中,調(diào)度器根據(jù)各個(gè)服務(wù)器的負(fù)載情況,動(dòng)態(tài)地選擇一臺(tái)服務(wù)器,不IPMACMAC地MAC圖8:VS/DR的工VS/DRTCP/IP協(xié)議棧處理,請(qǐng)求報(bào)文的目標(biāo)地址為VIPVIP,所以響應(yīng)報(bào)文不需要作任何修改,可TCP有限狀態(tài)機(jī)進(jìn)行狀態(tài)遷移。_Non-arpserverserverlowHighHighserverloadownOwnWeb服VirtualServerviaVS/NAT的優(yōu)點(diǎn)是服務(wù)器可以運(yùn)行任何支持TCP/IP的操作系統(tǒng),它只需要一個(gè)IP地址配置在調(diào)度器上,服務(wù)器組可以用私有的IP地址。缺點(diǎn)是它的伸縮能力有限,當(dāng)服務(wù)器結(jié)點(diǎn)數(shù)目升到20時(shí),調(diào)度器本身有可能成為系統(tǒng)的新瓶頸,因?yàn)樵赩S/NAT中請(qǐng)求和響應(yīng)報(bào)需要通過(guò)負(fù)載調(diào)度器。我們?cè)赑entium16660us,性能更高的TCP536Bytes,則調(diào)度器8.93MBytes/s.我們?cè)偌僭O(shè)每臺(tái)服務(wù)器的吞吐量為800KBytes/s10臺(tái)服務(wù)器。(注:這是很早以前基于VS/NAT的的集群系統(tǒng)可以適合許多服務(wù)器的性能要求。如果負(fù)載調(diào)度器成為系統(tǒng)新的瓶頸,可以有三種方法解決這個(gè)問(wèn)題:混合方法、VS/TUN和VS/DRDNSVS/NAT負(fù)載調(diào)度器,每個(gè)負(fù)載調(diào)度器帶自己的服務(wù)器集群,同時(shí)這些負(fù)載調(diào)度器又通過(guò)RR-DNS組成簡(jiǎn)單。但VS/TUN和VS/DR是提高系統(tǒng)吞吐量的更好方法對(duì)于那些將P地址或者端在報(bào)文數(shù)據(jù)中傳送的網(wǎng)絡(luò)服務(wù),需要編寫相應(yīng)應(yīng)用模塊來(lái)轉(zhuǎn)換報(bào)文數(shù)據(jù)中的P地址或者端。這會(huì)帶來(lái)實(shí)現(xiàn)的工作量,時(shí)應(yīng)用模塊檢查報(bào)文的開銷會(huì)降低系統(tǒng)的吞吐率。VirtualServerviaIPVS/TUN的集群系統(tǒng)中,負(fù)載調(diào)度器只將請(qǐng)求調(diào)度到不同的后端服務(wù)器,100Mbps的全雙工網(wǎng)卡,整個(gè)系統(tǒng)的最大吞吐量可超過(guò)1Gbps。所以,VS/TUN可以極大地增加負(fù)載調(diào)度器調(diào)度VS/TUN技術(shù)對(duì)服務(wù)器有要求,即所有的服務(wù)器必須支持“IPTunneling”或者“IPEncapsulation”協(xié)議。目前,VS/TUN的后端服務(wù)器主要運(yùn)行Linux操作系統(tǒng),我們沒對(duì)其他操作系統(tǒng)進(jìn)試。因?yàn)椤癐PTunneling”正成為各個(gè)操作VS/TUN應(yīng)該會(huì)適用運(yùn)行其他操作系統(tǒng)的后端服務(wù)器。VirtualServerviaDirectVS/TUN方法一樣,VS/DR調(diào)度器只處理客戶到服務(wù)器端的連接,響應(yīng)數(shù)VS/TUNIP隧道的開銷,但是要求負(fù)載調(diào)度器與實(shí)際不作ARP響應(yīng),或者能將報(bào)文重定向(Redirect)到本地的Socket端口上小LVSIP負(fù)載均衡技術(shù)。在分析網(wǎng)絡(luò)地址轉(zhuǎn)換方VS/TUN,和通過(guò)直接路由實(shí)現(xiàn)虛擬服務(wù)器的方法Linux服務(wù)器集群系統(tǒng)(四LVS集群的負(fù)載調(diào)(wensong@)2002年5月本文主要講述了LVS集群的IP負(fù)載均衡軟件IPVS在內(nèi)核中實(shí)現(xiàn)的各種連接調(diào)度算法。針前在上一篇文章中,我們主要講述了LVS集群中實(shí)現(xiàn)的三種IP負(fù)載均衡技術(shù),IPIPVS在內(nèi)核中所實(shí)現(xiàn)的各種連接調(diào)度算法;第二部分給出一個(gè)動(dòng)態(tài)反饋負(fù)載均衡算法(Dynamic-feedbackloadTCPUDPUDP數(shù)據(jù)報(bào)文的調(diào)度,IPVS來(lái)自同一地址(IP地址和端口)UDP數(shù)據(jù)包會(huì)被調(diào)度到同一臺(tái)服務(wù)器。IPVS在內(nèi)核中的負(fù)載均衡調(diào)度是以連接為粒度的。在HTTP協(xié)議(非持久)輪叫調(diào)度(Round-Robin輪叫調(diào)度(WeightedRound-Robin最小連接調(diào)度(Least-Connection最小連接調(diào)度(WeightedLeast-Connection基于局部性的最少(Locality-BasedLeastConnections帶的基于局部性最少(Locality-BasedLeastConnectionswithReplicationScheduling)目標(biāo)地址散列調(diào)度(DestinationHashing源地址散列調(diào)度(SourceHashing輪叫調(diào)輪叫調(diào)度(RoundRobinScheduling)算法就是以輪叫的方式依次將請(qǐng)求調(diào)i=(i+1)modni臺(tái)服務(wù)輪叫調(diào)度算法流S{S0,S1,Sn-1},ij=i;do{j=(j+1)modn;if(W(Sj)>0){i=j;returnSi;}}while(j!=i);returnNULL;雖然Round-RobinDNS方法也是以輪叫調(diào)度的方式將一個(gè)解析到多個(gè)IP地址,但輪叫DNS方法的調(diào)度粒度是基于每個(gè)服務(wù)器的,服務(wù)器平衡。這里,IPVS輪叫調(diào)度算法的粒度是基于每個(gè)連接的,同一用戶的不同DNS的輪叫調(diào)輪叫調(diào)度(WeightedRound-RobinScheduling)算法可以解決服務(wù)器值為1。假設(shè)服務(wù)器A的權(quán)值為1,B的權(quán)值為2,則表示服務(wù)器B的處理性能是A的兩倍。輪叫調(diào)度算法是按權(quán)值的高低和輪叫方式分配請(qǐng)求到各服輪叫調(diào)度算法流S{S0,S1,Sn-1},W(Si)Siicw表示集合S中所有服務(wù)器的最大權(quán)值, i1,cwwhile(true)while(true)i=(i+1)modn;if(i==0){cw=cw- if(cw<=0){cw=max(S);if(cw==return}}if(W(Si)>=cw)returnSi;}例如,有三個(gè)服務(wù)器A、B和C分別有權(quán)值4、3和2,則在一個(gè)調(diào)度周期內(nèi)(modsum(W(Si)))AABABCABC。輪叫調(diào)度算法還是比較簡(jiǎn)單和高效。當(dāng)請(qǐng)求的服務(wù)時(shí)間變化很大,單獨(dú)的輪叫調(diào)度算法依然會(huì)導(dǎo)器可用,算法返回NULL,所有的新連接都會(huì)被丟掉。輪叫調(diào)度也無(wú)需記最小連接調(diào)最小連接調(diào)度(Least-ConnectionScheduling)算法是把新的連接請(qǐng)求分配1;當(dāng)連接最小連接調(diào)度算法流S={S0,S1,...,Sn-1},W(Si)SiC(Si)Sifor(m=0;m<n;m++)for(m=0;m<n;m++)if(W(Sm)>0)for(i=m+1;i<n;i++){if(W(Si)<=0)if(C(Si)<C(Sm))m=}return}}returnTCPTIME_WAIT狀態(tài),TCPTIME_WAIT一般為2分鐘,此時(shí)連接還占用服務(wù)器的資源,所以會(huì)出現(xiàn)這樣情形,性能高的服務(wù)最小連接調(diào)最小連接調(diào)度(WeightedLeast-ConnectionScheduling)算法是最權(quán)值為1,系統(tǒng)管理員可以動(dòng)態(tài)地設(shè)置服務(wù)器的權(quán)值。最小連接調(diào)度在調(diào)最小連接調(diào)度的算法流S={S0,S1,...,Sn-1},W(Si)SiC(Si)SiCSUM=ΣC(Si) (i=0,1,n-1)。當(dāng)前的新連接請(qǐng)求會(huì)被發(fā)送服務(wù)器Sm(C(Sm)/CSUM)/W(Sm)=min{(C(Si)/CSUM)/W(Si)} 1,.,n-1)W(Si)CSUMC(Sm)/W(Sm)=min{C(Si)/ (i=0,1,.,n-C(Sm)W(Sm)C(Si)W(Si)C(Sm)*W(Si)C(Si)*W(Sm)。同時(shí)保證服務(wù)器的權(quán)值為零時(shí),服務(wù)器不度。所以,算法只要執(zhí)行 程for(m=0;m<n;m++)if(W(Sm)>0)for(i=m+1;i<n;i++)if(C(Sm)*W(Si)>m=}return}}return基于局部性的最少調(diào)基于局部性的最少調(diào)度(Locality-BasedLeastConnectionsSchedulingLBLC)IP地址的負(fù)載CacheCache集群中客戶請(qǐng)求報(bào)IP地址是變化的。這里假設(shè)任何后端服務(wù)器都可以處理任一請(qǐng)求,算IP地址的請(qǐng)求調(diào)LBLCIPIP地址最近使用的服務(wù)LBLC調(diào)度算法流S={S0,S1,...,Sn-1},W(Si)Siif(ServerNode[dest_ip]isNULL)thenn=if(nisNULL)thenreturnNULL;ServerNode[dest_ip].server=n;}elsen=ServerNode[dest_ip].server;if((nisdead)OR(C(n)>W(n)thereisanodemwithC(m)<W(m)/2)))then{n=WLC(S);if(nisNULL)thenreturnNULL;ServerNode[dest_ip].server=n;}}ServerNode[dest_ip].lastuse=Now;returnn;此外,對(duì)關(guān)聯(lián)變量ServerNode[dest_ip]要進(jìn)行周期性的回(GarbageCollection),IP地址到服務(wù)器關(guān)聯(lián)項(xiàng)進(jìn)行回收。過(guò)期的關(guān)聯(lián)項(xiàng)是指哪些當(dāng)前時(shí)間(jiffies)減去最24小帶的基于局部性最少調(diào)帶的基于局部性最少調(diào)度(Locality-BasedLeastConnectionswithReplicationScheduling,以下簡(jiǎn)稱為L(zhǎng)BLCR)IP是它要從一個(gè)目標(biāo)IP地址到一組服務(wù)器的映射,而LBLC算法從一個(gè)IP地址到一臺(tái)服務(wù)器的映射。對(duì)于一個(gè)“熱門”站點(diǎn)的服務(wù)請(qǐng)求,一臺(tái)Cache服務(wù)器可能會(huì)忙不過(guò)來(lái)處理這些請(qǐng)求。這時(shí),LBLC調(diào)度算從所有Cache服務(wù)器中按“最小連接”Cache服務(wù)器,映射該“熱門”CacheCache服務(wù)器也會(huì)超載,就會(huì)重復(fù)上述Cache服務(wù)器。這樣,可能會(huì)導(dǎo)致該“熱門”站點(diǎn)的映像會(huì)出現(xiàn)在所有的Cache服務(wù)器上,降低了Cache服務(wù)器的使用效率。LBLCR調(diào)度算將“熱門”Cache服務(wù)器(服務(wù)器集合),當(dāng)該“熱門”站點(diǎn)的請(qǐng)“熱門”Cache服務(wù)器數(shù)目。這樣,該“熱門”CacheCache的程度。LBLCR調(diào)度算法的流程如下LBLCR調(diào)度算法流S{S0,S1,Sn-1},W(Si)SiC(Si)SiServerSet[dest_ip]是一個(gè)關(guān)聯(lián)變量,IPHashWLC(S)在集合S中的 集合S中的 修改時(shí)間,Tif(ServerSet[dest_ip]isNULL)then{n=WLC(S);if(nisNULL)thenreturnNULL;addnintoServerSet[dest_ip];}elsen=WLC(ServerSet[dest_ip]);if((nisNULL)OR(nisdead)OR(C(n)>W(n)ANDthereisanodemwithC(m)<W(m)/2)))then{n=WLC(S);if(nisNULL)thenreturnNULL;addnintoServerSet[dest_ip];}if(|ServerSet[dest_ip]|>1Now-ServerSet[dest_ip].lastmod>T)then{m=WGC(ServerSet[dest_ip]);removemfromremovemfrom}}ServerSet[dest_ip].lastuse=if(ServerSet[dest_ip]changed)thenServerSet[dest_ip].lastmod=Now;return此外,對(duì)關(guān)聯(lián)變量ServerSet[dest_ip]也要進(jìn)行周期性的回(GarbageCollection),IP地址到服務(wù)器關(guān)聯(lián)項(xiàng)進(jìn)行回收。過(guò)期的關(guān)聯(lián)項(xiàng)是指哪些當(dāng)前時(shí)間(jiffies)減去最24小時(shí)。目標(biāo)地址散列目標(biāo)地址散列調(diào)度(DestinationHashingScheduling)算法也是針對(duì)目標(biāo)IP地址的負(fù)載均衡,但它是一種靜態(tài)映射算法,通過(guò)一個(gè)散列(Hash)函數(shù)IP地址映射到一臺(tái)服務(wù)器。目標(biāo)地址散列調(diào)度算法流S={S0,S1,...,Sn-1},W(Si)SiC(Si)SiServerNode[]256(Bucket)2n=ServerNode[hashkey(dest_ip)];if((nisdead)OR(W(n)==0)(C(n)>2*W(n)))thenreturnNULL;returnHash函數(shù)如下:素?cái)?shù)乘Hash函staticinlineunsignedhashkey(unsignedintstaticinlineunsignedhashkey(unsignedint{return UL)&} UL是2到2^32( (sqrt(5)-1)/2= =源地址散列調(diào)源地址散列調(diào)度(SourceHashingScheduling)算法正好與目標(biāo)地址散列IP地址,作為散列鍵(HashKey)從靜態(tài)分IP地址,所以這里不一一敘述。系統(tǒng)的吞吐率。圖1顯示了該算法的工作環(huán)境,在負(fù)載調(diào)度器上運(yùn)行MonitorDaemon進(jìn)程,MonitorDaemon來(lái)監(jiān)視和收集各個(gè)服務(wù)器的負(fù)載信息。MonitorDaemon可根據(jù)多個(gè)負(fù)載信息算出一個(gè)綜合負(fù)載值。MonitorDaemon將各個(gè)服務(wù)器的綜合負(fù)載值和當(dāng)前權(quán)值算出一組新的權(quán)值,若新權(quán)值和當(dāng)前權(quán)值的差值大于設(shè)定的閥值,MonitorDaemon將該服務(wù)器的權(quán)值設(shè)置到內(nèi)核中的IPVS調(diào)度中,而在內(nèi)核中連接調(diào)度一般采用輪叫調(diào)度算法或 圖1:動(dòng)態(tài)反饋負(fù)載均衡算法的工作環(huán)連接調(diào)當(dāng)客戶通過(guò)TCP連接網(wǎng)絡(luò)時(shí),服務(wù)所需的時(shí)間和所要消耗的計(jì)算資源進(jìn)行計(jì)算密集的查詢、數(shù)據(jù)庫(kù)、很長(zhǎng)響應(yīng)數(shù)據(jù)流;而負(fù)載比較輕的請(qǐng)求往HTML頁(yè)面或者進(jìn)行很簡(jiǎn)單的計(jì)算。請(qǐng)求處理時(shí)間的千差萬(wàn)別可能會(huì)導(dǎo)致服務(wù)器利用的傾斜(Skew),即服務(wù)器WEBA、、CDD是大圖像文件,瀏覽器需要建立四個(gè)連接來(lái)取這些文件。當(dāng)多個(gè)用戶通過(guò)瀏覽器同時(shí)該頁(yè)面時(shí),最的情況是所有D文件的請(qǐng)求被發(fā)到同一臺(tái)服務(wù)器。所以說(shuō),有可能存在這樣情況,有些服務(wù)器已經(jīng)超負(fù)荷運(yùn)行,而其他服務(wù)器基本是閑置著。同時(shí),有些服務(wù)器已經(jīng)忙不過(guò)來(lái),有很長(zhǎng)的請(qǐng)求隊(duì)列,還不斷地收到新的請(qǐng)求。反過(guò)來(lái)說(shuō),這會(huì)導(dǎo)致客戶長(zhǎng)時(shí)間的等待,覺得系統(tǒng)的服務(wù)質(zhì)量差。D文件的請(qǐng)實(shí)際TCP/IP流量的特[2,3,4,5]WANLANWEB動(dòng)態(tài)反饋負(fù)載均衡機(jī)TCP/IP流量的特征通俗地說(shuō)是有許多短事務(wù)和一些長(zhǎng)事務(wù)組成,而長(zhǎng)事務(wù)的務(wù)器的負(fù)載。例如,在IPVS調(diào)度器的內(nèi)核中使用輪叫調(diào)度(WeightedRound-RobinScheduling)算法來(lái)調(diào)度新的請(qǐng)求連接;在負(fù)載調(diào)度器的用戶MonitorDaemon。MonitorDaemon定時(shí)地監(jiān)視和收集各個(gè)服務(wù)器的負(fù)載信息,根據(jù)多個(gè)負(fù)載信息算出一個(gè)綜合負(fù)載值。MonitorDaemon權(quán)值的差值大于設(shè)定的閥值,MonitorDaemon將該服務(wù)器的權(quán)值設(shè)置到內(nèi)核IPVS調(diào)度中。過(guò)了一定的時(shí)間間隔(2秒鐘),MonitorDaemon再綜合負(fù)Si,可以得到分別在時(shí)T1T2Ci1Ci2T2-T1SiNi=Ci2-Ci1T2-T1內(nèi)Si收到新連接數(shù){Ni}SiINPUTi為其新連接數(shù)與n臺(tái)服務(wù)器收到平均連接數(shù)的比值,其為CPULOADi、DiMi和當(dāng)前進(jìn)程數(shù)目Pi。有兩SNMP(SimpleNetworkManagementProtocol)MonitorD
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國(guó)冷補(bǔ)臺(tái)介套裝工具數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年體育場(chǎng)圍網(wǎng)項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年防水圈項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年自動(dòng)監(jiān)測(cè)儀項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年電腦自動(dòng)打鈴儀項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年根管消毒液項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年廣式外螺紋球閥項(xiàng)目投資價(jià)值分析報(bào)告
- 個(gè)人借款質(zhì)押合同
- 2025年度洗浴中心餐飲服務(wù)租賃合同
- 2025年度自然人方知識(shí)產(chǎn)權(quán)質(zhì)押貸款合同簽訂指南
- 湖北省黃石市陽(yáng)新縣2024-2025學(xué)年八年級(jí)上學(xué)期數(shù)學(xué)期末考試題 含答案
- 硝化棉是天然纖維素硝化棉制造行業(yè)分析報(bào)告
- 央視網(wǎng)2025亞冬會(huì)營(yíng)銷方案
- 《00541語(yǔ)言學(xué)概論》自考復(fù)習(xí)題庫(kù)(含答案)
- 《無(wú)砟軌道施工與組織》 課件 第十講雙塊式無(wú)砟軌道施工工藝
- 江蘇省南京市、鹽城市2023-2024學(xué)年高三上學(xué)期期末調(diào)研測(cè)試+英語(yǔ)+ 含答案
- 2024新版《藥品管理法》培訓(xùn)課件
- 《阻燃材料與技術(shù)》課件 第7講 阻燃橡膠材料
- 爆炸物運(yùn)輸安全保障方案
- 江蘇省南京市2025屆高三學(xué)業(yè)水平調(diào)研考試數(shù)學(xué)試卷(解析版)
- 移動(dòng)商務(wù)內(nèi)容運(yùn)營(yíng)(吳洪貴)任務(wù)五 引發(fā)用戶共鳴外部條件的把控
評(píng)論
0/150
提交評(píng)論