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