《電子技術應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 設計應用 > LVS集群技術在教學資源庫平臺中的應用
LVS集群技術在教學資源庫平臺中的應用
來源:微型機與應用2013年第23期
邱建新
(河南工業(yè)職業(yè)技術學院,,河南 南陽 473000)
摘要: 介紹了LVS集群技術的原理,、框架。以CentOS操作系統(tǒng)為基礎,,描述了LVS集群的配置及實現(xiàn)過程,,并對構建的集群系統(tǒng)進行了配置、功能和性能測試,。測試結果表明,,所構建的集群系統(tǒng)穩(wěn)定、可靠,,具有高可用性,、可擴展性和負載均衡的特性。
Abstract:
Key words :

摘  要: 介紹了LVS集群技術的原理,、框架,。以CentOS操作系統(tǒng)為基礎,描述了LVS集群的配置及實現(xiàn)過程,,并對構建的集群系統(tǒng)進行了配置,、功能和性能測試。測試結果表明,,所構建的集群系統(tǒng)穩(wěn)定,、可靠,具有高可用性,、可擴展性和負載均衡的特性,。
關鍵詞: LVS,;集群;教學資源庫,;負載均衡,;高可用性

 隨著互聯(lián)網(wǎng)規(guī)模的快速擴張,人們訪問互聯(lián)網(wǎng)的業(yè)務流量呈爆炸式的增長,,網(wǎng)絡服務器的并發(fā)響應能力面臨嚴峻的考驗,;同時,更多更復雜的Web事務處理也對服務器的性能提出了更高的要求,。單臺的計算機提供的服務已不能勝任如此艱巨的任務,,而集群技術的出現(xiàn),則有效地解決了這一問題,。
 根據(jù)集群的功能,、結構和技術的不同,可分為高性能集群,、高可用性集群和負載均衡集群,,其中負載均衡是集群技術的核心,是決定集群性能的重要因素[1],。在集群技術的發(fā)展過程中,,出現(xiàn)了許多種不同的集群技術實現(xiàn)方案,而Linux作為一種開源的操作系統(tǒng)及基于LVS實現(xiàn)的Linux集群技術,,則更多地得到了人們的關注,。
1 LVS集群技術
1.1 LVS簡介

 LVS[2](Linux Virtual Server,Linux虛擬服務器)是Linux操作系統(tǒng)上的一個負載均衡軟件,,是在1998年由國防科技大學的章文嵩博士主持的一個在Linux操作系統(tǒng)上開發(fā)的開源集群項目[3],。目前技術發(fā)展的比較成熟,已成為Linux內(nèi)核的一部分,。
1.2 LVS模型
 LVS提供的可伸縮網(wǎng)絡服務的框架如圖1所示,。IPVS軟件提供三種IP負載均衡技術,KTCPVS實現(xiàn)了基于內(nèi)容請求分發(fā)的應用層交換,??梢岳肔VS框架實現(xiàn)高可伸縮的、高可用的Web,、FTP,、Mail等網(wǎng)絡服務,開發(fā)高可用的電子商務應用,。

 LVS在兩個層次上很好實現(xiàn)了負載均衡,,基于網(wǎng)絡層的IPVS和應用層的KTCPVS內(nèi)容請求分發(fā)技術,三種負載均衡技術分別為網(wǎng)絡地址轉換模式VS/NAT,、IP隧道模式VS/TUN和直接路由模式VS/DR,。
1.3 LVS的通用體系結構[4]
 在圖2所示中,,負載調度器是集群調度的核心,是客戶機通過虛擬IP訪問集群系統(tǒng)的入口,。多個真實服務器組成真實提供服務的服務器池,,真實服務器的數(shù)目可根據(jù)需要動態(tài)添加,它們共享一個存儲區(qū)域,。整個系統(tǒng)對外呈現(xiàn)一個虛擬服務器,,擁有虛擬IP,用戶通過虛擬IP訪問負載調度器后,,根據(jù)采用的負載均衡算法將用戶的請求調度到一個真實的內(nèi)部服務器進行處理,,多個服務器可以并行執(zhí)行用戶的請求,增加集群系統(tǒng)的整體吞吐率[5],。

 CentOS5默認安裝LVS,,采用Piranha圖形界面進行配置管理,跳動進程Pulse是Piranha的主進程,,它負責發(fā)送和檢測節(jié)點之間的心跳(heartbeat)[6-7],兩個節(jié)點周期性地發(fā)送heartbeat信息到網(wǎng)絡上,,指出當前節(jié)點是活動(active)的還是非活動(inactive)的,。當LVS開始工作時,LVS進程通過調用ipvsadm程序配置和維護內(nèi)核中的IPVS路由表,,為每一個真實服務器啟動一個nanny進程,。nanny進程可以查看服務器上配置服務的狀態(tài),在服務故障時,,通知LVS進程,,LVS進程即可調用ipvsadm刪除IPVS中對應的路由表項。
當backup router通過心跳通道(heartbeat channel)沒有接收到active router的回應時,,將調用send_arp函數(shù)重新建立虛擬IP到備份結點MAC的映射,,然后通過發(fā)送命令使active router中的LVS進程關閉,在備份結點中啟動LVS進程以恢復和配置服務器之間的連接,。
2 基于LVS的集群技術在Linux內(nèi)核2.6上的實現(xiàn)[7-8]
2.1 平臺應用背景

 我院的共享型專業(yè)教學資源庫平臺建設是在近幾年學校的數(shù)字化校園建設成果的基礎上,,依托校園網(wǎng)構建一個功能完整、形式多樣,、內(nèi)容豐富的,、基于Web的共享型專業(yè)教學資源庫軟件平臺,構筑開放的教學資源環(huán)境,,最大限度地滿足學生自主學習的需要,。為向系統(tǒng)用戶(教師和學生)提供流暢、不間斷,、實時高速度的訪問服務,,采用了開源Linux操作系統(tǒng)CentOS5.4,,結合基于LVS的集群技術,構建系統(tǒng)平臺服務器,。
2.2 系統(tǒng)拓撲
 平臺系統(tǒng)以虛擬IP向外提供服務,,圖3中①、②為負載均衡主,、從調度器,,通過交換網(wǎng)絡與真實服務器③、④,、⑤,、⑥連接,平臺系統(tǒng)共享內(nèi)部存儲⑦和⑧,。節(jié)點①和②負責把客戶請求轉發(fā)到Real Server上,,當節(jié)點①負載均衡器(load balance)不正常工作時,節(jié)點①的資源和VIP(虛擬IP)自動切換到節(jié)點②,,整個系統(tǒng)的調度策略采用LVS/DR,。共享型專業(yè)教學資源庫平臺拓撲如圖3所示。

2.4 集群系統(tǒng)配置過程
 在CentOS5.4中已集成了LVS,,只需在系統(tǒng)安裝時選擇相應的套件即可,,省去了繁瑣的內(nèi)核編譯過程。
?。?)按拓撲要求,,配置相應服務器的網(wǎng)絡參數(shù),并安裝所需的piranha軟件包,。
#rpm-ivh piranha-0.8.4-7.el5.i386.rpm
#/etc/init.d/piranha-gui restart
?。?)訪問http://125.219.112.X:3636,進行集群的Web界面配置,。
配置包括GLOBAL SETTINGS,、REDUNDANCY和VIRTUAL SERVERS,配置文檔可參考文獻[7],,配置完成后,,信息保存到/etc/sysconfig/ha/lvs.cf文件。
?。?)把主調度器上的配置文件保存到備份調度器,。
 (4)在主,、從調度器上分別啟動piranha主進程,。
#service pulse restart
3 性能測試
 在平臺服務器的集群功能配置完成后,為了驗證集群配置的正確性,,以及是否滿足負載均衡,、高可用性的要求,,同時對于Web站點的服務器的響應時間和吞吐量性能表現(xiàn),做以下測試:
3.1 集群的調度測試

 


 在圖4中,,在3臺真實的Web服務器和1臺的真實FTP服務器中放置不同的首頁面,,利用另一臺測試機訪問并隨機刷新http://125.219.112.X-1或ftp://125.219.112.X-1,查看輸出結果,,測試用戶的訪問能否被調度到真實的服務器上,。
 驗證結果:共進行了100次隨機訪問,其中80次訪問Web服務,,20次訪問FTP服務,,統(tǒng)計不同頁面的出現(xiàn)次數(shù)如表2所示。

3.2 集群可用性測試
 模擬宕機情形,,關閉主調度器,,測試主、從調度器能否正常切換,。
 測試結果:在LVS工作過程中,,關閉主調度器①,通過使用ping命令檢查已不能與主調度器①連通,,用3.1節(jié)中方法重新測試調度,,結果相同,說明在主調度器宕機過程中,,從調度器已接管所有資源管理功能,等到主調度器重啟完成,,再度進行測試,,仍然得到3.1節(jié)中相同的結果,說明在可用性測試中,,集群的主,、從調度器正常平滑切換。
3.3 壓力負載測試
 JMeter[9]是Apache組織的開放源代碼項目,,它是功能和性能測試的工具,。對JMeter進行測試時,使用了分布式測試技術,,使用6臺測試PC,,其中一臺機器作為Controller,其他的機器為Agent,,在所有的機器上運行JMeter-server.bat文件,。在所有的機器上設置線程數(shù)(模擬并發(fā)用戶數(shù)),經(jīng)過統(tǒng)計,,系統(tǒng)的平均響應時間和吞吐量如表3所示,。

 本文使用CentOS5操作系統(tǒng),,采用基于LVS/DR調度的集群技術建立了共享型專業(yè)教學資源庫平臺,并對構建的集群進行了配置,、功能和性能測試,。系統(tǒng)使用以來一直穩(wěn)定、快速,、高效地向校園網(wǎng)絡用戶提供服務,,從未出現(xiàn)過宕機或斷網(wǎng)故障。系統(tǒng)的應用結果表明,,所構建的集群系統(tǒng)具有高可用性,、可擴展性及負載均衡的特性,是安全和穩(wěn)定的集群系統(tǒng),。
 集群系統(tǒng)是復雜的,,可通過不同的配置改變進行優(yōu)化[10],最大限度地提升集群的性能,,這也是下一步的研究重點,。
參考文獻
[1] 涂俊英.一種改進的Linux集群系統(tǒng)負載均衡算法[J].微電子學與計算機,2012,,31(3):106-109.
[2] Xu Yang,, Xie Xiaoyao, Xia Daoxun. Research and design on LVS cluster system[M/CD]. 2009.
[3] Linux服務器集群系統(tǒng)[EB/OL].http://www.linuxvirtualserver.org/zh/lvs1.html,,2003.
[4] 劉惠.基于LVS集群動態(tài)調度的研究與實現(xiàn)[D].安徽:安徽大學,,2012.
[5] 王東煜,張佳樂.基于Linux集群系統(tǒng)的并行通信性能研究[J].電子技術應用,,2012,,38(6):111-113.
[6] 張永立,胡杰,,張根寶.Linux集群心跳檢測方法的研究與實現(xiàn)[J].化工自動化及儀表,,2010(6):82-84.
[7] CentOS 5 Document[EB/OL]. http://www.centos.org/docs/5/html/5.2/2008.5.
[8] 張帆,袁道華,,葉振,,等.基于Linux的服務器集群系統(tǒng)設計及實現(xiàn)[J].計算機工程與應用,2006(5),,127-131.
[9] Apache Jmeter[EB/OL]. http://jmeter.apache.org/,,2013.
[10] 劉玉艷,沈明玉.一種LVS負載均衡調度算法WLC的改進[J].制造業(yè)自動化,,2010,,32(9):187-191.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。