集羣服務技術

集羣,英文名稱爲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板以及電源故障,運行在這臺服務器上的應用就會切換到其它的服務器上。
  二、集羣系統可解決軟件系統問題,我們知道,在計算機系統中,用戶所使用的是應用程序和數據,而應用系統運行在操作系統之上,操作系統又運行在服務器上。這樣,只要應用系統、操作系統、服務器三者中的任何一個出現故障,系統實際上就停止了向客戶端提供服務,比如我們常見的軟件死機,就是這種情況之一,儘管服務器硬件完好,但服務器仍舊不能向客戶端提供服務。而集羣的最大優勢在於對故障服務器的監控是基於應用的,也就是說,只要服務器的應用停止運行,其它的相關服務器就會接管這個應用,而不必理會應用停止運行的原因是什麼。
  三、集羣系統可以解決人爲失誤造成的應用系統停止工作的情況,例如,當管理員對某臺服務器操作不當導致該服務器停機,因此運行在這臺服務器上的應用系統也就停止了運行。由於集羣是對應用進行監控,因此其它的相關服務器就會接管這個應用。
  集羣系統的不足之處在於:
  我們知道集羣中的應用只在一臺服務器上運行,如果這個應用出現故障,其它的某臺服務器會重新啓動這個應用,接管位於共享磁盤櫃上的數據區,進而使應用重新正常運轉。我們知道整個應用的接管過程大體需要三個步驟:偵測並確認故障、後備服務器重新啓動該應用、接管共享的數據區。因此在切換的過程中需要花費一定的時間,原則上根據應用的大小不同切換的時間也會不同,越大的應用切換的時間越長。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章