1.什么是服務(wù)器集群
隨著Internet的爆炸性增長,Internet與人的生活越來越息息相關(guān),通過Internet上進行交易也就越來越受關(guān)注。近幾年,電子商務(wù)的年增長均超過100%。服務(wù)器的工作量也迅速增長,所以服務(wù)器(特別是一個受人歡迎的WEB服務(wù)器)很容易在訪問高峰時期過載。
而另一方面,計算機從1946年單純的科學(xué)計算任務(wù)到現(xiàn)在大量紛繁復(fù)雜的信息處理,工作量越來越大,需要越來越快的處理能力。所以計算機界就不得不不斷研究更快的處理器,存儲器,以適應(yīng)這一需求。
然而,科學(xué)家們意識到,單塊處理器的速度發(fā)展空間是有限的,為什么不能讓計算機象人一樣協(xié)同工作,“群策群力”地將工作完成好呢!這時,就掀起了“并行計算”的研究。
舉個例子來說,我們架設(shè)了一臺WWW服務(wù)器,上面構(gòu)建了一個電子商務(wù)網(wǎng)站,然而隨著時間的推移,名聲越來越大,這時點擊率也就越來越高,WWW服務(wù)器的負(fù)載也就越來越高。這種情況下,我們就必須提升WWW服務(wù)器的能力,以滿足以益增長的服務(wù)請求。這時,我們就面臨兩種選擇:
1)升級WWW服務(wù)器,采用更快的CPU,增加更多的內(nèi)存,使其更具有POWER;但日益增長的服務(wù)請求又會使服務(wù)器再次過載,需要再次升級,這樣就陷入了升級的怪圈。還有,升級時還得考慮到服務(wù)如何接續(xù),能否中止!
2)增加WWW服務(wù)器,讓多臺服務(wù)器來完成相同的服務(wù)。
這種方法就是服務(wù)器集群,通過并行技術(shù)來大大提升系統(tǒng)性能。也就是這一章的主要內(nèi)容,這種方法具有很好的擴展性,而且可以最大限度地利用已有投資。
1.1.集群的概念
集群,是一組獨立的計算機系統(tǒng)構(gòu)成一個松耦合的多處理器系統(tǒng),它們之間通過網(wǎng)絡(luò)實現(xiàn)進程間的通信。應(yīng)用程序可以通過網(wǎng)絡(luò)共享內(nèi)存進行消息傳送,實現(xiàn)分布式計算機。
近幾年來,微處理器、內(nèi)存、總線技術(shù)、網(wǎng)絡(luò)技術(shù)有了非常大的進步,軟件的并行技術(shù)也有了非常大的進步,這使得讓一組廉價的個人電腦與工作站協(xié)同工作成為可能,甚至可以與擁有強大的芯片處理能力的超級計算機競爭。
比如,16個普通微處理器組成的集群系統(tǒng)可以達到億次級浮點計算機能力,而且總的成本小于40萬元。
不幸的是,建造一個集群并不是一件簡單的事件。集群的組成部分必須根據(jù)要運行的主要應(yīng)用進行調(diào)整,以使之運行在最佳狀態(tài)。這此因素帶來的結(jié)果就是,建造集群系統(tǒng)不是只有一個標(biāo)準(zhǔn)的方案,在本章中,我們就會看到許多種建造方案。
集群技術(shù)是計算機系統(tǒng)結(jié)構(gòu)的前沿領(lǐng)域,筆者也僅是略有了解,希望本文能起到拋磚引玉之用。
1.2.并行技術(shù)
這是一個非常簡單的建造四節(jié)點的小集群系統(tǒng)的例子,它是構(gòu)建在Linux操作系統(tǒng)上,通過MPICH軟件包實現(xiàn)的,希望這個小例子能讓大家對集群系統(tǒng)的構(gòu)建有一個最基本的了解。
2.使用MPICH構(gòu)建一個四節(jié)點的集群系統(tǒng)
這是一個非常簡單的建造四節(jié)點的小集群系統(tǒng)的例子,它是構(gòu)建在Linux操作系統(tǒng)上,通過MPICH軟件包實現(xiàn)的,希望這個小例子能讓大家對集群系統(tǒng)的構(gòu)建有一個最基本的了解。
2.1 所需設(shè)備
1).4臺采用Pentium II處理器的PC機,每臺配
置64M內(nèi)存,2GB以上的硬盤,和EIDE接口的光盤驅(qū)動器。
2).5塊100M快速以太網(wǎng)卡,如SMC 9332 EtherPower 10/100(其中四塊卡用于連接集群中的結(jié)點,另外一塊用于將集群中的其中的一個節(jié)點與其它網(wǎng)絡(luò)連接。)
3).5根足夠連接集群系統(tǒng)中每個節(jié)點的,使用5類非屏蔽雙絞線制作的RJ45纜線
4).1個快速以太網(wǎng)(100BASE-Tx)的集線器或交換機
5).1張Linux安裝盤
2.2 構(gòu)建說明
對計算機硬件不熟的人,實施以下這些構(gòu)建步驟會感到吃力。如果是這樣,請找一些有經(jīng)驗的專業(yè)人士尋求幫助。
1. 準(zhǔn)備好要使用的采用Pentium II處理器的PC機。確信所有的PC機都還沒有接上電源,打開PC機的機箱,在準(zhǔn)備與網(wǎng)絡(luò)上的其它設(shè)備連接的PC機上安裝上兩塊快速以太網(wǎng)卡,在其它的PC機上安裝上一塊快速以太網(wǎng)卡。當(dāng)然別忘了要加上附加的內(nèi)存。確定完成后蓋上機箱,接上電源。
2. 使用4根RJ45線纜將四臺PC機連到快速以太網(wǎng)的集線器或交換機上。使用剩下的1根RJ45線將額外的以太網(wǎng)卡(用于與其它網(wǎng)絡(luò)相連的那塊,這樣機構(gòu)就可以用上集群)連接到機構(gòu)的局域網(wǎng)上(假定你的機構(gòu)局域網(wǎng)也是快速以太網(wǎng)),然后打開電源。
3. 使用LINUX安裝盤在每一臺PC機上安裝。請確信在LINUX系統(tǒng)中安裝了C編譯器和C的LIB庫。當(dāng)你配置TCP/IP時,建議你為四臺PC分別指定為192.168.1.1、192.168.1.2、192.168.1.3、192.168.1.4。第一臺PC為你的服務(wù)器節(jié)點(擁有兩塊網(wǎng)卡的那臺)。在這個服務(wù)器節(jié)點上的那塊與機構(gòu)局域網(wǎng)相連的網(wǎng)卡,你應(yīng)該為其指定一個與機構(gòu)局域網(wǎng)吻合的IP地址。