集群伺服器

集群伺服器

集群,英文名稱為Cluster,通俗地說,集群是這樣一種技術:它將多個系統連線到一起,使多台伺服器能夠像一台機器那樣工作或者看起來好像一台機器。採用集群系統通常是為了提高系統的穩定性和網路中心的數據處理能力及服務能力。

基本介紹

  • 中文名:集群伺服器
  • 外文名:Cluster server
  • 目的:提高系統的穩定性等
含義,方法,優勢,弊端,

含義

集群是由一些互相連線在一起的計算機構成的一個並行或分散式系統。這些計算機一起工作並運行一系列共同的應用程式,同時,為用戶和應用程式提供單一的系統映射。從外部來看,它們僅僅是一個系統,對外提供統一的服務。集群內的計算機物理上通過電纜連線,程式上則通過集群軟體連線。這些連線允許計算機使用故障應急與負載平衡功能,而故障應急與負載平衡功能在單機上是不可能實現的。
伺服器集群系統通俗地講就是把多台伺服器通過快速通信鏈路連線起來,從外部看來,這些伺服器就像一台伺服器在工作,而對內來說,外面來的負載通過一定的機制動態地分配到這些節點機中去,從而達到超級伺服器才有的高性能、高可用。
舉個例子來說,我們架設了一台WWW伺服器,上面構建了一個電子商務網站,然而隨著時間的推移, WWW伺服器的負載越來越高。此時就必須提升WWW伺服器的能力,以滿足日益增長的服務請求。這時,我們就面臨兩種選擇:
1)升級WWW伺服器,採用更快的CPU,增加更多的記憶體,使其具有更強的性能;但日益增長的服務請求又會使伺服器再次過載,需要再次升級,這樣就陷入了升級的怪圈。還有,升級時還得考慮到服務如何接續,能否中止。
2)增加WWW伺服器,讓多台伺服器來完成相同的服務。
第二種方法就是伺服器集群,簡而言之,就是一組相互獨立的伺服器在網路中表現為單一的系統,並以單一系統的模式加以管理。此單一系統為客戶工作站提供高可靠性的服務。一個伺服器集群包含多台擁有共享數據存儲空間的伺服器,各伺服器之間通過內部區域網路進行相互通信;當其中一台伺服器發生故障時,它所運行的應用程式將由其他的伺服器自動接管;在大多數情況下,集群中所有的計算機都擁有一個共同的名稱,集群系統內任意一台伺服器都可被所有的網路用戶所使用。在集群系統中運行的伺服器並不一定是高檔產品,但伺服器的集群卻可以提供相當高性能的不停機服務;每一台伺服器都可承擔部分計算任務,並且由於群集了多台伺服器的性能,因此,整體系統的計算能力將有所提高;同時,每台伺服器還能承擔一定的容錯任務,當其中某台伺服器出現故障時,系統可以在專用軟體的支持下將這台伺服器與系統隔離,並通過各伺服器之間的負載轉移機制實現新的負載平衡,同時向系統管理員發出報警信號。
一旦在伺服器上安裝並運行了群集服務,該伺服器即可加入群集。群集化操作可以減少單點故障數量,並且實現了群集化資源的高可用性。
從群集中的其它節點和群集服務管理接口的角度看,當形成群集時,群集中的每個節點可能處於三種不同狀態中的一種。事件處理器會記錄這些狀態,而事件日誌管理器會將這些狀態複製到群集的其它節點。群集服務狀態包括:
脫機。此時的節點不是完全有效的群集成員。該節點及其群集伺服器可能在運行,也可能未運行。
在線上。此時的節點是完全有效的群集成員。它遵從群集資料庫的更新、對仲裁算法施加自己的影響、維護心跳通訊,並可以擁有和運行資源組。
暫停。它只能支持它當前已擁有的那些資源組。之所以提供暫停狀態,是為了允許執行某些維護。大多數伺服器群集組件會將在線上和暫停視為等價的狀態。

方法

常用的伺服器集群方法:
1)將備份伺服器連線在主伺服器上,當主伺服器發生故障時,備份伺服器才投入運行,把主伺服器上所有任務接管過來。
2)將多台伺服器連線,這些伺服器一起分擔同樣的套用和資料庫計算任務,改善關鍵大型套用的回響時間。同時,每台伺服器還承擔一些容錯任務,一旦某台伺服器出現故障時,系統可以在系統軟體的支持下,將這台伺服器與系統隔離,並通過各伺服器的負載轉嫁機制完成新的負載分配。
在集群系統中,所有的計算機擁有一個共同的名稱,集群內任一系統上運行的服務可被所有的網路客戶所使用。集群必須可以協調管理各分離組件的錯誤和失敗,並可透明的向集群中加入組件。用戶的公共數據被放置到了共享的磁碟櫃中,應用程式被安裝到了所有的伺服器上,也就是說,在集群上運行的套用需要在所有的伺服器上安裝一遍。當集群系統在正常運轉時,套用只在一台伺服器上運行,並且只有這台伺服器才能操縱該套用在共享磁碟柜上的數據區,其它的伺服器監控這台伺服器,只要這台伺服器上的套用停止運行(無論是硬體損壞、作業系統當機、套用軟體故障,還是人為誤操作造成的套用停止運行),其它的伺服器就會接管這台伺服器所運行的套用,並將共享磁碟柜上的相應數據區接管過來。

優勢

高可伸縮性:伺服器集群具有很強的可伸縮性。隨著需求和負荷的增長,可以向集群系統添加更多的伺服器。在這樣的配置中,可以有多台伺服器執行相同的套用和資料庫操作。
高可用性:高可用性是指,在不需要操作者干預的情況下,防止系統發生故障或從故障中自動恢復的能力。通過把故障伺服器上的應用程式轉移到備份伺服器上運行,集群系統能夠把正常運行時間提高到大於99.9%,大大減少伺服器和應用程式的停機時間。
高可管理性:系統管理員可以從遠程管理一個、甚至一組集群,就好象在單機系統中一樣。

弊端

如果集群中的套用只在一台伺服器上運行,且剛好這個套用出現故障,其它的某台伺服器會重新啟動這個套用,接管位於共享磁碟柜上的數據區,進而使套用重新正常運轉。整個套用的接管過程大體需要三個步驟:偵測並確認故障、後備伺服器重新啟動該套用、接管共享的數據區。因此在切換的過程中需要花費一定的時間,原則上根據套用的大小不同切換的時間也會不同,越大的套用切換的時間越長。

相關詞條

熱門詞條

聯絡我們