徐紅梅
(四川職業(yè)技術(shù)學院計算機科學系,四川遂寧629000)
基于LVS-NAT轉(zhuǎn)發(fā)的LVS負載均衡集群的研究
徐紅梅
(四川職業(yè)技術(shù)學院計算機科學系,四川遂寧629000)
大型網(wǎng)站的后臺服務器普遍采用集群技術(shù).而如何解決集群內(nèi)部的負載均衡問題,確保服務質(zhì)量成為了重要課題.本文以LVS—NAT轉(zhuǎn)發(fā)作為負載均衡搭建集群,從它的原理和其中的加權(quán)調(diào)度算法,實施條件及優(yōu)缺點方面對lvs-NAT轉(zhuǎn)發(fā)進行研究.
LVS;均衡負載;調(diào)度算法
從網(wǎng)絡形成到至今,網(wǎng)絡發(fā)展高速前行,使網(wǎng)絡融入人們的生活,越來越多的人上網(wǎng),也使人們對網(wǎng)絡服務的質(zhì)量例如網(wǎng)速,網(wǎng)絡的穩(wěn)定性及硬件要求越高,除了更新設(shè)備外,僅通過提高某個服務器的硬件性能已遠遠不能滿足人們的需求,L V S均衡負載集群技術(shù)簡稱L V S(L i nu x V i r tu al S er v er)即L i nu x虛擬服務器,是一個虛擬的服務器集群系統(tǒng).使用L V S技術(shù)能夠解決的問題是,可以通過L i nu x操作系統(tǒng)及L V S提供的負載均衡技術(shù)實現(xiàn)一個具有良好可靠性、可擴展性和可操作性的高性能、高可用的服務器群集,從而以低廉的成本實現(xiàn)最優(yōu)的服務性能.
負載均衡技術(shù)在網(wǎng)絡服務中應用很多,如以D N S為基礎(chǔ)的域名輪流解析、在客戶端訪問時調(diào)度方法、系統(tǒng)負載在應用層調(diào)度方法,還有IP地址的在分配時的調(diào)度方法等,在這些負載調(diào)度算法中,均以減輕服務器負載為目的,其中執(zhí)行效率最高的是IP負載均衡技術(shù).
L V S的IP負載均衡技術(shù)是通過ip v s內(nèi)核模塊來實現(xiàn)的,ip v s是L V S集群系統(tǒng)的核心軟件,它的主要作用是:安裝在D i rector S er v er上,同時在D i rector S er v er上虛擬出一個IP地址,用戶必須通過這個虛擬的IP地址訪問集群服務.這個虛擬IP一般稱為L V S的VIP,即V i rtu al IP.訪問的請求首先經(jīng)過VIP到達負載調(diào)度器,然后由負載調(diào)度器從R e al S er v er列表中選取一個服務節(jié)點響應用戶的請求.當用戶的請求到達負載調(diào)度器后,調(diào)度器如何將請求發(fā)送到提供服務的R e al S er v er節(jié)點,而R e al S er v er節(jié)點如何返回數(shù)據(jù)給用戶,是ip v s實現(xiàn)的重點技術(shù),ip v s實現(xiàn)負載均衡機制有四種,分別是NAT、T U N和D R F u l l N a t.這里我們將對IPV S中的NAT負載平衡機制進行探討及研究.
l v s負載均衡集群中的L V S D i rector根據(jù)對OS I參考模型的第三、四層即網(wǎng)絡層、傳輸層信息進行分析,把數(shù)據(jù)包轉(zhuǎn)發(fā)到集群節(jié)點處理.L V S接收到用戶請求的數(shù)據(jù)包后,根據(jù)制定的負載均衡調(diào)度方法選擇合適的集群節(jié)點,將請求包中虛擬IP地址替換成選定的節(jié)點IP,然后發(fā)給此節(jié)點,節(jié)點相應完成之后講應答數(shù)據(jù)包發(fā)給L V S D i rector,L V S D irector把應打包中的集群節(jié)點IP轉(zhuǎn)換成L V S D irector的IP,再發(fā)回用戶.在L V S-NAT集群中,請求和響應的數(shù)據(jù)報文都需要通過L V S D i rector,因此,可以重新映射網(wǎng)絡端口,減少集群節(jié)點被攻擊的可能性.工作原理如圖1-1所示.在L V S-NAT工作模式中,D i rector一是負責將用戶請求分發(fā)給后端的服務器群組,二則是扮演路由器的角色,將外部地址獲取的地址通它轉(zhuǎn)換為內(nèi)部地址供內(nèi)部服務器使用.在該工作模式中,L V S-NAT服務器群組對用戶請求的響應全部經(jīng)由L V S-NAT服務器轉(zhuǎn)發(fā)給用戶.由于用戶和服務器群組分別處于不同的網(wǎng)絡,需在L V S-NAT上開啟路由轉(zhuǎn)發(fā)功能。由D N S服務器202.98.96.68提供一個L V S地址125.67.64.236.即外網(wǎng)地址,用戶獲取得到該IP地址經(jīng)由L V S-NAT服務器轉(zhuǎn)發(fā)后提供轉(zhuǎn)發(fā)節(jié)點IP192.168.10.1,由L V S-NAT向內(nèi)網(wǎng)提供IP地址段192.168.10.0/24,內(nèi)網(wǎng)中三臺w e b服務器同時工作,分擔L V S-NAT服務器負載.
圖1-1 LVS-NAT轉(zhuǎn)發(fā)
在H TTP協(xié)議中,當客戶端用戶從WEB服務器上獲取請求服務時,需要建立一個TCP連接,而同一用戶的不同請求將會通過調(diào)度算法被調(diào)度到不同的服務器上,IPV S在內(nèi)核中的負載均衡調(diào)度是以連接為單位粒度的,所以這種單位粒度的調(diào)度在一定程度上可以解決由單個用戶訪問服務器量突然增大的突發(fā)性情況引起服務器間的負載不平衡.
目前,L V S負載調(diào)度方法有10種,內(nèi)核中的連接調(diào)度算法上,IPV S已實現(xiàn)了八種調(diào)度算法,其中之一就是下面講的輪叫調(diào)度算法(R oun d R o b i n S che d u li n g),算法思想就是將外部請求按順序輪流分配到服務器池中的服務器,它均等地對待每臺服務器,而不管服務器上實際的連接數(shù)和系統(tǒng)負載情況.當每次請求調(diào)度時用區(qū)模的方法即i=(i+1) m o d n來優(yōu)先選取第i臺服務器連接。算法的優(yōu)點是相對簡單,適用于服務器處理性能一致性的集群.
加權(quán)輪叫調(diào)度算法是對輪叫算法的改進,在系統(tǒng)調(diào)度時,引入加權(quán)值的方法,保證處理能力強的服務器能處理更多的訪問量,負載均衡調(diào)度器可以自動問詢服務器池中的服務器的負載情況,并動態(tài)地調(diào)整其權(quán)值.
當服務器處理能力強時,其加權(quán)系數(shù)相應增大,當服務器不工作或不可用出現(xiàn)故障時,其權(quán)值為零.所以,算法在模取優(yōu)選服務器時需要增加一個權(quán)值作為額外附加值.
算法流程說明如圖2-1所示。假設(shè)現(xiàn)有服務器組S={S0,S1,S2…,S n-1},其中W(Si)表示服務器Si的權(quán)值,i表示服務器順序,表示當前服務器權(quán)值,ma x(S)服務器中的最大權(quán)值,g c d(S)表示所有服務器權(quán)值的最大公約數(shù).變量初始化i=—1,c w=0.
圖2-1 輪叫算法調(diào)度流程圖
算法思想如下
(1)運行環(huán)境要求下載最穩(wěn)定版本的l i nu x內(nèi)核,及ip v s adm軟件工具和P H P解釋器軟件包,三到四臺運行不同操作系統(tǒng)的集群節(jié)點w e b服務器.其中一臺以安裝雙網(wǎng)卡re d h a t L i nu x操作系統(tǒng)的主機作為L V S D i rector.一臺集線器或交換機,連接所有的集群節(jié)點和L V Sdi rector(eth1連接交換機,eth0連接供用戶訪問的路由器).如圖3-1連接所示.
圖3-1 網(wǎng)絡連接圖
(2)重新編譯內(nèi)核及軟件的解包安裝在L V S D irector上重新編譯內(nèi)核程序,讓內(nèi)核支持IPV S并減少不必要的功能,測試使用新內(nèi)核引導。配置網(wǎng)絡參數(shù)
在L V S D i rector上解包和使用ma k e程序編譯,安裝IPv s adm和P H P軟件
(3)用P H P編寫集群節(jié)點監(jiān)控程序,目的是定時每分鐘掃描一次所有集群節(jié)點,建立最新可用的集群節(jié)點,去除故障節(jié)點,以防用戶的請求發(fā)送到故障節(jié)點.
4.1 NAT模式優(yōu)點
在現(xiàn)有IPV4地址短缺時期,可節(jié)約外網(wǎng)IP地址,不占用外網(wǎng)IP地址.抗負載能領(lǐng)強不需要對A-pa che S er v er做任何設(shè)置,只需要一個內(nèi)網(wǎng)IP地址即可,對用戶來說,內(nèi)部的A pa che S er v er是透明的.服務器穩(wěn)定,在NAT模式工作的L V S的L i nu x系統(tǒng)上不需要修改M T U的大小,完全輸入一種非侵入式,輕量級的做法.安全性比較高,NAT的網(wǎng)絡類似防火墻,通過內(nèi)部轉(zhuǎn)發(fā)的IP地址,將服務結(jié)點池?和外網(wǎng)隔開.服務器結(jié)點無法和客戶端直接通信,而需要經(jīng)過負載均衡器進行IP?包處理請求數(shù)據(jù)還是應答數(shù)據(jù)的工作,在集中處理操作中占優(yōu)勢.
4.2 NAT模式的缺點
L V S D i rector是整個服務器集群的瓶頸,當集群節(jié)點數(shù)超過10臺以上時,L V S D i rector必須對進出集群的網(wǎng)絡數(shù)據(jù)包改寫包的頭地址,因此會影響整個集群的性能,在負荷比較重時,不適用此模式.
[1]彭土有.開源L i nu x集群技術(shù)研究[J].廣東科技,2008,(08).
[2]李子民.基于L V S的集群動態(tài)負載均衡算法研究[D].成都:電子科技大學,2009.
[3]陳偉.基于負反饋的負載均衡算法實現(xiàn)[J].湖南文理學院學報(自然科學版),2013,(01).
[4]王軍亮.L V S集群中IP負載均衡技術(shù)的研究[J].貴州科學,2009,(02).
Resear ch on LVSLoad Bal anci ng Cl ust er Based on LVS- NATForwar di ng
XU Hongmei
(Sichuan Vocational and Technical College, Suining Sichuan 629000)
Cluster technology is widely used in the back-end server of large web sites. How to solve the problem of load balancing in cluster and to ensure the quality of service becomes an important issue.In this paper, LVS-NAT forwarding is used as a load-balancing cluster, and its principle and its weighted scheduling algorithm, implementation conditions and advantages and disadvantages are studied.
L V S;Bala nce d Lo ad;S che d u li n g A l g or i th m
TP393
A
1672-2094(2017)01-0149-03
責任編輯:張隆輝
2016-10-20
四川省省教廳自然科學項目(編號14Z B0344).
徐紅梅(1977-),北京石景山人,四川職業(yè)技術(shù)學院副教授.研究方向:網(wǎng)絡技術(shù)方向.