- 相關(guān)推薦
linux系統(tǒng)集群的架構(gòu)與實現(xiàn)
基于Linux系統(tǒng)的開源與穩(wěn)定性,以及目前服務器集群的廣泛應用,小編下面為大家整理關(guān)于linux系統(tǒng)集群的架構(gòu)與實現(xiàn)的文章,歡迎閱讀參考:
1.引言
伴隨互聯(lián)網(wǎng)技術(shù)飛速發(fā)展和各種應用的逐漸開發(fā),以及對計算機運行效率要求的不斷提高,依靠增加單一服務器的處理能力并不能很好地解決迅速增長的網(wǎng)絡應用的需求。因為采用單一服務器就意味著單點失效問題的存在,同時服務器的升級往往需要暫時中斷服務。這都難以保證網(wǎng)絡的高可用性,而且采用更高性能的服務器意味著更高的成本投入,由于這些特點,集群技術(shù)由此應運而生。而且由于其造價低廉,性能優(yōu)異,便于管理,編程方便,可擴展性好等優(yōu)勢,集群系統(tǒng)的應用變得越來越廣泛。
2.集群的概念和分類
集群就是一組計算機,它們作為一個整體向用戶提供一組網(wǎng)絡資源。這些單個的計算機系統(tǒng)就是集群的節(jié)點,它們之間通過高速網(wǎng)絡連接。這些計算機能夠協(xié)同工作,并對外表現(xiàn)為一個集成單一的計算機資源[1]。
常見的Linux集群系統(tǒng)分為如下三種基本類型:
(1)高性能計算集群(HPC:High Perfor-mance Clus ter)。主要特點為并行計算,目的是用于進行大規(guī)模數(shù)值計算,解決復雜的科學問題。這種集群中的服務器(也稱計算節(jié)點)采用并行計算方法,把一個海量的計算任務分解成各個子任務,然后分配給各節(jié)點并行計算,并通過標準化的消息傳遞接口(PVM或MPI)實現(xiàn)各計算節(jié)點的同步和數(shù)據(jù)的匯集。根據(jù)其高效的計算特性一般應于于航空航天、環(huán)境科學、石油地震勘探計算數(shù)學、DNA模型計算等領(lǐng)域。
(2)高可用性集群(HA:High Availabi-lity)。主要特點為主備服務器自動無縫切換,目的是提供不間斷的服務。它是由主、從或多臺服務器組成。發(fā)生故障時,服務器自動切換到后備服務器,這種切換對用戶是透明的,用戶無法感覺到服務器的切換。目前,對于要求24小時提供不間斷服務的地方常常使用高可用性集群。如實時計費系統(tǒng)、實時交易處理系統(tǒng)、氣象信息數(shù)據(jù)庫、科技信息數(shù)據(jù)庫服務等領(lǐng)域。
(3)高可伸縮性負載均衡集群(HSLB:High Scalability Load Balance)主要特點為負載均衡,目的是提供與節(jié)點個數(shù)成正比的負載能力,將系統(tǒng)的整體負載合理地分配到各個服務器節(jié)點上,使得每個節(jié)點都不會因為超負荷工作而崩潰;并且當對系統(tǒng)整體負載需求大于系統(tǒng)整體負載能力時,可以通過增加服務器節(jié)點,平滑地拓展系統(tǒng)負荷能力。這種集群非常適合提供大訪問量的網(wǎng)絡服務。如網(wǎng)上銀行、圖形對象發(fā)布、氣象信息檢索服務、科技信息檢索服務等領(lǐng)域。
結(jié)合公司的服務器及實際應運情況,本文只討論第一種高性能計算集群。
3.并行計算集群設計
并行集群構(gòu)造方案是一個管理節(jié)點與一組同構(gòu)或者異構(gòu)的計算節(jié)點通過網(wǎng)絡相連,管理節(jié)點承擔分配并行任務和提供外部管理接口的任務,計算節(jié)點負責各自分配得到的并行計算任務以及和其它節(jié)點之間的數(shù)據(jù)交換,可選的存儲節(jié)點提供配置文件和處理數(shù)據(jù)的統(tǒng)一管理[2][3]。以四個節(jié)點為例的集群系統(tǒng)的構(gòu)造拓撲如圖1所示。
集群軟件模塊如圖2所示:
(1)操作系統(tǒng):Linux系統(tǒng)對不同計算機架構(gòu)的良好支持保證了高性能集群的擴展能力和性價比。選取比較穩(wěn)定的Linux系統(tǒng)版本(本文采用的是Red Hat)。對于計算節(jié)點的系統(tǒng)管理可以采用PXE網(wǎng)絡安裝等方式,提升安裝和管理的效率。
(2)節(jié)點間通信:通過建立節(jié)點間的無密碼SSH訪問實現(xiàn)節(jié)點間通信。
(3)文件共享方案:NFS文件共享系統(tǒng)的引入方便并行程序或者待處理的數(shù)據(jù)文件的統(tǒng)一部署。該方案便于統(tǒng)一管理,對可執(zhí)行程序或者配置文件的修改都可以在同一路徑下一次性完成。各個計算節(jié)點之間的環(huán)境變量等配置文件都相同。
4)計算任務分配:MPI。
4.實現(xiàn)并行計算集群的關(guān)鍵技術(shù)
高性能計算集群之所以高效其核心在于并行計算模型的設計[4]——MPI。
并行計算將進程相對獨立的分配于不同的節(jié)點上,由各自獨立的操作系統(tǒng)調(diào)度,享有獨立的CPU和內(nèi)存資源(內(nèi)存可以共享);通過網(wǎng)絡聯(lián)接的不同計算機的多個進程,進程位于不同的計算機,消息傳遞是實現(xiàn)進程間通信的唯一方式;根據(jù)應用程序?qū)ο鬟f功能的需求,全球工業(yè)、應用和研究部門聯(lián)合推出標準的消息傳遞界面函數(shù),不考慮其具體實現(xiàn),以保證并行應用程序的可移植性在當前所有的消息傳遞軟件中。最重要的就是MPI,MPI表示消息傳遞接口(Message Passing Interface),它能運行在所有的并行平臺上,包括SMP和PVP。
MPI的目的是為編寫消息傳遞程序而開發(fā)的廣范使用的標準。象這個接口一樣,為消息傳遞建立一個實際的、可移植的、有效的和靈活的標準。實現(xiàn)如下目標:
(1)統(tǒng)一的應用編程接口(不必為編譯器或一個系統(tǒng)實現(xiàn)庫)。
(2)允許有效的通信:避免存儲器到存儲器的拷貝,而允許計算和通信的重疊,盡可能給通信協(xié)同處理器卸載。
(3)對于接口允許方便的C語言和Fortran 77聯(lián)接。
(4)設定一個可靠的通信接口:用戶不必處理通信失敗。這些失敗由基本的通信子系統(tǒng)處理。
(5)定義一個接口,并非不同于現(xiàn)在的實踐,如:PVM,NX,Express,p4等,還提供更大靈活性的擴展。
(6)定義一個接口,它能在基本的通信和系統(tǒng)軟件無重大改變時,在許多生產(chǎn)商的平臺上實現(xiàn)。接口的語義是獨立于語言的。
(7)接口應設計成允許線索-安全(thread-safety)。
5.架設適合我公司的集群
5.1 硬件選擇
(1)以使用的曙光服務器為例,使用千兆網(wǎng)絡(千兆交換機),進行高性能計算。使用百兆網(wǎng)絡進行網(wǎng)絡監(jiān)控和管理。
(2)每臺服務器做為一個節(jié)點(以四臺服務器為例),每臺機器的系統(tǒng)及配置必須一致。
5.2 軟件安裝準備
主(Master)服務器需安裝:
(1)防火墻(含NAT架設);
(2)RSH;
(3)NIS Server;
(4)NFS Server;
(5)Compiler Install;
(6)MPICH Install;
(7)其它特殊功能。
從屬(Slave)服務器所需安裝:
(1)防火墻的設定;
(2)RSH;
(3)NIS Client;
(4)NFS Client。
5.3 安裝步驟
(1)架設服務器系統(tǒng)
以圖1所示拓撲圖為例,但需在主服務器上連接顯示器,鍵盤及鼠標。
(2)系統(tǒng)安裝(Red Hat)
選擇安裝類型:Red Hat提供了三種不同類型的軟件包套件、個人桌面、工作站和服務器,以根據(jù)自己的需要選擇不同的安裝類型,這里選擇“定制”。硬盤分區(qū)選擇用Disk Druid工具進行分區(qū),這里將分成兩個分區(qū),一個Swap和一個根目錄(/),swap空間的大小一般為物理內(nèi)存的2-3倍,剩下的空間都分給根目錄。
(3)防火墻(含NAT主機)與網(wǎng)絡設定、網(wǎng)絡配置
Red Hat提供了三種安全級別的防火墻配置,可以根據(jù)自己的需要進行選擇。在此設計中,需要開22端口,也就是SSH服務。
分別將四臺機器的IP地址設置為192.168.1.1(master)、192.196.1.2、192.196.1.3、192.168.1.4,子網(wǎng)掩碼為255.255.255.0。按先后順序?qū)FS、NIS和RSH進行設定,主要目的為實現(xiàn)資源共享。
(4)選擇安裝軟件包(關(guān)鍵要是對MPICH的安裝)但注意需要安裝GCC編譯器
下面是在命令界面下測試集群是否安裝成功進行的測試舉例[5]:
[test@servertest]$cp-r/cluster/server/program/mpich/examples/.
[test@server test]$cd examples
[test@server examples]$make clusterfile
[test@server examples]$mpirun-np 4 clusterfile
注:在最后一行命令-np后面接的就是所使用的節(jié)點的個數(shù)。
6.結(jié)論
通過一個簡單的測試對1000個100000進行累加運算表明:即使只有四個節(jié)點的集群服務器的運算速度也比一臺主機的運算速度高出3倍,充分發(fā)揮曙光集群系統(tǒng)的作用。但必須注意的是做為服務器的集群系統(tǒng),在日常的使用和維護中,必須以穩(wěn)定和安全做為首要目的,因此以具備系統(tǒng)穩(wěn)定性的linux集群系統(tǒng)防火墻的設計也值得去研究。
【linux系統(tǒng)集群的架構(gòu)與實現(xiàn)】相關(guān)文章:
Linux系統(tǒng)安全的九個關(guān)鍵點11-07
如何成為優(yōu)秀的系統(tǒng)架構(gòu)師08-30
OA系統(tǒng)怎么實現(xiàn)小微型企業(yè)實現(xiàn)協(xié)同辦公10-28
Linux常用命令匯總08-30
Linux新手必備的20個命令08-28
linux認證的面試題及答案04-02