集群是一種技術解決方案,它將硬件和軟件結合起來,為Web、Email以及數據庫等服務提供高可用性和高伸縮性的架構。本文將分析集群的類型,然後將重點放在如何建立一個基於Microsoft的集群解決方案。
集群的類型
集群分為兩種類型:負載平衡和失效轉移(Failover)。負載平衡集群將負載分散到集群內的各個資源,這要涉及跨越多個前端服務器的分布式網絡傳輸。負載平衡集群令每個可用的服務器都擁有較為平均的負載量,以提高系統整體的性能和伸縮能力。這類集群一般用於Web和COM+程序,集群內部支持兩個以上的節點。
Failover集群主要針對硬件和軟件故障時的系統可用性。它監視系統資源,以確定何時啟動失效轉移。當系統發生故障時,集群會將資源從故障服務器轉移到集群中的其他服務器,以恢復資源的可訪問性。
一個具有容錯能力的failover集群需要大量的硬件和專用軟件,確定應用狀態,它可以在硬件和軟件發生故障時進行實時故障恢復,包括恢復到當前的應用狀態。一個高可用性的集群必定是一個具有容錯能力的集群,但它不一定能提供和failover集群同樣的錯誤恢復能力。
Microsoft的Cluster Service (MSCS)是一種比容錯集群更好的高可用性集群。它和專用的容錯集群相比,所需硬件更少,但可以操作更多種類的應用。同時,它也可以對硬件和軟件的故障進行恢復,但發生故障時無法正常恢復到應用狀態則。高可用性的MSCS可以在一個集群內支持兩個服務器節點。
基本的軟硬件組件
集群中的服務器節點都采用各自獨立的硬件設備,相互間協同工作。每個服務器有自己的操作系統,並獨立連接在網絡上。服務器間采用外部硬盤和專用網絡連接。共享硬盤通過硬盤控制器與各個節點相連,這種硬盤控制器一般采用外置SCSI設備或存儲局域網(SAN)作為共享硬盤,不同於包含操作系統的硬盤控制器。
MSCS解決方案可以采用主動/被動模式工作。在同一時間集群中只有一個節點是主動的,主動服務器存儲著集群內的全部資源,並不斷將數據寫入共享硬盤,這就是所謂的quorum驅動器。它可以在故障恢復時,將共享狀態信息從一個節點轉移到另一個節點。定時的發送信號會通過服務器間的專用網傳遞,當處於被動模式的服務器沒有受到這個信號,就認為主動服務器已經失效。此時,它便開始接管集群資源,並從quorum分區上讀取狀態信息。
在集群中安裝 SQL Server
為了在集群上安裝 SQL Server,你必須首先按以下步驟建立一個可操作的集群:
1. 在每個服務器上安裝支持MSCS的Windows Server操作系統。
2. 為每個服務器建立一個"公開的"網絡連接。這個連接用來接收外部查詢請求。
3. 在集群的兩個節點間建立一個專用網絡,用來傳輸節點狀態信號。
4. 在域中建立一個用戶,用來操作集群。在每個服務器上將該用戶添加到管理員組。