国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
LVS集群技術(shù)及簡(jiǎn)明配置 - ◇Linux,BSD等平臺(tái)◇ - 專門網(wǎng)論壇--專業(yè)的筆記本...



1、題記
由于生產(chǎn)上的需要,最近在學(xué)習(xí)和研究 LVS(Linux Virtual Server),HA(High Available)等相關(guān)技術(shù)。
為遵循論壇資源共享,共同學(xué)習(xí),努力進(jìn)步的原則,我把所得資料及實(shí)際中的簡(jiǎn)單應(yīng)用過(guò)程記錄于此,與各位共勉。

2、LVS簡(jiǎn)介

2.1、LVS的體系結(jié)構(gòu)

這里簡(jiǎn)單介紹通用的體系結(jié)構(gòu),其體系結(jié)構(gòu)如下圖所示。
LVS集群采用IP負(fù)載均衡技術(shù)和基于內(nèi)容請(qǐng)求分發(fā)技術(shù)。調(diào)度器具有很好的吞吐率,將請(qǐng)求均衡地轉(zhuǎn)移到不同的服務(wù)器上執(zhí)行,且調(diào)度器自動(dòng)屏蔽掉服務(wù)器的故障,從而將一組服務(wù)器構(gòu)成一個(gè)高性能的、高可用的虛擬服務(wù)器。整個(gè)服務(wù)器集群的結(jié)構(gòu)對(duì)客戶是透明的,而且無(wú)需修改客戶端和服務(wù)器端的程序。為此,在設(shè)計(jì)時(shí)需要考慮系統(tǒng)的透明性、可伸縮性、高可用性和易管理性。一般來(lái)說(shuō),LVS集群采用三層結(jié)構(gòu),其主要組成部分為:
a.負(fù)載調(diào)度器(load balancer),它是整個(gè)集群對(duì)外面的前端機(jī),負(fù)責(zé)將客戶的請(qǐng)求發(fā)送到一組服務(wù)器上執(zhí)行,而客戶認(rèn)為服務(wù)是來(lái)自一個(gè)IP地址(我們可稱之為虛擬IP地址)上的。
b.服務(wù)器池(server pool),是一組真正執(zhí)行客戶請(qǐng)求的服務(wù)器,執(zhí)行的服務(wù)有WEB、MAIL、FTP和DNS等。
c.共享存儲(chǔ)(shared storage),它為服務(wù)器池提供一個(gè)共享的存儲(chǔ)區(qū),這樣很容易使得服務(wù)器池?fù)碛邢嗤膬?nèi)容,提供相同的服務(wù)。
調(diào)度器是服務(wù)器集群系統(tǒng)的唯一入口點(diǎn)(Single Entry Point),它可以采用IP負(fù)載均衡技術(shù)、基于內(nèi)容請(qǐng)求分發(fā)技術(shù)或者兩者相結(jié)合。在IP負(fù)載均衡技術(shù)中,需要服務(wù)器池?fù)碛邢嗤膬?nèi)容提供相同的服務(wù)。當(dāng)客戶請(qǐng)求到達(dá)時(shí),調(diào)度器只根據(jù)服務(wù)器負(fù)載情況和設(shè)定的調(diào)度算法從服務(wù)器池中選出一個(gè)服務(wù)器,將該請(qǐng)求轉(zhuǎn)發(fā)到選出的服務(wù)器,并記錄這個(gè)調(diào)度;當(dāng)這個(gè)請(qǐng)求的其他報(bào)文到達(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)度開(kāi)銷很小,所以它具有很高的吞吐率。
服務(wù)器池的結(jié)點(diǎn)數(shù)目是可變的。當(dāng)整個(gè)系統(tǒng)收到的負(fù)載超過(guò)目前所有結(jié)點(diǎn)的處理能力時(shí),可以在服務(wù)器池中增加服務(wù)器來(lái)滿足不斷增長(zhǎng)的請(qǐng)求負(fù)載。對(duì)大多數(shù)網(wǎng)絡(luò)服務(wù)來(lái)說(shuō),請(qǐng)求間不存在很強(qiáng)的相關(guān)性,請(qǐng)求可以在不同的結(jié)點(diǎn)上并行執(zhí)行,所以整個(gè)系統(tǒng)的性能基本上可以隨著服務(wù)器池的結(jié)點(diǎn)數(shù)目增加而線性增長(zhǎng)。
共享存儲(chǔ)通常是數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)文件系統(tǒng)或者分布式文件系統(tǒng)。服務(wù)器結(jié)點(diǎn)需要?jiǎng)討B(tài)更新的數(shù)據(jù)一般存儲(chǔ)在數(shù)據(jù)庫(kù)系統(tǒng)中,同時(shí)數(shù)據(jù)庫(kù)會(huì)保證并發(fā)訪問(wèn)時(shí)數(shù)據(jù)的一致性。靜態(tài)的數(shù)據(jù)可以存儲(chǔ)在網(wǎng)絡(luò)文件系統(tǒng)(如NFS/CIFS)中,但網(wǎng)絡(luò)文件系統(tǒng)的伸縮能力有限,一般來(lái)說(shuō),NFS/CIFS服務(wù)器只能支持3~6個(gè)繁忙的服務(wù)器結(jié)點(diǎn)。對(duì)于規(guī)模較大的集群系統(tǒng),可以考慮用分布式文件系統(tǒng),如AFS、GFS、Coda和 Intermezzo等。分布式文件系統(tǒng)可為各服務(wù)器提供共享的存儲(chǔ)區(qū),它們?cè)L問(wèn)分布式文件系統(tǒng)就像訪問(wèn)本地文件系統(tǒng)一樣,同時(shí)分布式文件系統(tǒng)可提供良好的伸縮性和可用性。此外,當(dāng)不同服務(wù)器上的應(yīng)用程序同時(shí)讀寫(xiě)訪問(wèn)分布式文件系統(tǒng)上同一資源時(shí),應(yīng)用程序的訪問(wèn)沖突需要消解才能使得資源處于一致?tīng)顟B(tài)。這需要一個(gè)分布式鎖管理器(Distributed Lock Manager),它可能是分布式文件系統(tǒng)內(nèi)部提供的,也可能是外部的。開(kāi)發(fā)者在寫(xiě)應(yīng)用程序時(shí),可以使用分布式鎖管理器來(lái)保證應(yīng)用程序在不同結(jié)點(diǎn)上并發(fā)訪問(wèn)的一致性。
負(fù)載調(diào)度器、服務(wù)器池和共享存儲(chǔ)系統(tǒng)通過(guò)高速網(wǎng)絡(luò)相連接,如100Mbps交換網(wǎng)絡(luò)、Myrinet和Gigabit網(wǎng)絡(luò)等。使用高速的網(wǎng)絡(luò),主要為避免當(dāng)系統(tǒng)規(guī)模擴(kuò)大時(shí)互聯(lián)網(wǎng)絡(luò)成為整個(gè)系統(tǒng)的瓶頸。
Graphic Monitor是為系統(tǒng)管理員提供整個(gè)集群系統(tǒng)的監(jiān)視器,它可以監(jiān)視系統(tǒng)的狀態(tài)。Graphic Monitor是基于瀏覽器的,所以無(wú)論管理員在本地還是異地都可以監(jiān)測(cè)系統(tǒng)的狀況。為了安全的原因,瀏覽器要通過(guò)HTTPS(Secure HTTP)協(xié)議和身份認(rèn)證后,才能進(jìn)行系統(tǒng)監(jiān)測(cè),并進(jìn)行系統(tǒng)的配置和管理。



 附件: 您所在的用戶組無(wú)法下載或查看附件

T61: T9300, 2Gx2, WSXGA+, 3945ABG, BT, DVD/RW DL, Slackware.
T23: 1333G, 512Mx2, SXGA+, Atheros 802.11ABG, DVD/CD-RW.

2.2、LVS的IP負(fù)載均衡

可伸縮網(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ù)中,主要有通過(guò)網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translation)將一組服務(wù)器構(gòu)成一個(gè)高性能的、高可用的虛擬服務(wù)器,我們稱之為VS/NAT技術(shù)(Virtual Server via Network Address Translation)。在分析VS/NAT的缺點(diǎn)和網(wǎng)絡(luò)服務(wù)的非對(duì)稱性的基礎(chǔ)上,我們提出了通過(guò)IP隧道實(shí)現(xiàn)虛擬服務(wù)器的方法VS/TUN (Virtual Server via IP Tunneling),和通過(guò)直接路由實(shí)現(xiàn)虛擬服務(wù)器的方法VS/DR(Virtual Server via Direct Routing),它們可以極大地提高系統(tǒng)的伸縮性。VS/NAT、VS/TUN和VS/DR技術(shù)是LVS集群中實(shí)現(xiàn)的三種IP負(fù)載均衡技術(shù)。


T61: T9300, 2Gx2, WSXGA+, 3945ABG, BT, DVD/RW DL, Slackware.
T23: 1333G, 512Mx2, SXGA+, Atheros 802.11ABG, DVD/CD-RW.

2.2.1、VS/NAT

客戶通過(guò)Virtual IP Address(虛擬服務(wù)的IP地址)訪問(wèn)網(wǎng)絡(luò)服務(wù)時(shí),請(qǐng)求報(bào)文到達(dá)調(diào)度器,調(diào)度器根據(jù)連接調(diào)度算法從一組真實(shí)服務(wù)器中選出一臺(tái)服務(wù)器,將報(bào)文的目標(biāo)地址 Virtual IP Address改寫(xiě)成選定服務(wù)器的地址,報(bào)文的目標(biāo)端口改寫(xiě)成選定服務(wù)器的相應(yīng)端口,最后將修改后的報(bào)文發(fā)送給選出的服務(wù)器。同時(shí),調(diào)度器在連接Hash 表中記錄這個(gè)連接,當(dāng)這個(gè)連接的下一個(gè)報(bào)文到達(dá)時(shí),從連接Hash表中可以得到原選定服務(wù)器的地址和端口,進(jìn)行同樣的改寫(xiě)操作,并將報(bào)文傳給原選定的服務(wù)器。當(dāng)來(lái)自真實(shí)服務(wù)器的響應(yīng)報(bào)文經(jīng)過(guò)調(diào)度器時(shí),調(diào)度器將報(bào)文的源地址和源端口改為Virtual IP Address和相應(yīng)的端口,再把報(bào)文發(fā)給用戶。這樣,客戶所看到的只是在Virtual IP Address上提供的服務(wù),而服務(wù)器集群的結(jié)構(gòu)對(duì)用戶是透明的。對(duì)改寫(xiě)后的報(bào)文,應(yīng)用增量調(diào)整Checksum的算法調(diào)整TCP Checksum的值,避免了掃描整個(gè)報(bào)文來(lái)計(jì)算Checksum的開(kāi)銷。VS/NAT的體系結(jié)構(gòu)如圖所示。



 附件: 您所在的用戶組無(wú)法下載或查看附件

T61: T9300, 2Gx2, WSXGA+, 3945ABG, BT, DVD/RW DL, Slackware.
T23: 1333G, 512Mx2, SXGA+, Atheros 802.11ABG, DVD/CD-RW.


2.2.2、VS/TUN

在VS/NAT 的集群系統(tǒng)中,請(qǐng)求和響應(yīng)的數(shù)據(jù)報(bào)文都需要通過(guò)負(fù)載調(diào)度器,當(dāng)真實(shí)服務(wù)器的數(shù)目在10臺(tái)和20臺(tái)之間時(shí),負(fù)載調(diào)度器將成為整個(gè)集群系統(tǒng)的新瓶頸。大多數(shù) Internet服務(wù)都有這樣的特點(diǎn):請(qǐng)求報(bào)文較短而響應(yīng)報(bào)文往往包含大量的數(shù)據(jù)。如果能將請(qǐng)求和響應(yīng)分開(kāi)處理,即在負(fù)載調(diào)度器中只負(fù)責(zé)調(diào)度請(qǐng)求而響應(yīng)直接返回給客戶,將極大地提高整個(gè)集群系統(tǒng)的吞吐量。
IP隧道(IP tunneling)是將一個(gè)IP報(bào)文封裝在另一個(gè)IP報(bào)文的技術(shù),這可以使得目標(biāo)為一個(gè)IP地址的數(shù)據(jù)報(bào)文能被封裝和轉(zhuǎn)發(fā)到另一個(gè)IP地址。IP隧道技術(shù)亦稱為IP封裝技術(shù)(IP encapsulation)。IP隧道主要用于移動(dòng)主機(jī)和虛擬私有網(wǎng)絡(luò)(Virtual Private Network),在其中隧道都是靜態(tài)建立的,隧道一端有一個(gè)IP地址,另一端也有唯一的IP地址。
我們利用IP隧道技術(shù)將請(qǐng)求報(bào)文封裝轉(zhuǎn)發(fā)給后端服務(wù)器,響應(yīng)報(bào)文能從后端服務(wù)器直接返回給客戶。但在這里,后端服務(wù)器有一組而非一個(gè),所以我們不可能靜態(tài)地建立一一對(duì)應(yīng)的隧道,而是動(dòng)態(tài)地選擇一臺(tái)服務(wù)器,將請(qǐng)求報(bào)文封裝和轉(zhuǎn)發(fā)給選出的服務(wù)器。這樣,我們可以利用IP隧道的原理將一組服務(wù)器上的網(wǎng)絡(luò)服務(wù)組成在一個(gè)IP地址上的虛擬網(wǎng)絡(luò)服務(wù)。 VS/TUN的體系結(jié)構(gòu)如圖所示,各個(gè)服務(wù)器將VIP地址配置在自己的IP隧道設(shè)備上。



 附件: 您所在的用戶組無(wú)法下載或查看附件

T61: T9300, 2Gx2, WSXGA+, 3945ABG, BT, DVD/RW DL, Slackware.
T23: 1333G, 512Mx2, SXGA+, Atheros 802.11ABG, DVD/CD-RW.

2.2.3、VS/DR

跟VS/TUN 方法相同,VS/DR利用大多數(shù)Internet服務(wù)的非對(duì)稱特點(diǎn),負(fù)載調(diào)度器中只負(fù)責(zé)調(diào)度請(qǐng)求,而服務(wù)器直接將響應(yīng)返回給客戶,可以極大地提高整個(gè)集群系統(tǒng)的吞吐量。VS/DR的體系結(jié)構(gòu)如圖所示:調(diào)度器和服務(wù)器組都必須在物理上有一個(gè)網(wǎng)卡通過(guò)不分?jǐn)嗟木钟蚓W(wǎng)相連,如通過(guò)高速的交換機(jī)或者HUB相連。VIP地址為調(diào)度器和服務(wù)器組共享,調(diào)度器配置的VIP地址是對(duì)外可見(jiàn)的,用于接收虛擬服務(wù)的請(qǐng)求報(bào)文;所有的服務(wù)器把VIP地址配置在各自的Non-ARP網(wǎng)絡(luò)設(shè)備上,它對(duì)外面是不可見(jiàn)的,只是用于處理目標(biāo)地址為VIP的網(wǎng)絡(luò)請(qǐng)求



 附件: 您所在的用戶組無(wú)法下載或查看附件

T61: T9300, 2Gx2, WSXGA+, 3945ABG, BT, DVD/RW DL, Slackware.
T23: 1333G, 512Mx2, SXGA+, Atheros 802.11ABG, DVD/CD-RW.


2.2.4、三種方法的優(yōu)缺點(diǎn)比較

三種IP負(fù)載均衡技術(shù)的優(yōu)缺點(diǎn)歸納在下表中:
_                                VS/NAT                          VS/TUN                          VS/DR
Server                           any                         Tunneling                     Non-arp device
server network            private                         LAN/WAN                           LAN
server number         low (10~20)                 High (100)                        High (100)
server gateway          load balancer                 own router                     Own router
注:以上三種方法所能支持最大服務(wù)器數(shù)目的估計(jì)是假設(shè)調(diào)度器使用100M網(wǎng)卡,調(diào)度器的硬件配置與后端服務(wù)器的硬件配置相同,而且是對(duì)一般Web服務(wù)。使用更高的硬件配置(如千兆網(wǎng)卡和更快的處理器)作為調(diào)度器,調(diào)度器所能調(diào)度的服務(wù)器數(shù)量會(huì)相應(yīng)增加。當(dāng)應(yīng)用不同時(shí),服務(wù)器的數(shù)目也會(huì)相應(yīng)地改變。所以,以上數(shù)據(jù)估計(jì)主要是為三種方法的伸縮性進(jìn)行量化比較。

A、 Virtual Server via NAT
VS/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è)赑entium 166 處理器的主機(jī)上測(cè)得重寫(xiě)報(bào)文的平均延時(shí)為60us,性能更高的處理器上延時(shí)會(huì)短一些。假設(shè)TCP報(bào)文的平均長(zhǎng)度為536 Bytes,則調(diào)度器的最大吞吐量為8.93 MBytes/s. 我們?cè)偌僭O(shè)每臺(tái)服務(wù)器的吞吐量為800KBytes/s,這樣一個(gè)調(diào)度器可以帶動(dòng)10臺(tái)服務(wù)器。(注:這是很早以前測(cè)得的數(shù)據(jù))
基于 VS/NAT的的集群系統(tǒng)可以適合許多服務(wù)器的性能要求。如果負(fù)載調(diào)度器成為系統(tǒng)新的瓶頸,可以有三種方法解決這個(gè)問(wèn)題:混合方法、VS/TUN和 VS/DR。在DNS混合集群系統(tǒng)中,有若干個(gè)VS/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ì)于那些將IP地址或者端口號(hào)在報(bào)文數(shù)據(jù)中傳送的網(wǎng)絡(luò)服務(wù),需要編寫(xiě)相應(yīng)的應(yīng)用模塊來(lái)轉(zhuǎn)換報(bào)文數(shù)據(jù)中的IP地址或者端口號(hào)。這會(huì)帶來(lái)實(shí)現(xiàn)的工作量,同時(shí)應(yīng)用模塊檢查報(bào)文的開(kāi)銷會(huì)降低系統(tǒng)的吞吐率。
B、 Virtual Server via IP Tunneling
在VS/TUN 的集群系統(tǒng)中,負(fù)載調(diào)度器只將請(qǐng)求調(diào)度到不同的后端服務(wù)器,后端服務(wù)器將應(yīng)答的數(shù)據(jù)直接返回給用戶。這樣,負(fù)載調(diào)度器就可以處理大量的請(qǐng)求,它甚至可以調(diào)度百臺(tái)以上的服務(wù)器(同等規(guī)模的服務(wù)器),而它不會(huì)成為系統(tǒng)的瓶頸。即使負(fù)載調(diào)度器只有100Mbps的全雙工網(wǎng)卡,整個(gè)系統(tǒng)的最大吞吐量可超過(guò) 1Gbps。所以,VS/TUN可以極大地增加負(fù)載調(diào)度器調(diào)度的服務(wù)器數(shù)量。VS/TUN調(diào)度器可以調(diào)度上百臺(tái)服務(wù)器,而它本身不會(huì)成為系統(tǒng)的瓶頸,可以用來(lái)構(gòu)建高性能的超級(jí)服務(wù)器。
VS/TUN技術(shù)對(duì)服務(wù)器有要求,即所有的服務(wù)器必須支持“IP Tunneling”或者“IP Encapsulation”協(xié)議。目前,VS/TUN的后端服務(wù)器主要運(yùn)行Linux操作系統(tǒng),我們沒(méi)對(duì)其他操作系統(tǒng)進(jìn)行測(cè)試。因?yàn)椤癐P Tunneling”正成為各個(gè)操作系統(tǒng)的標(biāo)準(zhǔn)協(xié)議,所以VS/TUN應(yīng)該會(huì)適用運(yùn)行其他操作系統(tǒng)的后端服務(wù)器。
C、 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相比,這種方法沒(méi)有IP隧道的開(kāi)銷,但是要求負(fù)載調(diào)度器與實(shí)際服務(wù)器都有一塊網(wǎng)卡連在同一物理網(wǎng)段上,服務(wù)器網(wǎng)絡(luò)設(shè)備(或者設(shè)備別名)不作ARP響應(yīng),或者能將報(bào)文重定向(Redirect)到本地的Socket端口上。


T61: T9300, 2Gx2, WSXGA+, 3945ABG, BT, DVD/RW DL, Slackware.
T23: 1333G, 512Mx2, SXGA+, Atheros 802.11ABG, DVD/CD-RW.

3、LVS的負(fù)載調(diào)度

在內(nèi)核中的連接調(diào)度算法上,IPVS已實(shí)現(xiàn)了以下八種調(diào)度算法:
?        輪叫調(diào)度(Round-Robin Scheduling)
輪叫調(diào)度(Round Robin Scheduling)算法就是以輪叫的方式依次將請(qǐng)求調(diào)度不同的服務(wù)器,即每次調(diào)度執(zhí)行i = (i + 1) mod n,并選出第i臺(tái)服務(wù)器。算法的優(yōu)點(diǎn)是其簡(jiǎn)潔性,它無(wú)需記錄當(dāng)前所有連接的狀態(tài),所以它是一種無(wú)狀態(tài)調(diào)度。
?        加權(quán)輪叫調(diào)度(Weighted Round-Robin Scheduling)
加權(quán)輪叫調(diào)度(Weighted Round-Robin Scheduling)算法可以解決服務(wù)器間性能不一的情況,它用相應(yīng)的權(quán)值表示服務(wù)器的處理性能,服務(wù)器的缺省權(quán)值為1。假設(shè)服務(wù)器A的權(quán)值為1,B的權(quán)值為2,則表示服務(wù)器B的處理性能是A的兩倍。加權(quán)輪叫調(diào)度算法是按權(quán)值的高低和輪叫方式分配請(qǐng)求到各服務(wù)器。權(quán)值高的服務(wù)器先收到的連接,權(quán)值高的服務(wù)器比權(quán)值低的服務(wù)器處理更多的連接,相同權(quán)值的服務(wù)器處理相同數(shù)目的連接數(shù)。
?        最小連接調(diào)度(Least-Connection Scheduling)
最小連接調(diào)度(Least-Connection Scheduling)算法是把新的連接請(qǐng)求分配到當(dāng)前連接數(shù)最小的服務(wù)器。最小連接調(diào)度是一種動(dòng)態(tài)調(diào)度算法,它通過(guò)服務(wù)器當(dāng)前所活躍的連接數(shù)來(lái)估計(jì)服務(wù)器的負(fù)載情況。調(diào)度器需要記錄各個(gè)服務(wù)器已建立連接的數(shù)目,當(dāng)一個(gè)請(qǐng)求被調(diào)度到某臺(tái)服務(wù)器,其連接數(shù)加1;當(dāng)連接中止或超時(shí),其連接數(shù)減一。
?        加權(quán)最小連接調(diào)度(Weighted Least-Connection Scheduling)
加權(quán)最小連接調(diào)度(Weighted Least-Connection Scheduling)算法是最小連接調(diào)度的超集,各個(gè)服務(wù)器用相應(yīng)的權(quán)值表示其處理性能。服務(wù)器的缺省權(quán)值為1,系統(tǒng)管理員可以動(dòng)態(tài)地設(shè)置服務(wù)器的權(quán)值。加權(quán)最小連接調(diào)度在調(diào)度新連接時(shí)盡可能使服務(wù)器的已建立連接數(shù)和其權(quán)值成比例。
?        基于局部性的最少鏈接(Locality-Based Least Connections Scheduling)
基于局部性的最少鏈接調(diào)度(Locality-Based Least Connections Scheduling,以下簡(jiǎn)稱為L(zhǎng)BLC)算法是針對(duì)請(qǐng)求報(bào)文的目標(biāo)IP地址的負(fù)載均衡調(diào)度,目前主要用于Cache集群系統(tǒng),因?yàn)樵贑ache集群中客戶請(qǐng)求報(bào)文的目標(biāo)IP地址是變化的。這里假設(shè)任何后端服務(wù)器都可以處理任一請(qǐng)求,算法的設(shè)計(jì)目標(biāo)是在服務(wù)器的負(fù)載基本平衡情況下,將相同目標(biāo)IP地址的請(qǐng)求調(diào)度到同一臺(tái)服務(wù)器,來(lái)提高各臺(tái)服務(wù)器的訪問(wèn)局部性和主存Cache命中率,從而整個(gè)集群系統(tǒng)的處理能力。LBLC調(diào)度算法先根據(jù)請(qǐng)求的目標(biāo)IP地址找出該目標(biāo)IP地址最近使用的服務(wù)器,若該服務(wù)器是可用的且沒(méi)有超載,將請(qǐng)求發(fā)送到該服務(wù)器;若服務(wù)器不存在,或者該服務(wù)器超載且有服務(wù)器處于其一半的工作負(fù)載,則用“最少鏈接”的原則選出一個(gè)可用的服務(wù)器,將請(qǐng)求發(fā)送到該服務(wù)器。
?        帶復(fù)制的基于局部性最少鏈接(Locality-Based Least Connections with Replication Scheduling)
帶復(fù)制的基于局部性最少鏈接調(diào)度(Locality-Based Least Connections with Replication Scheduling,以下簡(jiǎn)稱為L(zhǎng)BLCR)算法也是針對(duì)目標(biāo)IP地址的負(fù)載均衡,目前主要用于Cache集群系統(tǒng)。它與LBLC算法的不同之處是它要維護(hù)從一個(gè)目標(biāo)IP地址到一組服務(wù)器的映射,而LBLC算法維護(hù)從一個(gè)目標(biāo)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)度算法會(huì)從所有的Cache服務(wù)器中按“最小連接”原則選出一臺(tái)Cache服務(wù)器,映射該“熱門”站點(diǎn)到這臺(tái)Cache服務(wù)器,很快這臺(tái)Cache服務(wù)器也會(huì)超載,就會(huì)重復(fù)上述過(guò)程選出新的Cache服務(wù)器。這樣,可能會(huì)導(dǎo)致該“熱門”站點(diǎn)的映像會(huì)出現(xiàn)在所有的Cache服務(wù)器上,降低了Cache服務(wù)器的使用效率。LBLCR調(diào)度算法將“熱門”站點(diǎn)映射到一組Cache服務(wù)器(服務(wù)器集合),當(dāng)該“熱門”站點(diǎn)的請(qǐng)求負(fù)載增加時(shí),會(huì)增加集合里的Cache服務(wù)器,來(lái)處理不斷增長(zhǎng)的負(fù)載;當(dāng)該“熱門”站點(diǎn)的請(qǐng)求負(fù)載降低時(shí),會(huì)減少集合里的Cache服務(wù)器數(shù)目。這樣,該“熱門”站點(diǎn)的映像不太可能出現(xiàn)在所有的Cache服務(wù)器上,從而提供Cache集群系統(tǒng)的使用效率。LBLCR算法先根據(jù)請(qǐng)求的目標(biāo)IP地址找出該目標(biāo)IP地址對(duì)應(yīng)的服務(wù)器組;按“最小連接”原則從該服務(wù)器組中選出一臺(tái)服務(wù)器,若服務(wù)器沒(méi)有超載,將請(qǐng)求發(fā)送到該服務(wù)器;若服務(wù)器超載;則按“最小連接”原則從整個(gè)集群中選出一臺(tái)服務(wù)器,將該服務(wù)器加入到服務(wù)器組中,將請(qǐng)求發(fā)送到該服務(wù)器。同時(shí),當(dāng)該服務(wù)器組有一段時(shí)間沒(méi)有被修改,將最忙的服務(wù)器從服務(wù)器組中刪除,以降低復(fù)制的程度。
?        目標(biāo)地址散列調(diào)度(Destination Hashing Scheduling)
目標(biāo)地址散列調(diào)度(Destination Hashing Scheduling)算法也是針對(duì)目標(biāo)IP地址的負(fù)載均衡,但它是一種靜態(tài)映射算法,通過(guò)一個(gè)散列(Hash)函數(shù)將一個(gè)目標(biāo)IP地址映射到一臺(tái)服務(wù)器。目標(biāo)地址散列調(diào)度算法先根據(jù)請(qǐng)求的目標(biāo)IP地址,作為散列鍵(Hash Key)從靜態(tài)分配的散列表找出對(duì)應(yīng)的服務(wù)器,若該服務(wù)器是可用的且未超載,將請(qǐng)求發(fā)送到該服務(wù)器,否則返回空。
?        源地址散列調(diào)度(Source Hashing Scheduling)
源地址散列調(diào)度(Source Hashing Scheduling)算法正好與目標(biāo)地址散列調(diào)度算法相反,它根據(jù)請(qǐng)求的源IP地址,作為散列鍵(Hash Key)從靜態(tài)分配的散列表找出對(duì)應(yīng)的服務(wù)器,若該服務(wù)器是可用的且未超載,將請(qǐng)求發(fā)送到該服務(wù)器,否則返回空。它采用的散列函數(shù)與目標(biāo)地址散列調(diào)度算法的相同。它的算法流程與目標(biāo)地址散列調(diào)度算法的基本相似,除了將請(qǐng)求的目標(biāo)IP地址換成請(qǐng)求的源IP地址,所以這里不一一敘述。在實(shí)際應(yīng)用中,源地址散列調(diào)度和目標(biāo)地址散列調(diào)度可以結(jié)合使用在防火墻集群中,它們可以保證整個(gè)系統(tǒng)的唯一出入口。


T61: T9300, 2Gx2, WSXGA+, 3945ABG, BT, DVD/RW DL, Slackware.
T23: 1333G, 512Mx2, SXGA+, Atheros 802.11ABG, DVD/CD-RW.

4、實(shí)戰(zhàn)演練

4.1、掌握了基本的概念之后,可以進(jìn)行下一步的安裝演練了。先搭建LVS平臺(tái)。
4.1.1、前端負(fù)載調(diào)度器

required
kernel:http://www.kernel.org/
ipvsadm:http://www.linuxvirtualserver.org/software/ipvs.html
ARP hidden:http://www.ssi.bg/~ja/
注:
a. Kernel,IPVS,IPVSadm,ARP hidden之間的版本必須對(duì)應(yīng)。
b. 自己編譯內(nèi)核時(shí),從http://www.kernel.org/下載標(biāo)準(zhǔn)內(nèi)核源文件,不要使用發(fā)行版的內(nèi)核源文件。
c. Kernel 2.4.28和2.6.10及以上版本已內(nèi)置IPVS,有些Linux發(fā)行版也在其內(nèi)核里編譯了IPVS。
d. ARP hidden可以用arp_ignore/arp_announce或者arptables代替,解決LVS-DR/LVS-Tun的arp問(wèn)題。
解壓內(nèi)核源碼,這里我在/usr/src目錄下執(zhí)行(也可以打個(gè)kernel patch)。
tar zxvf linux-2.4.33.2.tar.gz
ln -s linux-2.4.33.2 linux
cd /usr/src/linux
mv ~/hidden-2.4.28-1.diff ./
patch -p1 < hidden-2.4.28-1.diff




本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
LVS負(fù)載均衡原理和算法詳解
如何編寫(xiě)LVS對(duì)Real Server的健康狀態(tài)檢測(cè)腳本
LVS負(fù)載均衡原理
LVS(一)掃盲
LVS原理詳解及部署之二:LVS原理詳解(3種工作方式8種調(diào)度算法)
LVS基本介紹
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服