徐紅梅
(四川職業技術學院計算機科學系,四川遂寧629000)
基于LVS-NAT轉發的LVS負載均衡集群的研究
徐紅梅
(四川職業技術學院計算機科學系,四川遂寧629000)
大型網站的后臺服務器普遍采用集群技術.而如何解決集群內部的負載均衡問題,確保服務質量成為了重要課題.本文以LVS—NAT轉發作為負載均衡搭建集群,從它的原理和其中的加權調度算法,實施條件及優缺點方面對lvs-NAT轉發進行研究.
LVS;均衡負載;調度算法
從網絡形成到至今,網絡發展高速前行,使網絡融入人們的生活,越來越多的人上網,也使人們對網絡服務的質量例如網速,網絡的穩定性及硬件要求越高,除了更新設備外,僅通過提高某個服務器的硬件性能已遠遠不能滿足人們的需求,L V S均衡負載集群技術簡稱L V S(L i nu x V i r tu al S er v er)即L i nu x虛擬服務器,是一個虛擬的服務器集群系統.使用L V S技術能夠解決的問題是,可以通過L i nu x操作系統及L V S提供的負載均衡技術實現一個具有良好可靠性、可擴展性和可操作性的高性能、高可用的服務器群集,從而以低廉的成本實現最優的服務性能.
負載均衡技術在網絡服務中應用很多,如以D N S為基礎的域名輪流解析、在客戶端訪問時調度方法、系統負載在應用層調度方法,還有IP地址的在分配時的調度方法等,在這些負載調度算法中,均以減輕服務器負載為目的,其中執行效率最高的是IP負載均衡技術.
L V S的IP負載均衡技術是通過ip v s內核模塊來實現的,ip v s是L V S集群系統的核心軟件,它的主要作用是:安裝在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.訪問的請求首先經過VIP到達負載調度器,然后由負載調度器從R e al S er v er列表中選取一個服務節點響應用戶的請求.當用戶的請求到達負載調度器后,調度器如何將請求發送到提供服務的R e al S er v er節點,而R e al S er v er節點如何返回數據給用戶,是ip v s實現的重點技術,ip v s實現負載均衡機制有四種,分別是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根據對OS I參考模型的第三、四層即網絡層、傳輸層信息進行分析,把數據包轉發到集群節點處理.L V S接收到用戶請求的數據包后,根據制定的負載均衡調度方法選擇合適的集群節點,將請求包中虛擬IP地址替換成選定的節點IP,然后發給此節點,節點相應完成之后講應答數據包發給L V S D i rector,L V S D irector把應打包中的集群節點IP轉換成L V S D irector的IP,再發回用戶.在L V S-NAT集群中,請求和響應的數據報文都需要通過L V S D i rector,因此,可以重新映射網絡端口,減少集群節點被攻擊的可能性.工作原理如圖1-1所示.在L V S-NAT工作模式中,D i rector一是負責將用戶請求分發給后端的服務器群組,二則是扮演路由器的角色,將外部地址獲取的地址通它轉換為內部地址供內部服務器使用.在該工作模式中,L V S-NAT服務器群組對用戶請求的響應全部經由L V S-NAT服務器轉發給用戶.由于用戶和服務器群組分別處于不同的網絡,需在L V S-NAT上開啟路由轉發功能。由D N S服務器202.98.96.68提供一個L V S地址125.67.64.236.即外網地址,用戶獲取得到該IP地址經由L V S-NAT服務器轉發后提供轉發節點IP192.168.10.1,由L V S-NAT向內網提供IP地址段192.168.10.0/24,內網中三臺w e b服務器同時工作,分擔L V S-NAT服務器負載.

圖1-1 LVS-NAT轉發
在H TTP協議中,當客戶端用戶從WEB服務器上獲取請求服務時,需要建立一個TCP連接,而同一用戶的不同請求將會通過調度算法被調度到不同的服務器上,IPV S在內核中的負載均衡調度是以連接為單位粒度的,所以這種單位粒度的調度在一定程度上可以解決由單個用戶訪問服務器量突然增大的突發性情況引起服務器間的負載不平衡.
目前,L V S負載調度方法有10種,內核中的連接調度算法上,IPV S已實現了八種調度算法,其中之一就是下面講的輪叫調度算法(R oun d R o b i n S che d u li n g),算法思想就是將外部請求按順序輪流分配到服務器池中的服務器,它均等地對待每臺服務器,而不管服務器上實際的連接數和系統負載情況.當每次請求調度時用區模的方法即i=(i+1) m o d n來優先選取第i臺服務器連接。算法的優點是相對簡單,適用于服務器處理性能一致性的集群.
加權輪叫調度算法是對輪叫算法的改進,在系統調度時,引入加權值的方法,保證處理能力強的服務器能處理更多的訪問量,負載均衡調度器可以自動問詢服務器池中的服務器的負載情況,并動態地調整其權值.
當服務器處理能力強時,其加權系數相應增大,當服務器不工作或不可用出現故障時,其權值為零.所以,算法在模取優選服務器時需要增加一個權值作為額外附加值.
算法流程說明如圖2-1所示。假設現有服務器組S={S0,S1,S2…,S n-1},其中W(Si)表示服務器Si的權值,i表示服務器順序,表示當前服務器權值,ma x(S)服務器中的最大權值,g c d(S)表示所有服務器權值的最大公約數.變量初始化i=—1,c w=0.

圖2-1 輪叫算法調度流程圖
算法思想如下

(1)運行環境要求下載最穩定版本的l i nu x內核,及ip v s adm軟件工具和P H P解釋器軟件包,三到四臺運行不同操作系統的集群節點w e b服務器.其中一臺以安裝雙網卡re d h a t L i nu x操作系統的主機作為L V S D i rector.一臺集線器或交換機,連接所有的集群節點和L V Sdi rector(eth1連接交換機,eth0連接供用戶訪問的路由器).如圖3-1連接所示.

圖3-1 網絡連接圖
(2)重新編譯內核及軟件的解包安裝在L V S D irector上重新編譯內核程序,讓內核支持IPV S并減少不必要的功能,測試使用新內核引導。配置網絡參數

在L V S D i rector上解包和使用ma k e程序編譯,安裝IPv s adm和P H P軟件
(3)用P H P編寫集群節點監控程序,目的是定時每分鐘掃描一次所有集群節點,建立最新可用的集群節點,去除故障節點,以防用戶的請求發送到故障節點.
4.1 NAT模式優點
在現有IPV4地址短缺時期,可節約外網IP地址,不占用外網IP地址.抗負載能領強不需要對A-pa che S er v er做任何設置,只需要一個內網IP地址即可,對用戶來說,內部的A pa che S er v er是透明的.服務器穩定,在NAT模式工作的L V S的L i nu x系統上不需要修改M T U的大小,完全輸入一種非侵入式,輕量級的做法.安全性比較高,NAT的網絡類似防火墻,通過內部轉發的IP地址,將服務結點池?和外網隔開.服務器結點無法和客戶端直接通信,而需要經過負載均衡器進行IP?包處理請求數據還是應答數據的工作,在集中處理操作中占優勢.
4.2 NAT模式的缺點
L V S D i rector是整個服務器集群的瓶頸,當集群節點數超過10臺以上時,L V S D i rector必須對進出集群的網絡數據包改寫包的頭地址,因此會影響整個集群的性能,在負荷比較重時,不適用此模式.
[1]彭土有.開源L i nu x集群技術研究[J].廣東科技,2008,(08).
[2]李子民.基于L V S的集群動態負載均衡算法研究[D].成都:電子科技大學,2009.
[3]陳偉.基于負反饋的負載均衡算法實現[J].湖南文理學院學報(自然科學版),2013,(01).
[4]王軍亮.L V S集群中IP負載均衡技術的研究[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-),北京石景山人,四川職業技術學院副教授.研究方向:網絡技術方向.