改造負(fù)載均衡 提升網(wǎng)絡(luò)運(yùn)行穩(wěn)定性
為了能夠向各類用戶提供持續(xù)、不間斷的網(wǎng)絡(luò)應(yīng)用服務(wù),例如提供常規(guī)Web服務(wù)、數(shù)據(jù)庫服務(wù)以及其他特殊應(yīng)用服務(wù),同時(shí)保證這些業(yè)務(wù)的安全備份和用戶重要隱私信息的安全備份,現(xiàn)在很多單位都采用了active/standby切換模式來部署兩臺(tái)后臺(tái)服務(wù)器系統(tǒng),以便實(shí)現(xiàn)雙機(jī)軟備份的目的。
一旦其中某臺(tái)服務(wù)器系統(tǒng)在運(yùn)行過程中遇到意外不能正常工作時(shí),備份服務(wù)器系統(tǒng)將從standby模式狀態(tài)自動(dòng)切換到active模式狀態(tài),確保各類網(wǎng)絡(luò)應(yīng)用服務(wù)的持續(xù)、不間斷運(yùn)行。不過,從實(shí)際運(yùn)行效果來看,這種服務(wù)器部署運(yùn)行方式也存在一些缺憾:在同時(shí)部署了多臺(tái)服務(wù)器的局域網(wǎng)運(yùn)行環(huán)境中,上述服務(wù)器部署方式總是造成一臺(tái)服務(wù)器系統(tǒng)始終處于待機(jī)運(yùn)行狀態(tài),而另外一臺(tái)服務(wù)器系統(tǒng)則是時(shí)刻工作在超負(fù)荷運(yùn)行狀態(tài);這就有可能造成這樣一種局面,那就是所有用戶的訪問需求量要是超過單臺(tái)服務(wù)器系統(tǒng)的運(yùn)行負(fù)荷的時(shí)候,整個(gè)服務(wù)器組都有可能會(huì)發(fā)生癱瘓狀態(tài)。遭遇這種特殊情況的時(shí)候,我們往往只有對(duì)服務(wù)器組進(jìn)行及時(shí)升級(jí)、改造才能解決上面的運(yùn)行難題,不過持續(xù)對(duì)服務(wù)器系統(tǒng)進(jìn)行改造、升級(jí),顯然會(huì)增加運(yùn)行成本,同時(shí)還會(huì)造成服務(wù)器系統(tǒng)資源的更大浪費(fèi)。
改造負(fù)載均衡
筆者所在單位大樓局域網(wǎng)網(wǎng)絡(luò),共有1500個(gè)左右的上網(wǎng)節(jié)點(diǎn),所有上網(wǎng)節(jié)點(diǎn)全部通過代理服務(wù)器方式來實(shí)現(xiàn)訪問Internet網(wǎng)絡(luò)的目的,受制于單臺(tái)代理服務(wù)器的系統(tǒng)運(yùn)行性能以及系統(tǒng)故障等因素,局域網(wǎng)通過代理服務(wù)器上網(wǎng)方式的運(yùn)行穩(wěn)定性無法得到有效保證,所以我們對(duì)代理服務(wù)器的負(fù)載均衡進(jìn)行了升級(jí)、改造,確保局域網(wǎng)中的所有上網(wǎng)流量都能通過負(fù)載均衡機(jī)制,平均分配到整個(gè)服務(wù)器組的各個(gè)單臺(tái)服務(wù)器系統(tǒng)中,這樣既能保證網(wǎng)絡(luò)應(yīng)用服務(wù)的運(yùn)行穩(wěn)定性,又不會(huì)造成服務(wù)器資源的更大浪費(fèi)。
為了為上網(wǎng)用戶提供一個(gè)目標(biāo)服務(wù)或同時(shí)提供多個(gè)目標(biāo)服務(wù),我們?cè)谄邔咏粨Q機(jī)上通過IP地址與TCP/UDP端口的不同組合,來為每一個(gè)目標(biāo)服務(wù)設(shè)置一個(gè)不同的虛擬IP地址;正因?yàn)槿绱耍邔咏粨Q機(jī)可以同時(shí)為若干個(gè)基于TCP/IP協(xié)議的各類業(yè)務(wù)應(yīng)用提供服務(wù)器系統(tǒng)的負(fù)載均衡服務(wù);七層交換機(jī)可以持續(xù)不停地對(duì)用戶需要訪問的服務(wù)器系統(tǒng)資源進(jìn)行合理性檢查,檢查范圍限定在交換機(jī)的四層到七層范圍內(nèi),當(dāng)上網(wǎng)用戶向目標(biāo)服務(wù)器系統(tǒng)發(fā)出訪問請(qǐng)求信息時(shí),BIG/IP協(xié)議會(huì)依照目標(biāo)服務(wù)器之間的網(wǎng)絡(luò)健康狀態(tài)以及運(yùn)行性能狀態(tài),自動(dòng)挑選性能狀態(tài)處于最優(yōu)效果的服務(wù)器系統(tǒng)來應(yīng)答用戶的上網(wǎng)請(qǐng)求信息,這樣不但可以充分利用每一臺(tái)服務(wù)器系統(tǒng)的資源,而且也會(huì)平均分配數(shù)據(jù)流量到每一臺(tái)服務(wù)器系統(tǒng)中,避免了單臺(tái)代理服務(wù)器傳輸性能的瓶頸以及系統(tǒng)故障的影響。通過增加七層交換機(jī),我們可以對(duì)局域網(wǎng)的數(shù)據(jù)流量以及訪問內(nèi)容進(jìn)行靈活的管理與分配,利用七層交換機(jī)自帶的12種與眾不同的數(shù)據(jù)算法,將局域網(wǎng)中的訪問數(shù)據(jù)流按需轉(zhuǎn)發(fā)分配給它想要訪問的服務(wù)器組,而對(duì)于上網(wǎng)用戶來說,我們看到的只是一臺(tái)虛擬的服務(wù)器。這個(gè)時(shí)候,上網(wǎng)用戶只需要記住虛擬服務(wù)器的訪問地址,而不需要同時(shí)記住整個(gè)服務(wù)器組的其他服務(wù)器地址,用戶向虛擬服務(wù)器發(fā)出的數(shù)據(jù)流會(huì)自動(dòng)被七層交換機(jī)靈活地平均分配給所有的服務(wù)器系統(tǒng)。七層交換機(jī)所采用的12種與眾不同的數(shù)據(jù)算法,主要有:
優(yōu)先權(quán)算法:這種算法主要就是對(duì)所有的服務(wù)器系統(tǒng)進(jìn)行分組,同時(shí)對(duì)這些分組設(shè)置合適的訪問優(yōu)先權(quán),BIG/IP協(xié)議會(huì)把上網(wǎng)用戶的數(shù)據(jù)請(qǐng)求,優(yōu)先分配給優(yōu)先權(quán)級(jí)別最高的服務(wù)器分組,一旦優(yōu)先權(quán)級(jí)別最高的服務(wù)器分組工作狀態(tài)不正常的時(shí)候,第二優(yōu)先權(quán)級(jí)別的服務(wù)器分組會(huì)自動(dòng)遞補(bǔ)上來,負(fù)責(zé)處理上網(wǎng)用戶的數(shù)據(jù)請(qǐng)求;如果第二優(yōu)先權(quán)級(jí)別的服務(wù)器分組也遇到了故障無法正常工作的話,那么其他服務(wù)器分組會(huì)依次進(jìn)行遞補(bǔ);顯然這種數(shù)據(jù)算法,為上網(wǎng)用戶提供了一種熱備份的功能。
比率算法:這種算法是為整個(gè)服務(wù)器組中的每一臺(tái)服務(wù)器系統(tǒng)事先設(shè)置一個(gè)加權(quán)值比例,同時(shí)依照這個(gè)加權(quán)值比例,自動(dòng)將上網(wǎng)用戶的數(shù)據(jù)請(qǐng)求信息分配給每一臺(tái)服務(wù)器系統(tǒng);一旦整個(gè)服務(wù)器中的某一臺(tái)服務(wù)器系統(tǒng)在第二層到第七層范圍內(nèi)遇到故障無法正常工作的時(shí)候,BIG/IP協(xié)議會(huì)自動(dòng)將這臺(tái)故障服務(wù)器系統(tǒng)從整個(gè)服務(wù)器組中臨時(shí)剔除出來,確保它不會(huì)參加下一次上網(wǎng)用戶請(qǐng)求的分配任務(wù),直到它的故障被成功排除為止。
輪詢算法:這種算法是比較常用的一種算法,它主要是將上網(wǎng)用戶的數(shù)據(jù)請(qǐng)求按照順序進(jìn)行循環(huán),依次發(fā)送給整個(gè)服務(wù)器組中的每一臺(tái)服務(wù)器系統(tǒng)進(jìn)行處理;如果整個(gè)服務(wù)器組中有某臺(tái)服務(wù)器系統(tǒng)在第二層到第七層范圍內(nèi)遇到故障無法正常工作的時(shí)候,BIG/IP協(xié)議會(huì)自動(dòng)將這臺(tái)故障服務(wù)器系統(tǒng)從循環(huán)隊(duì)列中臨時(shí)剔除出來,確保它不會(huì)參與輪詢算法,直到它的故障被成功排除為止。
除了上面幾種主要的數(shù)據(jù)算法外,七層交換機(jī)的算法還包括服務(wù)類型算法、服務(wù)質(zhì)量算法、觀察模式算法、最快模式算法、最少的連接方式算法、預(yù)測(cè)模式算法、動(dòng)態(tài)服務(wù)器補(bǔ)充算法、規(guī)則模式算法、動(dòng)態(tài)性能分配算法等等。
#p#
升級(jí)改造目的
通過上述升級(jí)、改造方案,我們可以輕而易舉地對(duì)整個(gè)服務(wù)器組實(shí)現(xiàn)流量均衡分配,這樣解決了單臺(tái)服務(wù)器性能瓶頸的缺點(diǎn),提升了整個(gè)局域網(wǎng)服務(wù)器系統(tǒng)的運(yùn)行穩(wěn)定性和運(yùn)行可靠性;上述升級(jí)改造方案可以幫助我們非常輕松地同步服務(wù)器提供的數(shù)據(jù)內(nèi)容,并且方便我們對(duì)其中的數(shù)據(jù)內(nèi)容進(jìn)行監(jiān)控,保證上網(wǎng)用戶能從局域網(wǎng)服務(wù)器中訪問得到準(zhǔn)確、可靠的信息;通過對(duì)服務(wù)器系統(tǒng)的負(fù)載均衡改造,我們能夠?qū)\(yùn)行在服務(wù)器系統(tǒng)中的各個(gè)網(wǎng)絡(luò)應(yīng)用程序進(jìn)行運(yùn)行狀態(tài)的實(shí)時(shí)監(jiān)控,并且對(duì)那些存在故障的應(yīng)用系統(tǒng)進(jìn)行自動(dòng)屏蔽;此外,這種負(fù)載均衡升級(jí)改造方案,還為網(wǎng)絡(luò)管理員在線調(diào)試、維護(hù)服務(wù)器系統(tǒng)帶來了便利。
最后的總結(jié)
筆者所在單位大樓局域網(wǎng)網(wǎng)絡(luò)的Internet出口,經(jīng)過負(fù)載均衡升級(jí)改造之后,成功地提升了局域網(wǎng)客戶端系統(tǒng)訪問Internet網(wǎng)絡(luò)的運(yùn)行安全性和穩(wěn)定性,確保了局域網(wǎng)用戶在上網(wǎng)沖浪時(shí)的高速、可靠、穩(wěn)定地訪問,有效避免了由局域網(wǎng)中重要網(wǎng)絡(luò)設(shè)備引起的單點(diǎn)故障;此外,上述升級(jí)改造方案提出了通過負(fù)載均衡技術(shù)解決單點(diǎn)網(wǎng)絡(luò)出口傳輸性能瓶頸的方案,為單位局域網(wǎng)的信息化建設(shè)提供了有力的保障。
小提示:
針對(duì)網(wǎng)絡(luò)上負(fù)載過重的不同瓶頸所在,從網(wǎng)絡(luò)的不同層次入手,我們可以采用相應(yīng)的負(fù)載均衡技術(shù)來解決現(xiàn)有問題。隨著帶寬增加,數(shù)據(jù)流量不斷增大,網(wǎng)絡(luò)核心部分的數(shù)據(jù)接口將面臨瓶頸問題,原有的單一線路將很難滿足需求,而且線路的升級(jí)又過于昂貴甚至難以實(shí)現(xiàn),這時(shí)就可以考慮采用鏈路聚合 (Trunking)技術(shù)。鏈路聚合技術(shù)(第二層負(fù)載均衡)將多條物理鏈路當(dāng)作一條單一的聚合邏輯鏈路使用,網(wǎng)絡(luò)數(shù)據(jù)流量由聚合邏輯鏈路中所有物理鏈路共同承擔(dān),由此在邏輯上增大了鏈路的容量,使其能滿足帶寬增加的需求。
現(xiàn)代負(fù)載均衡技術(shù)通常操作于網(wǎng)絡(luò)的第四層或第七層。第四層負(fù)載均衡將一個(gè)Internet上合法注冊(cè)的IP地址映射為多個(gè)內(nèi)部服務(wù)器的IP地址,對(duì)每次TCP連接請(qǐng)求動(dòng)態(tài)使用其中一個(gè)內(nèi)部IP地址,達(dá)到負(fù)載均衡的目的。在第四層交換機(jī)中,此種均衡技術(shù)得到廣泛的應(yīng)用,一個(gè)目標(biāo)地址是服務(wù)器群 VIP(虛擬IP,Virtual IP address)連接請(qǐng)求的數(shù)據(jù)包流經(jīng)交換機(jī),交換機(jī)根據(jù)源端和目的IP地址、TCP或UDP端口號(hào)和一定的負(fù)載均衡策略,在服務(wù)器IP和VIP間進(jìn)行映射,選取服務(wù)器群中最好的服務(wù)器來處理連接請(qǐng)求。第七層負(fù)載均衡控制應(yīng)用層服務(wù)的內(nèi)容,提供了一種對(duì)訪問流量的高層控制方式,適合對(duì)HTTP服務(wù)器群的應(yīng)用。第七層負(fù)載均衡技術(shù)通過檢查流經(jīng)的HTTP報(bào)頭,根據(jù)報(bào)頭內(nèi)的信息來執(zhí)行負(fù)載均衡任務(wù)。
第七層負(fù)載均衡優(yōu)點(diǎn)表現(xiàn)在如下幾個(gè)方面:通過對(duì)HTTP報(bào)頭的檢查,可以檢測(cè)出HTTP400、500和600系列的錯(cuò)誤信息,因而能透明地將連接請(qǐng)求重新定向到另一臺(tái)服務(wù)器,避免應(yīng)用層故障??筛鶕?jù)流經(jīng)的數(shù)據(jù)類型(如判斷數(shù)據(jù)包是圖像文件、壓縮文件或多媒體文件格式等),把數(shù)據(jù)流量引向相應(yīng)內(nèi)容的服務(wù)器來處理,增加系統(tǒng)性能。能根據(jù)連接請(qǐng)求的類型,如是普通文本、圖象等靜態(tài)文檔請(qǐng)求,還是asp、cgi等的動(dòng)態(tài)文檔請(qǐng)求,把相應(yīng)的請(qǐng)求引向相應(yīng)的服務(wù)器來處理,提高系統(tǒng)的性能及安全性。第七層負(fù)載均衡受到其所支持的協(xié)議限制(一般只有HTTP),這樣就限制了它應(yīng)用的廣泛性,并且檢查HTTP報(bào)頭會(huì)占用大量的系統(tǒng)資源,勢(shì)必會(huì)影響到系統(tǒng)的性能,在大量連接請(qǐng)求的情況下,負(fù)載均衡設(shè)備自身容易成為網(wǎng)絡(luò)整體性能的瓶頸。