介紹
微軟叢集伺服器(MSCS)將多個基於微軟Windows NT的作業系統連結在一起,使之作為單一的、高可用性的系統呈現給網路客戶。從系統管理員的角度來說,MSCS提供了額外的管理方便和伸縮性,並且MSCS架構為未來版本的具有延展性的、群集可感知(cluster-aware)的應用提供了標準的基礎結構。
本文意圖從流程的高層次角度講述編寫良好定義的應用,以充分利用MSCS能力優勢。也包括如何完全發揮MSCS的優勢,通過編製資源DLL,調試應用和服務,以及在群集環境下進行安裝。
注意 本文假定你已經在群集環境下成功安裝群集軟體,也擁有微軟的平台軟體開發包(Platform Software Development Kit(Platform SDK)),並且編譯環境能夠正常工作。如果在設定開發環境中遇到了問題,請參考SDK文檔。
群集和高可用性
通過基於資源可用性和伺服器負載來定向用戶端請求,MSCS允許應用和服務以更有效方式在Windows NT伺服器上運行。(在MSCS的第一個版本,Server Load Balancer是手動操作的;未來版本將提供自動化的負載平衡)如果群集中的一個系統-或節點-因硬體或軟體故障失效或失敗了,它的工作集將被群集中的其它系統接手,直到該失效的系統回複正常。
注意 MSCS設計時著重於提供高可用性(high availability),而非真正的容錯(fault tolerance)。“容錯”一詞通常用於描述能夠提供更進階別的恢複和複原能力的技術。典型的容錯伺服器通常使用進階的硬體和資料冗餘,並由特製的軟體組合在一起,為任意單點硬體或軟體故障提供接近於即時的複原。這種解決方案的費用大大高於群集,因為必須為故障恢複購置冗餘的硬體,這些硬體平時都處於空閑狀態。MSCS使用標準的、廉價的硬體提供超好(譯者:;-P)的高可用性解決方案,能夠最大的利用計算資源。
非共用節點模式
MSCS 1.0版本是兩節點的群集,基於非共用節點模式。非共用節點模式表示當群集中的幾個節點可能訪問某一裝置或資源時,該資源在任一時刻只能由一個系統擁有和管理。(在MSCS群集中,資源被定義為任何能夠在聯機和離線狀態間轉換,由群集管理,在某個時刻僅能由一個節點擁有,能夠在節點間轉移的硬體或邏輯組件)
每個節點有自己的記憶體,系統磁碟,作業系統,以及叢集資源的子集。如果節點失效,其他節點將取得失效節點的資源的所有權(這個過程稱為容錯移轉failover)。MSCS將為這些資源註冊新節點的網路地址,以便於將用戶端請求路由到當前擁有這些資源並處於可用狀態的節點。當失效的系統稍後回複到聯機狀態,可以設定MSCS,恰當的重新分發資源和用戶端請求(該過程稱為故障恢複failback)。
注意 當節點失效,所有的用戶端都會失去串連。為了實現真正透明的容錯移轉,用戶端應用程式必須能夠在節點失效時重建立立串連。
通常的MSCS群集設定如所示:
圖1.標準的兩節點MSCS配置
下面章節介紹MSCS架構。