天天看點

叢集(cluster)和高可用性(HA)的概念

1.1 什麼是

   簡單的說,叢集()就是一組計算機,它們作為一個整體向使用者提供一組資源。這些單個的計算機系統就是叢集的節點(node)。一個理想的叢集是,使用者從來不會意識到叢集系統底層的節點,在他/她們看來,叢集是一個系統,而非多個計算機系統。并且叢集系統的員可以随意增加和删改叢集系統的節點。

  更詳細的說,叢集(一組協同工作的計算機)是充分利用計算資源的一個重要概念,因為它能夠将工作負載從一個超載的系統(或節點)遷移到叢集中的另一個系統上。其處理能力是與專用計算機(小型機,大型機)可相比,但其成本效益高于專用計算機.常見的硬體有:結點,網絡,存儲.軟體有:機群系統,節點系統,應用支撐軟體。

  cluster叢集技術可如下定義:一組互相獨立的伺服器在網絡中表現為單一的系統,并以單一系統的模式加以管理。此單一系統為客戶工作站提供高可靠性的服務。大多數模式下,叢集中所有的計算機擁有一個共同的名稱,叢集内任一系統上運作的服務可被所有的網絡客戶所使用。cluster必須可以協調管理各分離的元件的錯誤和失敗,并可透明地向cluster中加入元件。一個cluster包含多台(至少二台)擁有共享資料存儲空間的伺服器。任何一台伺服器運作一個應用時,應用資料被存儲在共享的資料空間内。每台伺服器的作業系統和應用程式檔案存儲在其各自的本地儲存空間上。cluster内各節點伺服器通過一内部區域網路互相通訊。當一台節點伺服器發生故障時,這台伺服器上所運作的應用程式将在另一節點伺服器上被自動接管。當一個應用服務發生故障時,應用服務将被重新啟動或被另一台伺服器接管。當以上的任一故障發生時,客戶都将能很快連接配接到新的應用服務上。

1.2 叢集系統的主要優點:

   (1)高可擴充性:

   (2)高可用性ha:叢集中的一個節點失效,它的任務可傳遞給其他節點。可以有效防止單點失效。

   (3)高性能:平衡叢集允許系統同時接入更多的使用者。

   (4)高成本效益:可以采用廉價的符合工業标準的硬體構造高性能的系統。

2.1 叢集系統的分類

   雖然,根據叢集系統的不同特征可以有多種分類方法,但是一般把叢集系統分為兩類:

   (1)、高可用(high availability)叢集,簡稱ha叢集。

   這類叢集緻力于提供高度可靠的服務。就是利用叢集系統的容錯性對外提供7*24小時不間斷的服務,如高可用的檔案、資料庫服務等關鍵應用。

叢集:使任務可以在叢集中盡可能平均地分攤不同的計算機進行處理,充分利用叢集的處理能力,提高對任務的處理效率。

   在實際應用中這幾種叢集類型可能會混合使用,以提供更加高效穩定的服務。如在一個使用的網絡負載均衡叢集中,就會包含高可用的網絡檔案系統、高可用的網絡服務。

   (2)、性能計算(high perfermance computing)叢集,簡稱hpc叢集,也稱為科學計算叢集。

   在這種叢集上運作的是專門開發的并行應用程式,它可以把一個問題的資料分布到多台的計算機上,利用這些計算機的共同資源來完成計算任務,進而可以解決單機不能勝任的工作(如問題規模太大,單機計算速度太慢)。

   這類叢集緻力于提供單個計算機所不能提供的強大的計算能力。如天氣預報、石油勘探與油藏模拟、分子模拟、生物計算等。

3.1 什麼是高可用性 (ha)

   計算機系統的可用性(availability)是通過系統的可靠性(reliability)和可維護性(maintainability)來度量的。工程上通常用平均無故障時間(mttf)來度量系統的可靠性,用平均維修時間(mttr)來度量系統的可維護性。于是可用性被定義為:mttf/(mttf+mttr)*100%

負載均衡伺服器的高可用性

為了屏蔽負載均衡伺服器的失效,需要建立一個機。主伺服器和備份機上都運作high availability監控程式,通過傳送諸如“i am alive”這樣的資訊來監控對方的運作狀況。當備份機不能在一定的時間内收到這樣的資訊時,它就接管主伺服器的服務ip并繼續提供服務;當備份管理器又從主管理器收到“i am alive”這樣的資訊是,它就釋放服務ip位址,這樣的主管理器就開開始再次進行叢集管理的工作了。為在主伺服器失效的情況下系統能正常工作,我們在主、備份機之間實作負載叢集系統配置資訊的同步與備份,保持二者系統的基本一緻。

ha的容錯備援運作過程

   自動偵測(auto-detect)階段 由主機上的軟體通過備援偵測線,經由複雜的監聽程式。邏輯判斷,來互相偵測對方運作的情況,所檢查的項目有:主機硬體(cpu和周邊)、主機網絡、主機作業系統、資料庫引擎及其它應用程式、主機與磁盤陣列連線。為確定偵測的正确性,而防止錯誤的判斷,可設定偵測時間,包括偵測時間間隔,偵測次數以調整安全系數,并且由主機的備援通信連線,将所彙集的訊息記錄下來,以供維護參考。

   自動切換(auto-switch)階段 某一主機如果确認對方故障,則正常主機除繼續進行原來的任務,還将依據各種容錯備援模式接管預先設定的備援作業程式,并進行後續的程式及服務。

   自動恢複(auto-recovery)階段 在正常主機代替故障主機工作後,故障主機可離線進行修複工作。在故障主機修複後,透過備援通訊線與原正常主機連線,自動切換回修複完成的主機上。整個回複過程完成由edi-ha自動完成,亦可依據預先配置,選擇回複動作為半自動或不回複。

3.2、ha三種工作方式:

(1)、主從方式 (非對稱方式)

工作原理:主機工作,備機處于監控準備狀況;當主機當機時,備機接管主機的一切工作,待主機恢複正常後,按使用者的設定以自動或手動方式将服務切換到主機上運作,資料的一緻性通過共享系統解決。

(2)、雙機雙工方式(互備互援)

工作原理:兩台主機同時運作各自的服務工作且互相監測情況,當任一台主機當機時,另一台主機立即接管它的一切工作,保證工作實時,應用服務系統的關鍵資料存放在共享存儲系統中。

(3)、叢集工作方式(多伺服器互備方式)

工作原理:多台主機一起工作,各自運作一個或幾個服務,各為服務定義一個或多個備用主機,當某個主機故障時,運作在其上的服務就可以被其它主機接管。

當一個人找不到出路的時候,最好的辦法就是将目前能做好的事情做到極緻,做到無人能及。

本文出自 “” 部落格,請務必保留此出處

繼續閱讀