

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 目 錄</b></p><p><b> 1 緒 論1</b></p><p> 1.1 課題研究背景、目的與意義1</p><p> 1.2 國內外的研究現(xiàn)狀2</p><p> 1.3 相關知識概述3</p><p>
2、 1.4 課題研究內容5</p><p> 2 課題整體規(guī)劃6</p><p> 2.1 工程設計中主要運用的技術6</p><p> 2.2 工程整體規(guī)劃7</p><p> 3 需求分析10</p><p> 3.1 可行性研究10</p><p> 3
3、.2 用戶業(yè)務分析10</p><p> 3.3 用戶性能分析11</p><p> 3.4 服務管理分析11</p><p> 4 總體設計12</p><p> 4.1 工作環(huán)境設定12</p><p> 4.2 軟件安裝及主要文件的配置13</p><p>
4、; 4.3 測試高可用/高可靠性16</p><p> 5 詳細設計18</p><p> 5.1 LVS集群的特點18</p><p> 5.2 IPVS幾種常用的負載均衡調度算法19</p><p> 5.3 LVS 三種工作方式的具體原理20</p><p> 5.4 LVS集群
5、系統(tǒng)的設計及實現(xiàn)23</p><p> 5.5 三種工作模式的比較33</p><p> 6 系統(tǒng)實施35</p><p><b> 結束語39</b></p><p><b> 致 謝40</b></p><p><b> 參考文獻41&
6、lt;/b></p><p><b> 附 錄42</b></p><p> 附錄A 主要源程序42</p><p> 附錄B 用戶手冊44</p><p> 附錄C 軟件光盤45</p><p> 附錄D 科技譯文47</p><p>&
7、lt;b> 1 緒 論</b></p><p> 本文針對基于Linux下的REDHAT操作系統(tǒng),計算機集群虛擬化的問題進行研究,具體的研究內容包括研究該課題的可行性,并從用戶業(yè)務,用戶性能及服務管理等三方面進行了分析;課題的主要技術及運用高可用集群實現(xiàn)課題研究的基本思路,并簡單介紹了HA集群的實現(xiàn)過程;負載均衡集群的工作原理、工作方式及工作過程等內容。</p><p&
8、gt; 1.1 課題研究背景、目的與意義</p><p> 全球范圍內Linux的發(fā)展狀況讓人鼓舞,從全球來看Linux的增長是非常快的。目前,全球Linux市場超過70億美元整個操作系統(tǒng)的市場來看,Linux的增長比其他操作系統(tǒng)都來得更加快。而中國比全球的增長更顯得快,從大致的增長率來看,全球大概是9%-13%的增長率,在中國,Linux的服務器市場是33%的增長率。</p><p&g
9、t; 拿IBM做例子,Linux是IBM所大力倡導的,同時也在不斷投入。從Linux解決方案來講,IBM全球最大的提供商之一。IBM所有的服務器都支持Linux,另外有超過500種中間件產品都支持Linux平臺,IBM全球Service也都提供了對Linux的支持與服務。在IBM,有超過600名的員工在LTC工作,LTC(Linux Technology Center)是最早IBM建立起來的一個圍繞Linux的開發(fā)組織和技術部門,在這
10、里面其中有超過300人,就專門圍繞Linux內核進行了創(chuàng)新的工作。</p><p> 現(xiàn)在Web服務中越來越多地使用CGI、動態(tài)主頁等CPU密集型應用,這對服務器的性能有較高要求。未來的網絡服務會提供更豐富的內容、更好的交互性、更高的安全性等,需要服務器具有更強的CPU和I/O處理能力。例如,通過HTTPS(Secure HTTP)取一個靜態(tài)頁面需要的處理性能比通過HTTP的高一個數量級,HTTPS正在被電子商
11、務站點廣為使用。所以,網絡流量并不能說明全部問題,要考慮到應用本身的發(fā)展也需要越來越強的處理性能。</p><p> 本課題首先對現(xiàn)有服務器集群系統(tǒng)的技術進行了分析,介紹了幾個典型的集群系統(tǒng),重點討論了負載均衡集群(LVS)和高可用集群(High Availability)的工作原理和實現(xiàn)技術。然后根據現(xiàn)有的集群技術的缺點進行了改進,將負載均衡集群和高可用集群整合在一起,結合Linux 軟件RAID5技術實現(xiàn)了
12、三層構架的WWW服務器集群,以較低的價格達到了昂貴的商業(yè)硬件存儲解決方案所實現(xiàn)的效果,同時可以滿足大流量的站點訪問以及設備故障的自動更替。</p><p> 1.2 國內外的研究現(xiàn)狀</p><p> 九十年代末期,Linux操作系統(tǒng)不斷走向成熟,它的健壯性不斷增強,并且提供了GNU軟件和標準化的PVM、MPI消息傳遞機制,最重要的是Linux在普通PC機上提供了對高性能網絡的支持,
13、這樣就大大推動了基于Linux的集群系統(tǒng)的發(fā)展。在國內,包括中國科學院在內的許多大學與研究機構早在20世紀90年代就開始了基于Linux集群研究,聯(lián)想、浪潮等國內許多公司都有Linux集群產品和解決方案。</p><p> Google、Baidu和騰訊后臺均采用Linux集群,其中Google在2005年就達到了200萬臺,不僅如此,Linux集群大量在金融、證券、電信以及IT行業(yè)使用。名為 High-Ava
14、ilability Linux 的開源項目的目標是,通過社區(qū)開發(fā)努力提供一個提升 Linux 可靠性(reliability)、可用性(availability)和可服務性(serviceability)(RAS)的群集解決方案。Linux-HA 項目得到了廣泛的應用,是很多有趣的高可用性解決方案的重要組成部分。 </p><p> LVS是中國章文嵩博士發(fā)起和領導的優(yōu)秀的集群解決方案,許多商業(yè)的集群產品,比如
15、RedHat的Piranha等,都是基于LVS的核心代碼的。</p><p> HA和LVS的不足主要有:HA集群一般都是以兩個節(jié)點的形式出現(xiàn)的,單機處理能力有限,所以當服務器壓力較大時,想擴容服務器的處理能力往往得把以前的服務器淘汰掉,浪費了以前的投資;LVS集群的真實服務器都是靠前端IP負載器進行調度分配的,所以存在單點故障,如果IP負載器Down機,整個集群系統(tǒng)就會癱瘓。所以必須把HA和LVS整合在一起。
16、真實服務器的數據源所涉及的共享存儲一般都是利用商業(yè)的硬件解決方案,如SAN網絡區(qū)域存儲,對于小型集群系統(tǒng)來說,投入非常高昂,完全可以利用Linux的軟件RAID5技術和NFS網絡文件系統(tǒng)來實現(xiàn)。</p><p> 1.3 相關知識概述</p><p> 1.3.1 集群的定義</p><p> 集群(Cluster)就是一組計算機,它們作為一個整體向用戶提
17、供一組網絡資源。這些單個的計算機系統(tǒng)就是集群的節(jié)點(Node)。一個理想的集群是,用戶從來不會意識到集群系統(tǒng)底層的節(jié)點,在他們看來,集群是一個系統(tǒng),而非多個計算機系統(tǒng)。并且集群系統(tǒng)的管理員可以隨意增加和刪改集群系統(tǒng)的節(jié)點。</p><p> 集群計算機通常用來改進單個計算機的計算速度和可靠性。一般情況下集群計算機比單個計算機,工作站或超級計算機性能價格比要高得多。</p><p> 1
18、.3.2 集群的分類</p><p> 集群分為同構與異構兩種,它們的區(qū)別在于:組成集群系統(tǒng)的計算機之間的體系結構是否相同。集群計算機按功能和結構的不同可以分成:高可用性集群 (High-availability clusters,簡稱HA)、負載均衡集群(Load balancing clusters)、高性能計算集群(High-Performance Clusters,簡稱HPC)等幾類。</p&g
19、t;<p> 高可用性集群一般是指當集群中有某個節(jié)點失效的情況下,其上的任務會自動轉移到其他正常的節(jié)點上。還指可以將集群中的某節(jié)點進行離線維護再上線,該過程并不影響整個集群的運行。</p><p> 負載均衡集群運行時一般通過一個或者多個前端負載均衡器將工作負載分發(fā)到后端的一組服務器上,從而達到整個系統(tǒng)的高性能和高可用性。這樣的計算機集群有時也被稱為服務器群(Server Farm)。一般高可用
20、性集群和負載均衡集群會使用類似的技術,或同時具有高可用性與負載均衡的特點。</p><p> 1.3.3 集群的優(yōu)點</p><p> 集群具有以下幾個方面的優(yōu)點:</p><p><b> (1)性能</b></p><p> 網絡服務的工作負載通常是大量相互獨立的任務,通過一組服務器分而治之,可以獲得很高的
21、整體性能。</p><p><b> ?。?)性能/價格比</b></p><p> 組成集群系統(tǒng)的PC服務器或RISC服務器和標準網絡設備因為大規(guī)模生產降低成本,價格低,具有最高的性能/價格比。若整體性能隨著結點數的增長而接近線性增加,該系統(tǒng)的性能/價格比接近于PC服務器。所以,這種松耦合結構比緊耦合的多處理器系統(tǒng)具有更好的性能/價格比。</p>&
22、lt;p><b> (3)可伸縮性</b></p><p> 集群系統(tǒng)中的結點數目可以增長到幾千個,乃至上萬個,其伸縮性遠超過單臺超級計算機。</p><p><b> ?。?)高可用性</b></p><p> 在硬件和軟件上都有冗余,通過檢測軟硬件的故障,將故障屏蔽,由存活結點提供服務,可實現(xiàn)高可用性。&l
23、t;/p><p> 1.4 課題研究內容</p><p> 本文主要內容安排如下:</p><p> 第一章緒論研究了選擇該課題的背景和意義、國內外研究的現(xiàn)狀以及完成課題所需要的相關技術描述。通過對選題的背景和意義的調查闡述了該課題的研究價值,國內外的研究現(xiàn)狀確定了該課題研究的獨特點,相關知識概述的部分則表述了研究該課題所需要的關鍵技術。</p>
24、<p> 第二章工程規(guī)劃研究了三層架構的WWW服務器集群所需的關鍵技術并簡單介紹了高可用集群的工作過程。</p><p> 第三章需求分析從技術可行性、經濟可行性以及操作可行性進行了分析,得出了服務器集群是有研究價值的。站在用戶需求的角度分析,該課題從業(yè)務、性能和系統(tǒng)管理等方面完全可以滿足用戶的需求。</p><p> 第四章總體設計介紹了高可用集群的設計及實現(xiàn)過程,通過詳
25、細的配置說明實現(xiàn)了高可用集群的基本功能,并進行了模擬測試且測試成功。</p><p> 第五章詳細設計介紹了負載均衡系統(tǒng)的三種工作模式及實現(xiàn)過程,通過詳細的實現(xiàn)過程,對比出三種工作模式的不同功能,為系統(tǒng)設計提供了參考,用戶可根據自身需求選擇特定的工作模式。</p><p> 第六章系統(tǒng)實施,詳細介紹架設三層WWW服務器集群的過程,并且測試完成。</p><p>
26、 第七部分是結束語,介紹了實現(xiàn)整個課題過程中自己所做的工作,以及課題沒有完成的內容和缺陷,同時在總結過程中反思了自己在整個設計過程中的不足。</p><p><b> 2 課題整體規(guī)劃</b></p><p> 2.1 工程設計中主要運用的技術</p><p> 工程設計中主要運用了以下幾個技術:</p><p&
27、gt;<b> ?。?)雙機熱備技術</b></p><p> 所謂雙機熱備,就是將中心服務器安裝成互為備份的兩臺服務器,并且在同一時間內只有一臺服務器運行。當其中運行著的一臺服務器出現(xiàn)故障無法啟動時,另一臺備份服務器會迅速的自動啟動并運行(一般為2分鐘左右),從而保證整個網絡系統(tǒng)的正常運行!雙機熱備的工作機制實際上是為整個網絡系統(tǒng)的中心服務器提供了一種故障自動恢復能力。</p>
28、;<p> ?。?)IP負載調度均衡技術</p><p> 用戶通過虛擬IP地址(Virtual IP Address)訪問服務時,訪問請求的報文會到達負載調度器,由它進行負載均衡調度,從一組真實服務器選出一個,將報文的目標地址Virtual IP Address改寫成選定服務器的地址,報文的目標端口改寫成選定服務器的相應端口,最后將報文發(fā)送給選定的服務器。真實服務器的回應報文經過負載調度器時,將
29、報文的源地址和源端口改為Virtual IP Address和相應的端口,再把報文發(fā)給用戶。</p><p><b> ?。?)共享存儲</b></p><p> 共享存儲為服務器組提供統(tǒng)一的存儲空間,這使得系統(tǒng)的維護工作比較輕松,如Webmaster只需要更新共享存儲中的頁面,對所有的服務器都有效。分布式文件系統(tǒng)提供良好的伸縮性和可用性,當分布式文件系統(tǒng)的存儲空間
30、增加時,所有服務器的存儲空間也隨之增大。對于大多數Internet服務來說,它們都是讀密集型(Read-intensive)的應用,分布式文件系統(tǒng)在每臺服務器使用本地硬盤作Cache(如2Gbytes的空間),可以使得訪問分布式文件系統(tǒng)本地的速度接近于訪問本地硬盤。</p><p> RAID是“Redundant Array of Independent Disk”的縮寫,中文意思是獨立冗余磁盤陣列。冗余磁盤
31、陣列技術誕生于1987年,由美國加州大學伯克利分校提出。簡單地解釋,就是將N臺硬盤通過RAID Controller(分Hardware,Software)結合成虛擬單臺大容量的硬盤使用。RAID的采用為存儲系統(tǒng)(或者服務器的內置存儲)帶來巨大利益,其中提高傳輸速率和提供容錯功能是最大的優(yōu)點。</p><p> (4)VMware Workstation</p><p> VMware
32、 Workstation是一款功能強大的桌面虛擬計算機軟件,提供用戶可在單一的桌面上同時運行不同的操作系統(tǒng),和進行開發(fā)、測試 、部署新的應用程序的最佳解決方案。VMware Workstation可在一部實體機器上模擬完整的網絡環(huán)境,以及可便于攜帶的虛擬機器,其更好的靈活性與先進的技術勝過了市面上其他的虛擬計算機軟件。對于企業(yè) IT開發(fā)人員和系統(tǒng)管理員而言,VMware在虛擬網路,實時快照,拖曳共享文件夾,支持PXE等方面的特點使它成為
33、必不可少的工具。</p><p> 2.2 工程整體規(guī)劃</p><p> 2.2.1 高可用集群</p><p> 計算機系統(tǒng)的可靠性用平均無故障時間(MTTF)來度量,即計算機系統(tǒng)平均能夠正常運行多長時間,才發(fā)生一次故障。系統(tǒng)的可靠性越高,平均無故障時間越長??删S護性用平均維修時間(MTTR)來度量,即系統(tǒng)發(fā)生故障后維修和重新恢復正常運行平均花費的時間
34、。系統(tǒng)的可維護性越好,平均維修時間越短。計算機系統(tǒng)的可用性定義為:MTTF/(MTTF+MTTR) * 100%。由此可見,計算機系統(tǒng)的可用性定義為系統(tǒng)保持正常運行時間的百分比。</p><p> 計算機產業(yè)界通常用表2.1所示的“9”的個數來劃分計算機系統(tǒng)可用性的類型。</p><p> 表2.1 可用性的分類</p><p> 通過硬件冗余或軟件的方法都
35、可以從很大程度上提高系統(tǒng)的可用性。硬件冗余主要是通過在系統(tǒng)中維護多個冗余部件如硬盤、網線等來保證工作部件失效時可以繼續(xù)使用冗余部件來提供服務;而軟件的方法是通過軟件對集群中的多臺機器的運行狀態(tài)進行監(jiān)測,在某臺機器失效時啟動備用機器接管失效機器的工作來繼續(xù)提供服務。</p><p> 高可用(High Availability)集群,簡稱HA集群。常見的就是2個節(jié)點做成的HA集群,有很多通俗的名稱,比如“雙機熱備
36、”,“雙機互備”,“雙機”。這樣做的好處是當服務啟動的時候,兩臺服務器一個作為主,另一個是從。測試機每幾秒會ping主機,當發(fā)現(xiàn)主機沒有回應,就證明主機宕機了,那么從機馬上會啟動相應的服務,繼續(xù)進行服務。這樣就可以保證服務不間斷。</p><p> 高可用性群集的出現(xiàn)是為了使群集的整體服務盡可能可用,以便考慮計算硬件和軟件的易錯性。如果高可用性群集中的主節(jié)點發(fā)生了故障,那么這段時間內將由次節(jié)點代替它。次節(jié)點通常
37、是主節(jié)點的鏡像,所以當它代替主節(jié)點時,它可以完全接管其身份,并且因此使系統(tǒng)環(huán)境對于用戶是一致的。盡管集群系統(tǒng)本身獨立于它在使用的軟件或硬件,但要有效運行系統(tǒng)時,硬件連接將起關鍵作用。</p><p> 2.2.2 HA集群的工作過程</p><p> HA集群的工作過程包括以下幾個階段:</p><p> (1)自動偵測(Auto-Detect)階段。由主機
38、上的軟件通過冗余偵測線,經由復雜的監(jiān)聽程序進行邏輯判斷,來相互偵測對方運行的情況,所檢查的項目有主機硬件(CPU和周邊)、主機網絡、主機操作系統(tǒng)、數據庫引擎及其它應用程序、主機與磁盤陣列連線。為確保偵測的正確性,防止錯誤的判斷,可設定安全偵測時間,包括偵測時間間隔,偵測次數以調整安全系數,并且由主機的冗余通信連線,將所匯集的訊息記錄下來,以供維護。</p><p> (2)自動切換(Auto-Switch)階段
39、。某一主機如果確認對方故障,則正常主機除繼續(xù)進行原來的任務,還將依據各種容錯備援模式接管預先設定的備援作業(yè)程序,并進行后續(xù)的程序及服務。</p><p> ?。?)自動恢復(Auto-Recovery)階段。在正常主機代替故障主機工作后,故障主機可離線進行修復工作。在故障主機修復后,透過冗余通訊線與原正常主機連線,自動切換回修復完成的主機上。整個回復過程完成由EDI-HA自動完成,亦可依據預先配置,選擇回復動作為
40、半自動或不回復。</p><p> 2.2.3 High-Availability Linux 項目和 HeartBeat</p><p> HeartBeat是可以從Linux-HA項目Web站點公開獲得的軟件包之一。它提供了所有HA系統(tǒng)所需要的基本功能,比如啟動和停止資源、監(jiān)測群集中系統(tǒng)的可用性、在群集中的節(jié)點間轉移共享IP地址的所有者等。它通過串行線、以太網接口或者同時使用二者
41、來監(jiān)測特定服務(或多個服務)的健康狀況。當前版本支持兩節(jié)點配置,使用專門的HeartBeat“pings”來檢查服務的狀態(tài)和可用性。</p><p><b> 3 需求分析</b></p><p> 3.1 可行性研究</p><p> 本課題主要從以下幾個方面進行了可行性研究:</p><p><b&g
42、t; ?。?)技術可行性</b></p><p> LINUX系統(tǒng)是開源系統(tǒng),完成虛擬化集群所需的軟件基本上都是開源的。在大學學習期間開設了Linux系統(tǒng)的專業(yè)課程,我也參加了培訓,通過自身的學習已基本掌握了Linux系統(tǒng)調試以及架設服務器集群的具體方法,在技術方面的難題是可以克服并解決的。</p><p><b> ?。?)經濟可行性</b></
43、p><p> 眾所周知,Linux系統(tǒng)是開源、免費的,而完成該課題所需要的軟件如VMware Workstation、HeartBeat等軟件都可以在網上免費獲得,且性能可以滿足設計要求。在運用到實際工作環(huán)境中時,該系統(tǒng)本身的目的就在于取代昂貴的設備來完成滿足高訪問量的需求。</p><p><b> ?。?)操作可行性</b></p><p>
44、 系統(tǒng)在操作上是簡單快捷的,該系統(tǒng)運用了高可用集群技術,每個節(jié)點都會有備用節(jié)點,當該節(jié)點出現(xiàn)故障時,系統(tǒng)會自動切換到備用節(jié)點,保證系統(tǒng)正常提供其自身功能。在節(jié)點故障后,用戶可在系統(tǒng)正常工作的前提下對故障設備進行修復,當修復完成后,系統(tǒng)會自動切換回原來的節(jié)點。</p><p> 綜上所述,架設三層架構的WWW服務器集群系統(tǒng),從技術、經濟及操作方面都是可行的。</p><p> 3.2
45、 用戶業(yè)務分析</p><p> 該系統(tǒng)針對訪問量較大的提供Web服務的網站進行設計,用戶的需求在于保證其提供的服務滿足7*24小時不宕機,并且當訪問量增大時不影響服務器響應速度,可根據訪問量的增大靈活的增加服務器數量,維護工作簡單,價格低廉且性價比高。</p><p> 3.3 用戶性能分析</p><p> 網站訪問量的高低,除了網站用戶數外,服務性能也
46、是其關鍵因素之一。一般Web服務在響應速度、吞吐量及并發(fā)用戶數需求方面的要求是比較高的,在保證正常網絡流量訪問的前提下,還要防備吞吐量及并發(fā)用戶數的短期增長,這就對系統(tǒng)的可擴展性提出了要求。該系統(tǒng)在擴展性方面是比較靈活的,當用戶提出增加服務器數量的要求時,可在短時間內方便快捷的增加或減少,且不會影響服務器正常提供服務。</p><p> 3.4 服務管理分析</p><p> 服務器
47、大部分情況下是存放在服務器機房的,距離公司比較遠,該系統(tǒng)可滿足用戶遠程管理的需求,用戶只需登錄到各服務器節(jié)點上,即可實現(xiàn)對該服務器的各項管理,并且遠程登錄的方式可根據用戶對安全性的要求來設定。該系統(tǒng)設定了日志備份,當出現(xiàn)故障時,用戶可通過日志查詢故障原因。系統(tǒng)采用了高可用集群技術,節(jié)點出現(xiàn)故障后可自動切換服務節(jié)點,并且各節(jié)點所存儲的數據時相同的,做到了數據備份。如果用戶對數據備份方面的要求較高,系統(tǒng)還可以單獨增加數據備份節(jié)點,用來存儲日
48、益增加的存儲數據。</p><p><b> 4 總體設計</b></p><p> 4.1 工作環(huán)境設定</p><p> 本課題的工作環(huán)境設定具體如下:</p><p> 虛擬機版本:VMware Workstation 6.5.2 build-156735;</p><p>
49、服務器操作系統(tǒng):HA1和HA2都采用Redhat6.4;</p><p> 客戶機(測試):Win7 IP:202.114.216.174。</p><p> 選擇虛擬機網卡工作模式,全部設為橋接,直接連接到物理網絡,并配置各節(jié)點的IP地址,詳細設置如下。</p><p> 高可用集群的拓撲結構圖如圖4.1所示。</p><p> 圖
50、4.1 高可用集群</p><p> 調度分發(fā)器的網絡配置如下:</p><p> VIP:202.114.216.177</p><p> node1: 主機名 HA1 </p><p> eth0: 202.114.216.234 //對外IP地址</p><p>
51、 eth1: 192.168.88.10 //HA心跳使用地址</p><p> node2:主機名:HA2</p><p> eth0: 202.114.216.235 //對外IP地址</p><p> eth1: 192.168.88.20
52、 //HA心跳使用地址</p><p> 4.2 軟件安裝及主要文件的配置</p><p> 本設計的軟件安裝及主要文件配置如下:</p><p> ?。?)安裝HeartBeat軟件</p><p> 在安裝過程中需要解決依賴包的問題,第一次安裝時會出錯,要安裝兩次,并解壓HeartBeat包含的文件。</p>
53、<p> rpm -ivh HeartBeat-pils-2.1.3-3.el5.centos.i386.rpm</p><p> mkdir /mnt/cdrom</p><p> mount /dev/cdrom /mnt/cdrom</p><p> cd /mnt/cdrom/CentOS</p><p> rp
54、m -ivh telnet-0.17-39.el5.i386.rpm </p><p> rpm -ivh PyXML-0.8.4-4.i386.rpm </p><p><b> cd ~</b></p><p> rpm -ivh HeartBeat-stonith-2.1.3-
55、3.el5.centos.i386.rpm</p><p> rpm -ivh HeartBeat-2.1.3-3.el5.centos.i386.rpm </p><p> rpm -q HeartBeat -d </p><p><b> ?。?)配置所需文件</b></p>&l
56、t;p> 在每個節(jié)點上配置HeartBeat,需要有authkeys、ha.cf、haresources三個文件,它們必須存在于/etc/ha.d/目錄里:</p><p> cp /usr/share/doc/HeartBeat-2.1.3/authkeys /etc/ha.d/ </p><p> cp /usr/share/doc/HeartBeat-2.1.3/ha.c
57、f /etc/ha.d/</p><p> cp /usr/share/doc/HeartBeat-2.1.3/haresources /etc/ha.d/</p><p> ?。?)配置/etc/ha.d/ha.cf</p><p> 在配置文件中要指明日志文件存放位置,指明心跳時間為2秒(即每兩秒鐘在eth1上發(fā)送一次廣播),指明服務切換時間為30秒(30秒
58、內沒反應切換服務),指明心跳延遲的時間為10秒(當10秒鐘內備份機不能聯(lián)系上主機(當前活動的服務器,即無心跳信號),就會往日志中寫入一個警告日志,但此時不會切換服務),設置網絡重啟時間為120秒(在一些配置中,節(jié)點重啟后需要花一些時間啟動網絡,這個時間和“deadtime”不同,要單獨對待,至少是標準死亡時間的兩倍)。詳細配置內容如下:</p><p> vi /etc/ha.d/ha.cf</p>
59、<p> logfile /var/log/ha-log //日志文件存放位置</p><p> logfacility local0 </p><p> keepalive 2 //心跳時間</p><p> deadtime 30
60、 // 服務切換時間</p><p> warntime 10 //心跳延遲時間</p><p> initdead 120 //網絡重啟時間</p><p> udpport 694 //心跳檢測的通信端口</p><p
61、> bcast eth1 //指明心跳連接的接口號</p><p> ucast eth1 192.168.88.20 //心跳連接的pc的ip</p><p> auto_failback on //主服務器恢復正常自動切換回來</p><p> node
62、 HA1 //兩個的主機名</p><p> node HA2</p><p> ping 202.114.216.254 //網關 </p><p> ?。?)配置/etc/ha.d/haresources</p><p> vi /etc/ha.d/hareso
63、urces </p><p> HA1 202.114.216.177 httpd</p><p> (5)配置vi /etc/ha.d/authkeys</p><p> 該文件時安全方面的配置,里面有三種認證方式:crc md5 sha1,在這里使用第一種認證方式,最后要更改文件的權限。</p><p> vi /etc/ha.
64、d/authkeys</p><p> auth 1 1 crc </p><p> chmod 600 /etc/ha.d/authkeys</p><p> ?。?)遠程同步配置文件</p><p> 兩臺心跳的服務器的配置基本上是完全一樣的,所以用sftp遠程傳到另一個已經安裝完成,同樣是放在 /etc/ha.d中,唯一不一樣的
65、是這臺機器的ha.cf中的ucast eth1 192.168.88.20改為92.168.8.10。同樣把authkeys的權限也改為600。</p><p> ?。?)配置/etc/hosts文件</p><p> 需要把兩臺心跳連接的電腦的主機信息寫上。</p><p> node1的hosts內容如下:</p><p> vim
66、 /etc/hosts </p><p> 127.0.0.1 localhost.localdomain localhost</p><p> 202.114.216.234 HA1</p><p> 192.168.88.10 HA1</p><p> 192.168.88.20 HA2&
67、lt;/p><p> 202.114.216.235 HA2</p><p> node2的hosts內容如下:</p><p> 127.0.0.1 localhost.localdomain localhost</p><p> 202.114.216.235 HA2</p><p>
68、 192.168.88.20 HA2</p><p> 192.168.88.10 HA1</p><p> 202.114.216.234 HA1</p><p> ?。?)Apache網頁服務器的架設</p><p> 首先要將光驅掛載,并從掛載的光驅軟件安裝包目錄中安裝Apache服務器,命令如下:</p
69、><p> mkdir /mnt/cdrom </p><p> mount /dev/cdrom /mnt/cdrom </p><p> cd /mnt/cdrom/CentOS </p><p> rpm -iv
70、h httpd-2.2.3-31.el5.centos.i386.rpm </p><p> 分別編輯2臺真實服務器的不同網頁內容:</p><p> vi /var/www/html/index.html</p><p> This is Xfu.edu.cn Apache Server HA 11111111111</p><
71、p> This is Xfu.edu.cn Apache Server HA 2222222222</p><p> 4.3 測試高可用/高可靠性</p><p> 首先把兩臺機器的心跳服務都啟動,命令如下:</p><p> service HeartBeat start</p><p> 過幾秒鐘后會發(fā)現(xiàn)HA1主機的網卡
72、信息中出現(xiàn)eth0:0接口,它的IP是202.114.216.177 就是剛才做的虛擬主機的IP;而且執(zhí)行ps -ef | grep httpd發(fā)現(xiàn)httpd服務會自動啟動,因為在/etc/ha.d/haresources 配置了HA1 202.114.216.177 httpd自動啟動;而HA2卻并沒有產生eth0:0接口,也沒有自動啟動httpd服務,說明HA2處于偵聽檢測的狀態(tài)。</p><p> 同時訪
73、問http://202.114.216.177,可以顯示:This is Xfu.edu.cn Apache Server HA 1111111111。</p><p> 在HA1上執(zhí)行service HeartBeat stop,在用ifconfig 和ps -ef | grep httpd發(fā)現(xiàn)eth0:0接口消失并且httpd服務自動停止;在HA2上執(zhí)行ipfconfig和ps -ef | grep htt
74、pd發(fā)現(xiàn)產生了eth0:0接口,IP地址為:202.114.216.177并且自動啟動了httpd服務,所明自動切換接管服務成功。</p><p> 同時訪問http://202.114.216.177,應該可以顯示:This is Xfu.edu.cn Apache Server HA 2222222222。</p><p> 再在HA1上執(zhí)行service HeartBeat st
75、art ,在用ifconfig 和ps -ef | grep httpd發(fā)現(xiàn)又產生了eth0:0接口,IP地址為:202.114.216.177并且自動啟動了httpd服務;在HA2上執(zhí)行ipfconfig和ps -ef | grep httpd發(fā)現(xiàn)eth0:0接口消失并且httpd服務自動關閉。同時訪問http://202.114.216.177,應該又可以顯示:This is Xfu.edu.cn Apache Server HA
76、1111111111;可以看到HA1又接管了其WEB服務,說明HA高可用性群集的實驗是成功的。</p><p><b> 5 詳細設計</b></p><p> 虛擬服務器的體系結構:一組服務器通過高速的局域網或者地理分布的廣域網相互連接,在它們的前端有一個負載調度器(Load Balancer)。負載調度器能無縫地將網絡請求調度到真實服務器上,從而使得服務器集
77、群的結構對客戶是透明的,客戶訪問集群系統(tǒng)提供的網絡服務就像訪問一臺高性能、高可用的服務器一樣。</p><p> 客戶程序不受服務器集群的影響不需作任何修改。系統(tǒng)的伸縮性通過在服務機群中透明地加入和刪除一個節(jié)點來達到,通過檢測節(jié)點或服務進程故障和正確地重置系統(tǒng)達到高可用性。由于負載調度技術是在Linux內核中實現(xiàn)的,所以稱之為Linux虛擬服務器(Linux Virtual Server)。</p>
78、<p> 5.1 LVS集群的特點</p><p> LVS集群的特點有以下幾個方面:</p><p><b> (1)功能</b></p><p> 有實現(xiàn)三種IP負載均衡技術和八種連接調度算法的IPVS軟件。在IPVS內部實現(xiàn)上,采用了高效的Hash函數和垃圾回收機制,能正確處理所調度報文相關的ICMP消息(有些商品
79、化的系統(tǒng)反而不能)。虛擬服務的設置數目沒有限制,每個虛擬服務有自己的服務器集。它支持持久的虛擬服務(如HTTP Cookie和HTTPS等需要該功能的支持),并提供詳盡的統(tǒng)計數據,如連接的處理速率和報文的流量等。針對大規(guī)模拒絕服務(Deny of Service)攻擊,實現(xiàn)了三種防衛(wèi)策略:有基于內容請求分發(fā)的應用層交換軟件KTCPVS,它也是在Linux內核中實現(xiàn)。有相關的集群管理軟件對資源進行監(jiān)測,能及時將故障屏蔽,實現(xiàn)系統(tǒng)的高可用性
80、。主、從調度器能周期性地進行狀態(tài)同步,從而實現(xiàn)更高的可用性。</p><p><b> ?。?)適用性</b></p><p> 后端服務器可運行任何支持TCP/IP的操作系統(tǒng),包括Linux,各種Unix(如FreeBSD、Sun Solaris、HP Unix等),Mac/OS和Windows NT/2000等。負載調度器能夠支持絕大多數的TCP和UDP協(xié)議:協(xié)
81、議內容TCPHTTP,F(xiàn)TP,PROXY,SMTP,POP3,IMAP4,DNS,LDAP,HTTPS,SSMTP等UDPDNS,NTP,ICP,視頻、音頻流播放協(xié)議等無需對客戶機和服務器作任何修改,可適用大多數Internet服務。</p><p><b> (3)性能</b></p><p> LVS服務器集群系統(tǒng)具有良好的伸縮性,可支持幾百萬個并發(fā)連接。配置
82、100M網卡,采用VS/TUN或VS/DR調度技術,集群系統(tǒng)的吞吐量可高達1Gbits/s;如配置千兆網卡,則系統(tǒng)的最大吞吐量可接近10Gbits/s。</p><p><b> ?。?)可靠性</b></p><p> LVS服務器集群軟件已經在很多大型的、關鍵性的站點得到很好的應用,所以它的可靠性在真實應用得到很好的證實。有很多調度器運行一年多,未作一次重啟動。
83、</p><p><b> ?。?)軟件許可證</b></p><p> LVS集群軟件是按GPL(GNU Public License)許可證發(fā)行的自由軟件,這意味著你可以得到軟件的源代碼,有權對其進行修改,但必須保證你的修改也是以GPL方式發(fā)行。</p><p> 5.2 IPVS幾種常用的負載均衡調度算法 </p>&
84、lt;p> 針對不同的網絡服務需求和服務器配置,IPVS調度器實現(xiàn)了十種負載調度算法,常見的算法有以下四種:</p><p> ?。?)輪詢(Round Robin)。調度器通過“輪詢”調度算法將外部請求按順序輪流分配到集群中的真實服務器上,它均等地對待每一臺服務器,而不管服務器上實際的連接數和系統(tǒng)負載。</p><p> (2)加權輪詢(Weighted Round Robin
85、)。調度器通過“加權輪詢”調度算法根據真實服務器的不同處理能力來調度訪問請求。這樣可以保證處理能力強的服務器處理更多的訪問流量。調度器可以自動問詢真實服務器的負載情況,并動態(tài)地調整其權值。</p><p> (3)最少鏈接(Least Connections)。調度器通過“最少連接”調度算法動態(tài)地將網絡請求調度到已建立的鏈接數最少的服務器上。如果集群系統(tǒng)的真實服務器具有相近的系統(tǒng)性能,采用“最小連接”調度算法可
86、以較好地均衡負載。</p><p> ?。?)加權最少鏈接(Weighted Least Connections)。在集群系統(tǒng)中的服務器性能差異較大的情況下,調度器采用“加權最少鏈接”調度算法優(yōu)化負載均衡性能,具有較高權值的服務器將承受較大比例的活動連接負載。調度器可以自動問詢真實服務器的負載情況,并動態(tài)地調整其權值。</p><p> 5.3 LVS 三種工作方式的具體原理</
87、p><p> 5.3.1 Virtual Server via Network Address Translation(VS/NAT)</p><p> 通過網絡地址轉換,調度器重寫請求報文的目標地址,根據預設的調度算法,將請求分派給后端的真實服務器;真實服務器的響應報文通過調度器時,報文的源地址被重寫,再返回給客戶,完成整個負載調度過程。由于IPv4中IP 地址空間的日益緊張和安全方面
88、的原因,很多網絡使用保留IP地址(10.0.0.0/8、172.16.0.0/16和192.168.0.0/24)。這些私有地址不在Internet上使用,而是專門為內部網絡預留的。當內部網絡中的主機要訪問Internet或被Internet訪問時,就需要采用網絡地址轉換(Network Address Translation, 以下簡稱NAT),將內部地址轉化為Internet 上可用的外部地址。NAT的工作原理是報文頭(目標地址、源
89、地址和端口等)被正確改寫后,客戶相信它們連接一個IP 地址,而不同IP地址的服務器組也認為它們是與客戶直接相連的。由此,可以用NAT方法將不同IP 地址的并行網絡服務變成在一個IP地址上的一個虛擬服務。</p><p> VS/NAT的體系結構如圖5.1所示。在一組服務器前有一個調度器,它們是通過Switch相連接的。這些服務器提供相同的網絡服務、相同的內容,即不管請求被發(fā)送到哪一臺服務器,執(zhí)行結果是一樣的。服
90、務的內容可以復制到每臺服務器的本地硬盤上,可以通過網絡文件系統(tǒng)(如NFS)共享,也可以通過一個分布式文件系統(tǒng)來提供。</p><p> 圖5.1 LVS/NAT集群</p><p> 5.3.2 Virtual Server via Direct Routing(VS/DR)</p><p> VS/DR通過改寫請求報文的MAC地址,將請求發(fā)送到真實服務器
91、,而真實服務器將響應直接返回給客戶。同VS/TUN技術一樣,VS/DR技術可極大地提高集群系統(tǒng)的伸縮性。這種方法沒有IP隧道的開銷,對集群中的真實服務器也沒有必須支持IP隧道協(xié)議的要求,但是要求調度器與真實服務器都有一塊網卡連在同一物理網段上。</p><p> VS/DR的體系結構如圖5.2所示,調度器和服務器組都必須在物理上有一個網卡通過不分斷的局域網相連,如通過高速的交換機相連。VIP地址為調度器和服務器
92、組共享,調度器配置的VIP地址是對外可見的,用于接收虛擬服務的請求報文;所有的服務器把VIP地址配置在各自的Non-ARP網絡設備上,它對外面是不可見的,只是用于處理目標地址為VIP的網絡請求。</p><p> 圖5.2 LVS/DR集群</p><p> 5.3.3 Virtual Server via IP Tunneling(VS/TUN)</p><p
93、> 采用NAT技術時,由于請求和響應報文都必須經過調度器地址重寫,當客戶請求越來越多時,調度器的處理能力將成為瓶頸。為了解決這個問題,調度器把請求報文通過IP隧道轉發(fā)至真實服務器,而真實服務器將響應直接返回給客戶,所以調度器只處理請求報文。由于一般網絡服務應答比請求報文大許多,采用 VS/TUN技術后,集群系統(tǒng)的最大吞吐量可以提高10倍。</p><p> IP隧道(IP tunneling)是將一個I
94、P報文封裝在另一個IP報文的技術,這可以使得目標為一個IP地址的數據報文能被封裝和轉發(fā)到另一個IP地址。IP隧道技術亦稱為IP封裝技術(IP encapsulation)。IP隧道主要用于移動主機和虛擬私有網絡(Virtual Private Network),在其中隧道都是靜態(tài)建立的,隧道一端有一個IP地址,另一端也有唯一的IP地址。利用IP隧道技術將請求報文封裝轉發(fā)給后端服務器,響應報文能從后端服務器直接返回給客戶。但在這里,后端服
95、務器有一組而非一個,所以不可能靜態(tài)地建立一一對應的隧道,而是動態(tài)地選擇一臺服務器,將請求報文封裝和轉發(fā)給選出的服務器。這樣,可以利用IP隧道的原理將一組服務器上的網絡服務組成在一個IP地址上的虛擬網絡服務。VS/TUN的體系結構如圖5.3所示,各個服務器將VIP地址配置在自己的IP隧道設備上。</p><p> 圖5.3 LVS/TUN集群</p><p> 5.4 LVS集群系統(tǒng)
96、的設計及實現(xiàn)</p><p> 5.4.1 通過NAT實現(xiàn)虛擬服務器(VS/NAT)</p><p> LVS/NAT集群拓撲結構圖如圖5.1所示。</p><p><b> (1)工作環(huán)境設定</b></p><p> 虛擬機版本:VMware Workstation 6.5.2 build-156735;&
97、lt;/p><p> 服務器操作系統(tǒng):所有機器全部采用Red Hat Enterprise Linux 5;</p><p> 客戶機(測試):Win7 IP:202.114.216.174。</p><p><b> ?。?)網絡IP配置</b></p><p> 虛擬機網卡工作模式:全部設為橋接,直接連接到物理網絡
98、</p><p> Directorserver(LVS1):</p><p> eth0(外網卡):202.114.216.177</p><p> Gateway: 202.114.216.254</p><p> DnsServer :202.114.216.3</p><p> eth1(內網卡):1
99、92.168.88.1 </p><p> Gateway: 202.114.216.254</p><p> DnsServer :202.114.216.3</p><p> Realserver 1(RS1) eth0: 192.168.88.10</p><p> Realserver 1(RS2) eth
100、0: 192.168.88.20</p><p> Realserver 3(RS3) eth0: 192.168.88.30</p><p> Gateway: 192.168.88.1</p><p> (3)下載ipvsadm軟件包</p><p> route add default gw 202.114.216.2
101、54 //因eth1是后配置,所以默認網關被覆為192.168.88.1,連接不上公網,必須重新增加一條默認路由。</p><p> wget http://www.Linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz</p><p> ?。?)對內核進行軟連接</p><p> 因為
102、ipvsadm在安裝的過程中先要去查找/usr/src/Linux 這個信息,所以要先把內核信息做軟連接到/usr/src/Linux。如果不這么做,在安裝的過程中會報錯。</p><p> ln -s /usr/src/kernels/2.6.18-8.el5-i686/ /usr/src/Linux </p><p> (5)包的解壓,編譯和安裝</p><p&
103、gt; tar -zxvf ipvsadm-1.24.tar.gz </p><p> cd ipvsadm-1.24</p><p><b> make all</b></p><p> make install</p><p><b> ?。?)配置LVS</b></p>
104、<p> vi /etc/init.d/vip.sh</p><p> echo "1" > /proc/sys/net/ipv4/ip_forward //打開IP轉發(fā)</p><p> ipvsadm –C //清除現(xiàn)有Ipvs規(guī)則</p>&l
105、t;p> ipvsadm -A -t 202.114.216.177:80 -s rr //使用輪詢調度算法</p><p> ipvsadm -a -t 202.114.216.177:80 -r 192.168.88.10:80 -m -w 1 </p><p> //添加RS1服務器的調度</p><p> ipvsadm
106、 -a -t 202.114.216.177:80 -r 192.168.88.20:80 -m -w 1 </p><p> ipvsadm -a -t 202.114.216.177:80 -r 192.168.88.30:80 -m -w 1 </p><p> chmod 777 /etc/init.d/vip.sh //修改權
107、限</p><p> /etc/init.d/vip.sh //執(zhí)行腳本</p><p> ?。?) Apache網頁服務器的架設</p><p> mkdir /mnt/cdrom //建立光驅掛載目錄 </p><p> moun
108、t /dev/cdrom /mnt/cdrom //掛載光驅</p><p> cd /mnt/cdrom/Server //進入RPM軟件安裝包目錄</p><p> rpm -ivh httpd-2.2.3-6.el5.i386.rpm //安裝Apache服務器軟件</p><p>
109、 分別編輯3臺真實服務器的不同網頁內容:</p><p> vi /var/www/html/index.html</p><p> This is Xfu.edu.cn Apache Server 1111111111 //RS1的內容</p><p> This is Xfu.edu.cn Apache Server 2222222222 /
110、/RS2的內容</p><p> This is Xfu.edu.cn Apache Server 3333333333 //RS3的內容</p><p> 啟動Apache服務器:service httpd start </p><p> (8)測試LVS/NAT集群</p><p> 如圖5.4所示,依次打開VIP
111、地址:202.114.216.177,可以分別看到RS1、RS2、RS3的網頁內容。</p><p> 在LVS1上執(zhí)行ipvsadm -L -n –stats,可以詳細的看到鏈接請求的分布狀態(tài),是依次輪詢的,說明LVS/NAT負載均衡實驗是成功的。</p><p> 在圖5.4中,左側顯示的是網頁內容,執(zhí)行三次的結果顯示了三次不同的網頁界面,右側顯示的是鏈接請求分布的狀態(tài)。</
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于redhat系統(tǒng)的計算機集群虛擬化技術的設計與實現(xiàn)
- 畢業(yè)設計(論文)+計算機科學與技術+基于discuz!的大學計算機基礎論壇系統(tǒng)設計與實現(xiàn)
- 計算機科學與技術畢業(yè)設計-基于web的家政服務系統(tǒng)的設計與實現(xiàn)
- 計算機科學與技術畢業(yè)設計-賓館管理系統(tǒng)的設計與實現(xiàn)
- 計算機畢業(yè)設計---基于web的教學評價系統(tǒng)的設計與實現(xiàn)
- 計算機科學與技術畢業(yè)設計-資料管理系統(tǒng)設計與實現(xiàn)
- 計算機科學與技術畢業(yè)設計-基于android平臺的家具展示系統(tǒng)的設計與實現(xiàn)
- 計算機科學與技術畢業(yè)設計-病床呼叫管理系統(tǒng)的設計與實現(xiàn)
- 計算機虛擬實驗系統(tǒng)的設計與實現(xiàn).pdf
- 計算機專業(yè)畢業(yè)設計--在線考試系統(tǒng)的設計與實現(xiàn)
- 計算機科學與與技術畢業(yè)設計基于內容的微博推薦系統(tǒng)設計與實現(xiàn)
- 基于網絡的虛擬實驗平臺遠程指導模塊的設計與實現(xiàn)—計算機畢業(yè)設計(論文)
- 計算機科學與技術畢業(yè)設計-基于sqlserver的業(yè)務流程管理系統(tǒng)的設計與實現(xiàn)
- 基于web的圖書管理系統(tǒng)的設計與實現(xiàn)計算機科學與技術畢業(yè)設計論文
- 基于web的圖書管理系統(tǒng)的設計與實現(xiàn)計算機科學與技術畢業(yè)設計論文
- 計算機科學與技術畢業(yè)設計超市管理系統(tǒng)的設計
- 計算機科學與技術畢業(yè)設計基于android的esl管理系統(tǒng)的設計
- 計算機科學與技術畢業(yè)設計
- 計算機科學與技術畢業(yè)設計-基于esper的復雜事件處理系統(tǒng)設計與實現(xiàn)
- 計算機科學與技術畢業(yè)設計-新生注冊與宿舍管理系統(tǒng)的設計與實現(xiàn)
評論
0/150
提交評論