




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、密級:保密期限:一一 工程碩士研究生學位論文題目:基王巡墨趁直亙且魚載塑塹 塞疊丕統數逡讓皇塞理學 姓 專 導 學 號:Q塾墮曼塑. 名:堡劍越業:通信筮往 師:星立出院:筮鮭堂陵 二。一。年七月 1j ! 靜 巍? 毒f0t 慧獨創性(或創新性聲明本人聲明所呈交的論文是本人在導師指導下進行的研究工作及取得的研究 成果。盡我所知,除了文中特別加以標注和致謝中所羅列的內容以外,論文中不 包含其他人已經發表或撰寫過的研究成果,也不包含為獲得北京郵電大學或其他 教育機構的學位或證書而使用過的材料。與我一同工作的同志對本研究所做的任 何貢獻均已在論文中作了明確的說明并表示了謝意。申請學位論文與資料若有
2、不實之處,本人承擔一切相關責任。本人簽名:日期:21!二2二至關于論文使用授權的說明本人完全了解北京郵電大學有關保留和使用學位論文的規定,即:研究生在 校攻讀學位期間論文工作的知識產權單位屬北京郵電大學。學校有權保留并向國 家有關部門或機構送交論文的復印件和磁盤,允許學位論文被查閱和借閱;學校 可以公布學位論文的全部或部分內容,可以允許采用影印、縮印或其它復制手段 保存、匯編學位論文。本學位論文不屬于保密范圍,適用本授權書。本人簽名:聊繇羥出:日期:之!竺二2二呈 日期:竺夕:Z:2多, 警,j 1、q 舞氏 ,.、基于LVS的高可用負載均衡集群系統的設計與實現 摘要當今計算機技術己進入以網絡
3、為中心的計算時代。由于客戶/N 務器模型的簡單性、易管理性和易維護性,客戶/服務器計算模式在 網上被大量采用。大量的服務和應用(如新聞服務、網上銀行、電子 商務、視頻點播等都是圍繞著Web進行。這促使Intemet用戶劇 烈增長和Intemet流量爆炸式地增長。這給網絡帶寬和服務器端都帶來巨大的挑戰,從網絡技術的發展 .來看,網絡帶寬的增長遠高于服務器響應速度和存儲訪問速度的增 長,可以預見的是越來越多的瓶頸會出現在服務器端。如何建立高可 用的、高性價比、可伸縮的、易管理的網絡服務平臺來滿足不斷增長 的網絡應用需求己成為迫在眉睫的問題。在這種情況下,基于Linux 負載均衡的虛擬服務器集群技術
4、應運而生。基于Linux的虛擬服務器集群技術(簡稱Lvs,其實現目標是創 建一個具有高可用的、高性價比、可伸縮的、易管理的基于Linux操 作系統的服務器集群,來滿足日益增長的網絡需求。本文就是針對 LVS是如何在若干個松散連接的獨立服務器之上架構一個集群服務 器,使整個集群結構對外界用戶來說表現為一個服務器來提供高可用 的網絡服務。本文中的另一個重點是如何平衡各計算機之間的負載從而提高整個系統的性能。通過各種負載算法改善系統的性能,在多臺計算機 之間合理地分配負載,避免在集群中某臺服務器過忙,而其他節點負 載較輕的問題,使各臺計算機的負載基本達到均衡一致。本文主要進行了以下幾個方面的工作:1
5、、介紹了論文選題的背景和意義,介紹了網絡應用對服務器性 能的要求,同時提出提高服務器性能的兩種方案;2、敘述了和本課題相關的集群與均衡理論,包括集群的定義、 囂分類、發展,負載均衡技術的相關概念、均衡算法、均衡策略等; 3、研究了Linux內核中Netfilter框架對數據包處理方式、LVS 調度算法及IPVS軟件實現基礎。講解如何用Linux虛擬服務器構建 集群系統,包括:LVS的結構、框架、核心軟件、體系結構,實現 LVS的三種方式等;4、結合筆者所在的香港文匯網實際需要,進行了集群系統需求 分析,并根據分析結果對集群系統進行總體設計和配置方案設計。然 后,根據設計方案,進行了詳細的安裝和
6、配置,實現了這一集群系統。 最后,對實現的集群進行了集群模式測試、高可用性測試和擴展性測 試。測試結果表明,筆者設計的基于LVS的高可用負載均衡集群系 統是可行的、可用的、可靠的。5、對本課題進行小結及提出尚需改進完善的問題,并且對下一 步研究的方向做了展望。關鍵詞:集群負載均衡Linux虛擬服務器調度算法Netfi lter 鼉 蕾 孳 。o ;-, ,分q 搿DESIGN AND IMPLEMENTATION 0F THE LOAD BALANCE CLUSTER SYSTEMMTH HIGH AVAILABILITY BASED ON LVSAB STRACTTotay,the comp
7、uter technology has enteredthe networkcentered computing era.Client/server computing model has been widely adopted in the Internet due to their simplicity, manageability and easy-maintenance.A large number of services and applications(such as news services,Internet banking,e-commerce and video-ondem
8、and,etc. are carried out around the Web,which has supposed the sharp growth of Internet users and explosive growth of Internet flux.All brought huge challenges to the network bandwidth and servers. From the view on the development of network technology,the growth of the network bandwidth is far high
9、er than the growth of the speed in the server response and memoW access.It can be foreseen that more and more bottlenecks would appear in the server.How to build a hi曲ly available,cost-effective,scalable,manageable network service platform to meet the increasing demands ofnetworkapplication has beco
10、me an emergent problem.Under the circumstance,Linux virtual server(LVS thus emerged.The target of Linux virtual server(LVSis to build highly available, cost-effective。scalable,manageable server cluster based on Linux in order to meet the increasing demands of Internet.The text aims to build a cluste
11、r server on a number of loosely connected independent servers for LVS.SO that the whole cluster structure shows to be a server for users outside to provide highly available network services.Another focus of the text is how to balance the loads among the computers SO as to enhance the performance of
12、whole system.To improve the performance of system by a variety of load algorithms,reasonableallocation of loads among multiple computers to avoid one server to beover busy in cluster but the load was lighter in other nodes,whichmakethe loads of various computers basically balance unanimously.The fol
13、lowing contents were 1ncluded in the text:1.Introduced the background and significance of the topic,introduced the network application on the requirement of the performanceof server;meanwhile,put forward two plans to improve the performanceof server;2.Specified the clusterand balance theory relevant
14、 to the topic,including the definition,classification and development of cluster;relevant concepts,balanced algorithm and balanced strategy of loadbalance technology;3.Studied on the data processing method by Netfilter framework inLinux kemel.LVS scheduling algorithms and realization basis of IPVS s
15、oftware.Explained how to use Linux virtual server to build cluster system,including:structure,framework,core software,systematicstructure of LVS;and three methods of realizing LVS,etc;4.The author of actual need,cluster analysis,andaccording to the system demand analysis results ofcluster system des
16、ignscheme and the overall design.Then,according to the design scheme,andca”ied on the detailed installation and configuration,a cluster system.Finally,the realization of the mode of industrial cluster test,high usabilitytesting and scalability testing.Test results show that the design of LVSbased on
17、 the high availability load balancing cluster system is feasibleand available and reliable.5.Summarized the topic and put forward the problems which needto be improved and perfected;and made prospection on the direction ofthe next research.KEY WORDS:Cluster'Load Balance,Linux Virtual Server(LVS,
18、 Scheduling Algorithm,NetfilterX童l ”_北京郵電大學T程碩士論文目錄第一章緒論l 1.1選題背景.1 1.2目的和意義2 1.3課題任務和本人工作.2 1.4論文結構.3第二章集群系統和負載均衡.4 2.1集群系統4 2.1.1集群的概念.4 2.1.2集群的分類.4 2.1.3幾種典型集群系統。6 2.2負載均衡8 2.2.1負載均衡概念.8 2.2.2幾種常用的負載均衡技術.9 2.2.3幾種常用的負載均衡算法ll 2.3小結.12第三章Linux虛擬服務器(LVS.13 3.1LVS介紹13 3.2LVS的實現原理15 3.2.1Netfilter框架介
19、紹.15 3.2.2LVS中Netfiler的實現一16 3.3LVS的三種負載均衡模式l 8 3.3.1VS肭AT模式.18 3.3.2VS/TUN模式20 3.3.3VS/DR模式.22 3.3.4三種模式的比較24 3.4LVS的調度算法25 3.4.1IPVS調度算法25 3.4.2動態反饋負載均衡算法29 3.5LVS集群應用舉例30 3.6,J、砉.:;1第四章高可用負載均衡集群系統的分析與設計32 4.1集群系統的需求分析32 4.2集群系統的總體設計33 4.2.1集群系統三層結構與作用33 4.2.2集群系統網絡劃分34 4.2.3集群系統的均衡策略.35 4.2.4集群系統
20、總體設計圖35 4.3集群系統配置方案設計36 4.3.1負載均衡器配置方案設計37 4.3.2真實服務器配置方案設計.38 4.3.3數據庫服務器配置方案設計40北京郵電大學T程碩士論文4.3.4集群網絡構建方案設計4l 4.4集群系統整體架構拓撲圖42 4.5,J、結.43第五章高可用負載均衡集群系統的實現與測試44 5.1安裝與配置集群系統44 5.1.1負載均衡器的安裝與配置44 5.1.2真實服務器的安裝與配置53 5.1.3數據庫服務器的安裝與配置57 5.1.4集群配置常見問題與解決60 5.2集群系統測試61 5.2.1集群調度模式測試6l 5.2.2集群高可用性測試.63 5
21、.2.3集群擴展性測試64 5.2.4結論65 5.3集群在香港文匯網的應用65 5.3.1香港文匯網簡介.65 5.3.2集群應用情況.66 5.4,J、結一67第六章結論.68 6.1工作總結.68 6.2研究展望.-.68參考文獻.69至5(謝.70H口 囔北京郵電大學-丁程碩士論文第一章緒論弟一早瑁比當今社會,互聯網已經成為社會各個方面必不可少的交流手段。由于客戶機 /服務器模型的簡單些性、易管理性和易維護性,客戶機/服務器計算模式在網上 被廣泛應該。在九十年代中期,互聯網的出現,以其簡單操作方式將圖文并茂的 網上信息帶給廣大用戶,使用戶可以通過簡單的圖形界面訪問互聯網上的各種信 息和
22、服務?,F如今,大量的服務和應該都是圍繞著web進行。這促使互聯網用 戶劇烈增長和互聯網流量爆炸式地增長。這使得網絡服務器不堪重負。因此,如 何把網絡服務做的更加強壯,提高服務質量水平,已經提到日程上來了。近年來,隨著互聯網時代的發展,香港文匯網依托在香港的特殊地理優勢, 大力宣傳黨和中央的政策,受到網民的普遍關注。隨著用戶的增多,文匯網原有 的網站架構已經難以維持日益增加的用戶訪問。因此,互聯網的用戶數和網絡流 量都以幾何級數迅猛增長,這對網絡服務的可擴展性提出很高的要求。隨著網絡 硬件設備的快速進步,網絡帶寬的瓶頸問題將日趨減弱,而網絡服務器的性能問 題逐漸顯現出來。為了提高服務器的性能,筆
23、者提出了多種解決方案。從目前的研究情況來看, 主要是從以下兩個方面著手。一是從分析客戶的訪問行為入手,研究可以縮小響 應時間的方法,采用緩存和預取技術等。這些技術在現有服務器硬件設備的基礎 之上盡可能地提高系統的性能,但性能提高的程度有限。二是從服務器的硬件性 能角度進行考慮,這又可分為單服務器策略和多服務器策略。單服務器策略是通過不斷升級網絡服務器的軟、硬件資源,使其具有更高的 性能以滿足需求。然而這種方法隨著負載的不斷增長,會導致服務器不斷地升級。 經分析總結,單服務器策略存在如下不足:1.服務器是單一故障點;.2.越往高端的服務器,所花費的代價就越大;3.升級過程繁瑣,服務器的切換會使服
24、務暫時中斷,并造成原有資源的浪 費;4.受I!III務器硬件性能極限的限制。多服務器策略是從體系結構入手,將過去單一的服務器結構擴充為多服務器 結構。為了使得多服務器對外服務依然保持單一的服務鏡像,即多服務器通過一魄磚餌北京郵電大學T程碩士論文定的方式和技術手段組合成一臺虛擬的高性能服務器,文匯網運維組進行了深入 研究。 目前市場上絕大部分性能較高的服務器集群產品都是國外產品,價格非常昂 貴,如IBM的NetworkDispateher、Cisco的LocalDirector、日本F5的BigIP等 專有軟硬件產品都依賴于其技術專利或高性能服務器系統,軟硬件的捆綁銷售價 格達上萬美元。隨著Li
25、nux操作系統的流行,目前出現了基于Linux、基于PC的集群解決 方案,如LVS。Linux Virtual Server(LVS是章文嵩博士等人開發的Linux服務 器集群自由軟件項目。該項目提出了基于IP層和基于內容請求分發的負載均衡 調度解決方法,并在Linux內核中實現了這些方法,將一組服務器構成一個具有可伸縮性的、提供高可用網絡服務的虛擬服務器。它支持可伸縮的Web服務, 可伸縮媒體服務,可伸縮Cache服務,可伸縮郵件服務等。LVS集群系統具有良 好的伸縮性,可支持幾百萬個并發連接。因此很多重負載的站點均利用LVS組 成高性能的Web服務集群,實踐證明,LVS服務集群具有優良的可
26、靠性。 因此香港文匯網運維組決定對基于開源系統的LVS集群系統進行深入研究, 力爭在依托開源社區海量的開源項目上尋找到一個完美的系統解決方案。由于LVS集群軟件是可以免費得到源代碼的自由軟件,另外,在Linux平 臺上己經有一些優秀的開發源代碼軟件可以為我們所用。因此,在Linux平臺下, 在前人研究成果上進一步研究開發,研制具有自主知識產權,具有一定通用性, 滿足高性能、高可用性和可伸縮性等要求的服務器集群系統軟件具有重大的研究 和實用意義。課題任務:對香港文匯網的系統需求進行分析,設計和實現一個滿足高可用 負載均衡的集群系統。本人主要進行了以下幾個方面的工作:1、介紹了論文選題的背景和意義
27、,介紹了網絡應用對服務器性能的要求, 同時提出提高服務器性能的兩種方案;2、敘述了和本課題相關的集群與均衡理論,包括集群的定義、分類、發展, 負載均衡技術的相關概念、均衡算法、均衡策略等;2 I詈璣y o;d 亂紐北京郵電大學工程碩士論文3、研究了Linux內核中NetfiIter框架對數據包處理方式、LVS調度算法 及IPVS軟件實現基礎。講解如何用Linux虛擬服務器構建集群系統,包括:LVS 的結構、框架、核心軟件、體系結構,實現LVS的三種方式等;4、結合筆者所在的香港文匯網實際需要,進行了集群系統需求分析,并根 據分析結果對集群系統進行總體設計和配置方案設計。然后,根據設計方案,進
28、行了詳細的安裝和配置,實現了這一集群系統。最后,對實現的集群進行了集群 模式測試、高可用性測試和擴展性測試。5、對本課題進行小結及提出尚需改進完善的問題,并且對下一步研究的方 向做了展望。第一章緒論部分介紹了課題產生的背景、研究意義及國內外現狀。第二章首先闡述了集群系統的概念和集群的分類,并介紹了目前常見的集群 系統。然后介紹了負載均衡相關技術及其常用算法。 :。 第三章闡述了Linux虛擬服務器的相關技術。首先介紹了LVS項目的系統框 架和層次結構,其次分析了LVS的實現原理,再次就LVS的三種負載均衡模式進 行介紹和對比,最后對LVS的算法進行了探討和LVS集群應用舉例。第四章介紹了基于i
29、vs-dr模式的高可用負載均衡集群系統的設計。根據香 港文匯網的需求,進行了集群系統的需求分析,并根據分析結果進行了總體設計 和基于集群角色的配置方案設計,最后給出了集群系統整體架構拓撲圖。第五章介紹了集群系統的實現與測試。首先,根據第四章設計的結果進行了 詳細的安裝和配置過程,實現了集群系統。然后,根據設計的要求,分別對集群 系統進行了調度模式測試、高可用測試、擴展性測試。根據測試結果表明所實現 的集群系統滿足設計需要。最后進行香港文匯網簡單介紹,并簡述了集群的應用 情況。 最后總結全文,提出尚需改進完善的問題,并且對下一步研究的方向做了展 望。北京郵電大學工程碩士論文第二章集群系統和負載均
30、衡本章將對集群系統和負載均衡這兩個技術概念進行講解。首先提出集群的概念:集群系統是通過高性能網絡(LAN或WAN進行物理連接的計算機集合。然后對集群進行分類:高可用集群、高計算性能集群、高擴展性集群。最后對目前國內外流行的集群系統進行簡介。其次,對負載均衡技術進行簡要介紹,包含目前流行的幾種負載均衡技術和常用的負載均衡算法。一般來說,可以這么理解集群的概念:集群系統是通過高性能網絡(LAN或WAN進行物理連接的計算機集合【刁;這些計算機協同工作以完成共同的任務,同時為用戶和應用程序提供單一的系統映像,即用戶和應用程序與集群系統進行交互時,集群系統就像一臺高性能的服務器。一般稱集群中的計算機為節
31、點(node,集群的節點可以是任意類型的計算機,包括PC、工作站、SMP,甚至是大型機。從上述集群概念的描述可知,集群的概念包含了兩個方面的含義:一是從硬件方面考慮,強調獨立、自治的計算機;二是從軟件方面考慮,強調集群系統的整體性。根據集群系統的不同特征有多種分類方法,業界通常把集群系統分為三類:高可用性集群、高性能計算集群和高可擴展性集群【3】。1、高可用性集群高可用性集群(High Availability Cluster,簡稱HACluster,是以減少服務中斷(宕機時間為目的的服務器集群,致力于提供高度可靠的服務。計算機系統的可用性是指一個系統保持在線并且可供訪問,它是由系統的可靠性和
32、可維護性來度量的。有很多因素會造成系統宕機,包括為了維護而有計劃的宕機以及意外故障等,高可用性方案的目標就是使宕機時間以及故障恢復時間4們 語 q扎 -% 瓴北京郵電大學-T程碩上論文最小化。為了提高整個系統的可用性,除了提高計算機各個部件的可靠性以外, 一般情況下都會采用高可用性集群。高可用性集群中節點可以以不同的方式來運行,這要看它們是如何設置的。 在一個理想的兩個節點的集群中,兩個服務器同時處于活動狀態,也就是在兩個 節點上同時運行應用程序,當一個節點出現故障時,運行在出故障的節點上的應 用程序就會轉移到另外的沒有出現故障的服務器上,這樣一來,由于兩個節點的 工作現在由一個服務器來承擔,
33、自然會影響服務器的性能。針對這種情況的解決方案是,在正常操作時,另一個節點處于備用狀態,只 有當活動的節點出現故障時該備用節點才會接管工作,這是一個很不經濟的方 案,因為必須要兩個服務器來做一個服務器的工作。雖然當出現故障時不會對性 能產生任何影響,但是在正常運行時的性能價格比并不好。從上面的工作方式出發,我們可以把集群分為主/主型(Active/active、主/從型(Active/passive和混合型(Hybrid三種。 主/主(Active/active這是最常用的集群模型,它提供了高可用性,并且在只有一個節點在線時提 供可以接受的性能,該模型允許最大程度的利用硬件資源。每個節點都通過
34、網絡 對客戶機提供資源,每個節點的容量被定義好,使得性能達到最優,并且每個節 點都可以在故障轉移時臨時接管另一個節點的工作。 所有的服務在故障轉移后 仍保持可用,但是性能通常都會下降。主/從(Active/passive為了提供最大的可用性,以及對性能最小的影響,Active/passive模型需要 一個在正常工作時處于備用狀態,主節點處理客戶機的請求,而備用節點處于空 閑狀態,當主節點出現故障時,備用節點會接管主節點的工作,繼續為客戶機提 供服務,并且不會有任何性能上影響?;旌闲?Hybrid混合是上面兩種模型的結合,只針對關鍵應用進行故障轉移,這樣可以對這 些應用實現可用性的同時讓非關鍵的
35、應用在正常運作時也可以在服務器上運行. 當出現故障時,出現故障的服務器上的不太關鍵的應用就不可用了,但是那些關 鍵應用會轉移到另一個可用的節點上,從而達到性能和容錯兩方面的平衡。2、高性能計算集群高性能計算集群(High Performance Computing Cluster,簡稱HPC Cluster, 是指以提高科學計算能力為目的計算機集群技術。HPC Cluster是一種并行計算 (Parallel Processing集群的實現方法。并行計算是指將一個應用程序分割成多北京郵電大學工程碩士論文塊可以并行執行的部分并指定到多個處理器上執行的方法。目前的很多計算機系統可以支持對稱多處理器
36、(SMP架構并通過進程調度機制進行并行處理,但是SMP技術的可擴展性是十分有限的,比如在目前的Intel架構上最多只可以擴展到32顆CPU。為了滿足那些”計算能力饑渴”的科學計算任務,并行計算集群的方法被引入到計算機界。著名的”深藍”計算機就是并行計算集群的一種實現。HPC Cluster向用戶提供一個單一計算機的界面。前置計算機負責與用戶交互,并在接受用戶提交的計算任務后通過調度器(Scheduler程序將任務分配給各個計算節點執行;運行結束后通過前置計算機將結果返回給用戶。程序運行過程中的進程間通信(IPC通過專用網絡進行。3、高可擴展性集群高可擴展性集群,即帶負載均衡算法的服務器集群。高
37、可擴展性集群在多節點之間按照一定的算法分發網絡或計算處理負載。負載均衡建立在現有網絡結構之上,它提供了一種廉價有效的方法來擴展服務器帶寬,增加吞吐量,提高數據處理能力,同時又可以避免單點故障。高可擴展性集群的框架結構如圖1.1所示。圖11高可擴展性集群的框架結構其中后臺的多個Web服務器上有相同的Web內容,Intemet客戶端的訪問請求首先進入一臺負載均衡器,由它根據負載均衡算法合理地分配給后臺某個Web服務器。近年來,隨著集群技術的應用日益廣泛,國內外公司紛紛推出商業化的集群產品,同時,一些學術機構也推出了集群實現方案。其中主要有以下幾種集群系統:l、Microsoft集群系統【4】6玉I
38、 曩 蘿、 .Ik ,t i k北京郵電大學工程碩士論文Microsoft公司最初在它的操作系統產品Windows 2000新增加了集群功能, 該高可用性集群稱為Microsoft Cluster Server(MCS。它為基于Windows NT服 務器的應用程序提供了可用性和可升級性。Microsoft提供三種支持集群的技術:網絡負載均衡(NLB、組件負載均衡(CLB和Microsoft集群服務(MSCS。2、WebSpheret4】WebSphere是IBM公司推出的一套功能強大的Web應用服務器。它為企業 級Web應用程序的創建提供了一個可靠、一致的框架。它支持的平臺和標準非 常多:在
39、操作系統方面,涵蓋了從PC機到大型機的各類操作系統;支持J2EE、 CORBA、ActiveX接口;支持多種關系/對象/層次數據庫;WebSphere提供了負 載均衡、失效恢復和集群等功能,任何對應用程序或其配置的修改,包括Java 組件的更新,將會在多個服務器上自動備份復制。WebSphere有多層次的可調整 的緩存技術。3、Beowulf在1994年夏季,Thomas Sterling和Don Becker在CESDIS(The Center of Excellence in Space Data and Information Sciences用l 6個節點和以太網組成了 一個計算機集群
40、系統,并將這個系統命名為Beowulf.Beowulf集群提供了一種使用COTS(Commodity offthe shelf硬件構造集群 系統以滿足特殊的計算需求的方法。這里的COTS是指象PC和以太網這種廣為 應用的標準設備,它們通??梢杂啥嗉覐S商提供,所以通常有很高的性價比。4、MOSIXl6JMOSIX(Multieomputer Operating System for Unix是由Jerusalem的Hebrew 大學開發的,它是一個軟件管理層,為Linux內核擴充了高性能集群計算支持能 力。MOSIX原理是利用給內核打補丁的辦法全面兼容IntellA32架構的處理器, 支持內核級
41、的負載均衡。MOSIX集群系統中不存在集中的控制節點,節點之間沒有主從關系,每個 節點都能夠作為獨立的系統運行,并且自主的做出控制決策。MOSIX是在Linux 內核中實現的,所以用戶態的應用程序不需要任何修改就可以在MOSIX上運行。 通常用戶很少會注意到Linux和MOSIX的差別。對用戶來說,MOSIX集群就是 運行Linux的一臺PC。 5、Linux Virtual Server57北京郵電大學工程碩士論文1998年5月,章文嵩博士成立了LVS的自由軟件項目,進行Linux服務器集群的開發工作。該項目針對當前網絡服務的需求,給出了基于IP層和基于內容請求分發的負載均衡調度方法,它通過
42、前端調度器將網絡請求調度到真實服務器上去處理,從而使得服務器集群的結構對客戶端是透明的,客戶端訪問集群系統提供的網絡服務就像訪問一臺高性能的服務器一樣。LVS也是通過給內核打補丁的辦法來支持內核級的負載均衡,所以用戶態的應用程序不受集群系統的影響,不需要做任何修改就可以在LVS集群服務器上運行。LVS集群采用了IP負載均衡技術。LVS中實現負載均衡的技術有三種:基于NAT的負載均衡(VS/NAT,使用IP隧道的負載均衡(VS/TI肘,使用直接路由的負載均衡(VS/DR。LVS中的調度器實現了八種負載調度算法:輪轉調度、加權輪轉調度、最少鏈接調度、加權最少鏈接調度、基于局部性的最少鏈接調度、帶復
43、制的基于局部性最少鏈接調度、目標地址散列調度、源地址散列調度。LVS中實現了基于內容請求分發的內核Layer7交換機KTCPVS。LVS使用相關的集群管理軟件對資源進行監測,能及時將故障屏蔽,實現系統的高可用性。LVS配備了主、從調度器,當主調度器故障時,從調度器可以接替工作,進一步地保證了系統的高可用性。LVS的應用很廣泛,它支持可伸縮的Web服務,可伸縮媒體服務,可伸縮Cache服務,可伸縮郵件服務。LVS服務器集群系統具有良好的伸縮性,可支持幾百萬個并發連接。實踐證明,LVS服務器具有優良的可靠性。由于LVS集群軟件是可以免費得到源代碼的自由軟件,它得到了較大的應用。很多重負載的站點利用
44、LVS組成高性能的Web服務集群,如RedHat,紅旗Linux,中軟等公司推出了基于LVS的集群產品。同時,國內外的許多學術機構也在對LVS進行進一步的研究開發。負載均衡(Load Bflance旨在將大量客戶端請求平均散布到提供同一服務的多臺服務器上,從而提高整個分布式系統對客戶請求的響應性,同時也可增強系統在服務端出現故障時的容錯能力,成為提高集群系統可伸縮性的重要技術之一。集群的最大特點是多個節點的并行共同完成任務,在硬件數目比較多的情況下,即使每個硬件的MTTF時間比較長,整體的MTTF也會非常低。為了讓系8骱譬鬻量尹“r, 、艮 ¥ &缸北京郵電大學工程碩士論文統體現出較好
45、的可靠性,如何讓所有硬件承受的負載平均,不出現局部過大負載 或過輕負載的情況,是負載均衡的重要目的。如果出現局部過大負載,必然導致 硬件壓力比較大,老化和損壞的可能性比較大;如果出現局部過輕負載,設備資 源被擱置浪費,不符合成本最低原則。負載均衡有如下的含義:首先,大量的并發訪問或數據流量分擔到多臺結點 設備上分別處理,減少用戶等待響應的時間;其次,單個重負載的運算分擔到多 臺結點設備上做并行處理,每個結點設備處理結束后,將結果匯總,返回給用戶, 使系統處理能力得到大幅度提高。負載均衡技術的核心思想是將多臺服務器作為對稱方式,每臺服務器都具備 等價的地位,都可以單獨對外提供服務而無須其他服務器
46、的輔助。然后通過某種 負載分擔技術,將外部發送來的請求均勻分配到對稱結構中的某一臺服務器上, 而接收到請求的服務器都獨立回應客戶機的請求。集群服務器中,負載均衡的效果如何決定于兩個關鍵因素:負載均衡技術和 負載均衡算法。下面先介紹幾種常用的負載均衡技術:1、基于DNS技術的負載均衡最早的負載均衡技術是通過DNS服務器中的隨機域名解析來實現的:在 DNS服務器中,為多個不同的IP地址配置相同的域名,而查詢這個域名的客戶 機將得到其中的一個IP地址。對于同一個域名,不同的客戶機會得到不同的IP 地址,他們也就訪問了不同IP地址上的Web服務器,從而達到負載均衡的目的。 DNS負載均衡的優點是簡單易
47、行,當前使用該技術的網站很多,但是存在 不少問題。首先,域名服務器無法知道服務器結點是否有效,如果服務器結點失 效,域名系統依然會將域名解析到該節點上,造成用戶訪問失效。其次,為了使 地址的分配均勻,應該將DNS的數據刷新時間TTL(Time to LIVE設置的盡 可能短,但是TTL設置得過短,將導致DNS流量大增,造成額外的網絡問題。 而且DNS輪詢不能區分服務器性能的差異,也不能將服務器的當前運行狀態和 負荷狀況考慮進來,所以服務器之間并不能作到完全的均衡負載。2、反向代理負載均衡反向代理(Reverse Proxy方式是指來自Internet上的客戶使用代理服務器 訪問處于內部網絡上的
48、服務器。反向代理負載均衡將來自外部的連接請求均勻地 轉發給內部網絡上的各個服務器進行處理,從而均衡了整個系統的負載。使用反9北京郵電大學工程碩士論文向代理可以將負載均衡和代理服務器的高速緩存技術結合在一起,提升了靜態網 頁的訪問速度。由于外部客戶不能直接訪問內部服務器,保證了系統的安全性。 并且可以將負載非常均衡地分給內部服務器,不會出現負載集中到某個服務器的 偶然現象。使用反向代理負載均衡也有一些問題:第一,反向代理是處于OSI參考模型 第七層應用的,所以就必須為每一種應用服務專門開發一個反向代理服務器;第 二,每一次代理,代理服務器需要打開對外和對內兩個連接,在并發連接請求數 量較大的時候
49、,代理服務器的負載相應較大,在最壞的情況下代理服務器會成為服務的瓶頸。3、基于NAT的負載均衡NAT(Network Address Translation是指在位于局域網內的內部地址和外部 地址之間進行轉換,以便具有內部地址的計算機能訪問外部網絡,外部網絡中的 計算機也可以訪問內部地址。通過NAT技術實現負載均衡主要是當NAT服務器 收到客戶端請求后根據一些不同的策略修改請求報文中的目的地址,重定向給 “隱藏”在NAT服務器后面的具有不同IP地址的服務器,服務器返回的響應也經 由NAT服務器將源IP地址恢復原樣后傳給客戶端。NAT技術既可通過軟件方式 來實現,也可通過硬件方式即交換來實現。N
50、AT負載均衡是一種比較完善的負載均衡技術,得到了較為普遍的應用。 但是需要注意的是:由于NAT負載均衡中請求和響應的數據報文都需要通過負 載均衡調度器,當實際服務器的數量超過20時,負載均衡調度器將成為整個Web 集群系統的新瓶頸。在設計Web集群系統時應當小心處理避免這種情況的出現。4、基于IP隧道的負載均衡在采用IP隧道負載均衡技術的Web集群系統中,所有用戶的訪問請求報文 都是發給負載均衡調度器的。當負載均衡調度器接到請求報文后,根據各個服務 器的負載情況,動態地選擇一臺服務器,將請求報文封裝在另一個IP報文中, 再將封裝后的IP報文轉發給選出的服務器。服務器收到報文后,先將報文解封 獲
51、得原來的報文,處理這個請求,然后將響應報文直接返回給用戶。一般情況下, 用戶請求報文的數據量比較小,而服務器響應返回給用戶的數據報文量比較大。 這樣,服務器將響應用戶的報文不經過負載均衡服務器直接返回給用戶,大幅度 地降低了負載均衡調度器的工作量。因此,負載均衡調度器就可以處理巨量的請 求,而不會成為系統的瓶頸。lO 艫 妊 忸 kk l 北京郵電大學T程碩士論文5、基于直接路由的負載均衡在采用直接路由方法負載均衡技術的集群系統中,所有用戶的訪問請求報文 也是發給負載均衡調度器的。當負載均衡調度器接到請求報文后,根據集群中各 個服務器的負載情況,動態地選擇一臺負載較輕的服務器。并將數據包中網卡
52、物 理地址(MAC改為選中的W曲服務器的MAC地址,然后重新發出數據包。 目標W曲服務器收到后,將應答包直接發回客戶端(不經過負載均衡調度器。 由于在直接路由方式中,服務器不經過負載均衡調度器直接把響應返回給用戶, 可以大幅度地降低負載均衡調度器的工作量,整個集群系統的節點數量和網絡吞 吐量因而得以極大地提高。直接路由是高效、網絡延時小的負載均衡技術,但是, 為達到MAC地址的欺騙,要求負載均衡調度器和所有應用服務器必須在同一個 物理網段。乞 負載均衡的作用就像輪流值日制度,把任務分給大家來完成,以免讓一個人 過度勞累。但是與輪流值日制度不同的是,負載均衡是一種動態均衡,它通過一 些工具實時地分析數據包,掌握網絡中的數據流量狀況,把任務理分配出去。對 于不同的應用環境(如電子商務網站,它的計算負荷大;再如網絡數據庫應用, 讀寫頻繁,服務器的存儲子系統系統面臨很大壓力;再如視頻服務應用,數據傳 輸量大,網絡接口負擔重壓,使用的均衡策略(算法是不同的。所以均衡策 略(算法也就有了多種多樣的形式,廣義上的負載均衡既可以設置專門的網關、 負載均衡器,也可以通過一些專用軟件與協議來實現。在OSI七層協議模型中 的第二(數據鏈路層、第三(網絡層、第四(傳輸層、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 云南財經職業學院《漢語詞匯語法教學(詞匯)》2023-2024學年第一學期期末試卷
- 濰坊科技學院《舞蹈基礎與編排》2023-2024學年第一學期期末試卷
- 北京工商大學嘉華學院《醫學免疫學Ⅲ》2023-2024學年第一學期期末試卷
- 醫學病灶精準定位-洞察及研究
- 2025年制造業數據治理策略與能源管理研究報告
- 2025年制造業綠色供應鏈與綠色供應鏈管理技術創新與綠色產業生態發展策略研究報告001
- 2025年制造業供應鏈數字化協同管理在綠色供應鏈中的應用研究報告
- 物聯網平臺賦能的農產品供應鏈安全體系構建-洞察及研究
- 室外展板活動方案
- 小學開學德育周活動方案
- 基于水凝膠模板原位合成磷酸鈣類骨組織修復材料及表征
- 畜牧獸醫畢業論文名字
- 中國聯通5G毫米波技術白皮書
- 醫療人文關懷
- 系統規劃與管理師-輔助記憶口訣
- 預防接種異常反應監測與處理
- 輸液發熱反應的護理流程圖
- 2023-2024學年四川省阿壩州小學語文四年級期末深度自測試卷詳細參考答案解析
- 8D報告樣板(設備故障的8D報告)
- 物業交接表格全模板
- (完整word版)省級溫室氣體清單編制指南
評論
0/150
提交評論