-
集羣,英文名稱爲Cluster,通俗地說,集羣是這樣一種技術:它將多個系統鏈接到一塊兒,使多臺服務器可以像一臺機器那樣工做或者看起來好像一臺機器。採用集羣系統一般是爲了提升系統的穩定性和網絡中心的數據處理能力及服務能力。
簡介
舉個例子來講,咱們架設了一臺WWW服務器,上面構建了一個電子商務網站,然而隨着時間的推移,名聲愈來愈大,這時點擊率也就愈來愈高,WWW服務器的負載也就愈來愈高。這種狀況下,咱們就必須提高WWW服務器的能力,以知足日益增加的服務請求。這時,咱們就面臨兩種選擇:
1)升級WWW服務器,採用更快的CPU,增長更多的內存,使其具備更強的性能;但日益增加的服務請求又會使服務器再次過載,須要再次升級,這樣就陷入了升級的怪圈。還有,升級時還得考慮到服務如何接續,可否停止。
2)增長WWW服務器,讓多臺服務器來完成相同的服務。
第二種方法就是服務器集羣,簡而言之,就是一組相互獨立的服務器在網絡中表現爲單一的系統,並以單一系統的模式加以管理。此單一系統爲客戶工做站提供高可靠性的服務。一個服務器集羣包含多臺擁有共享數據存儲空間的服務器,各服務器之間經過內部局域網進行相互通訊;當其中一臺服務器發生故障時,它所運行的應用程序將由其餘的服務器自動接管;在大多數狀況下,集羣中全部的計算機都擁有一個共同的名稱,集羣系統內任意一臺服務器均可被全部的網絡用戶所使用。在集羣系統中運行的服務器並不必定是高檔產品,但服務器的集羣卻能夠提供至關高性能的不停機服務;每一臺服務器均可承擔部分計算任務,而且因爲羣集了多臺服務器的性能,所以,總體系統的計算能力將有所提升;同時,每臺服務器還能承擔必定的容錯任務,當其中某臺服務器出現故障時,系統能夠在專用軟件的支持下將這臺服務器與系統隔離,並經過各服務器之間的負載轉移機制實現新的負載平衡,同時向系統管理員發出報警信號。
兩種方法
目前,有兩種經常使用的服務器集羣方法:
一種是將備份服務器鏈接在主服務器上,當主服務器發生故障時,備份服務器才投入運行,把主服務器上全部任務接管過來。
另外一種方法是將多臺服務器鏈接,這些服務器一塊兒分擔一樣的應用和數據庫計算任務,改善關鍵大型應用的響應時間。同時,每臺服務器還承擔一些容錯任務,一旦某臺服務器出現故障時,系統能夠在系統軟件的支持下,將這臺服務器與系統隔離,並經過各服務器的負載轉嫁機制完成新的負載分配。PC服務器中較爲常見的是兩臺服務器的集羣,UNIX系統可支持8臺服務器的集羣系統,康柏的專用系統OpenVMS可支持多達96臺服務器的集羣系統。
在集羣系統中,全部的計算機擁有一個共同的名稱,集羣內任一系統上運行的服務可被全部的網絡客戶所使用。集羣必須能夠協調管理各分離組件的錯誤和失敗,並可透明的向集羣中加入組件。用戶的公共數據被放置到了共享的磁盤櫃中,應用程序被安裝到了全部的服務器上,也就是說,在集羣上運行的應用須要在全部的服務器上安裝一遍。當集羣系統在正常運轉時,應用只在一臺服務器上運行,而且只有這臺服務器才能操縱該應用在共享磁盤櫃上的數據區,其它的服務器監控這臺服務器,只要這臺服務器上的應用中止運行(不管是硬件損壞、操做系統死機、應用軟件故障,仍是人爲誤操做形成的應用中止運行),其它的服務器就會接管這臺服務器所運行的應用,並將共享磁盤櫃上的相應數據區接管過來。其接管過程以下所示(以應用A爲例):
1.應用A正常工做時;
2.應用A中止工做後,其它的備用服務器將該應用接管過來。
具體接管過程分三部執行:
a.系統接管。
b.加載應用。
c.客戶端鏈接。
優點
集羣系統的優點在於如下幾點:
解決全部的服務器硬件故障
當某一臺服務器出現任何故障,如:硬盤、內存、CPU、主板、I/O板以及電源故障,運行在這臺服務器上的應用以及其餘計算資源經過網絡將任務分配到集羣的其餘正常的節點上,而不影響正常應用或者計算.
.解決軟件系統問題
咱們知道,在計算機系統中,用戶所使用的是應用程序和數據,而應用系統運行在操做系統之上,操做系統又運行在服務器上。這樣,只要應用系統、操做系統、服務器三者中的任何一個出現故障,系統實際上就中止了向客戶端提供服務,好比咱們常見的軟件死機,就是這種狀況之一,儘管服務器硬件無缺,但服務器仍舊不能向客戶端提供服務。而集羣的最大優點在於對故障服務器的監控是基於應用的,也就是說,只要服務器的應用中止運行,其它的相關服務器就會接管這個應用,而沒必要理會應用中止運行的緣由是什麼。
解決人爲失誤形成的應用系統中止工做
例如,當管理員對某臺服務器操做不當致使該服務器停機,所以運行在這臺服務器上的應用系統也就中止了運行。因爲集羣是對應用進行監控,所以其它的相關服務器就會接管這個應用。
不足之處
集羣系統的不足之處在於:
集羣中的應用只在一臺服務器上運行,若是這個應用出現故障,其它的某臺服務器會從新啓動這個應用,接管位於共享磁盤櫃上的數據區,進而使應用從新正常運轉。咱們知道整個應用的接管過程大致須要三個步驟:偵測並確認故障、後備服務器從新啓動該應用、接管共享的數據區。所以在切換的過程當中須要花費必定的時間,原則上根據應用的大小不一樣切換的時間也會不一樣,越大的應用切換的時間越長。
集羣技術
集羣技術的出現和IA架構服務器的快速發展爲社會的需求提供了新的選擇。它價格低廉,易於使用和維護,並且採用集羣技術能夠構造超級計算機,其超強的處理能力能夠取代價格昂貴的中大型機,爲行業的高端應用開闢了新的方向。
集羣技術是一種相對較新的技術,經過集羣技術,能夠在付出較低成本的狀況下得到在性能、可靠性、靈活性方面的相對較高的收益。
目前,在世界各地正在運行的超級計算機中,有許多都是採用集羣技術來實現的。
集羣是由一些互相鏈接在一塊兒的計算機構成的一個並行或分佈式系統。這些計算機一塊兒工做並運行一系列共同的應用程序,同時,爲用戶和應用程序提供單一的系統映射。從外部來看,它們僅僅是一個系統,對外提供統一的服務。集羣內的計算機物理上經過電纜鏈接,程序上則經過集羣軟件鏈接。這些鏈接容許計算機使用故障應急與負載平衡功能,而故障應急與負載平衡功能在單機上是不可能實現的。
服務器集羣系統通俗地講就是把多臺服務器經過快速通訊鏈路鏈接起來,從外部看來,這些服務器就像一臺服務器在工做,而對內來講,外面來的負載經過必定的機制動態地分配到這些節點機中去,從而達到超級服務器纔有的高性能、高可用。
集羣的優勢
高可伸縮性:服務器集羣具備很強的可伸縮性。隨着需求和負荷的增加,能夠向集羣系統添加更多的服務器。在這樣的配置中,能夠有多臺服務器執行相同的應用和數據庫操做。
高可用性:高可用性是指,在不須要操做者干預的狀況下,防止系統發生故障或從故障中自動恢復的能力。經過把故障服務器上的應用程序轉移到備份服務器上運行,集羣系統可以把正常運行時間提升到大於99.9%,大大減小服務器和應用程序的停機時間。
高可管理性:系統管理員能夠從遠程管理一個、甚至一組集羣,就好象在單機系統中同樣。