Sun Cluster 簡介 (適用於 Solaris 作業系統)

資料完整性

Sun Cluster 系統嘗試防止資料毀壞並確保資料完整性。由於叢集節點共用資料與資源,叢集嚴禁分割為同時處於使用中的獨立分割區。CMM 保證任何時候均只有一個叢集可以作業。

叢集分割區可能會導致兩種問題:Split Brain 與 Amnesia。Split Brain 發生於節點間的叢集互連遺失以及叢集分割為子叢集時,每個子叢集均相信自己是唯一的分割區。不知道有其他子叢集的子叢集可能導致共用資源衝突,例如網路位址重複和資料毀壞。

如果所有節點都認?叢集處於不穩定的狀態,就會發生 Amnesia。例如,有一個具有節點 A 和節點 B 的雙節點叢集。如果節點 A 失敗,將僅在節點 B 上更新 CCR 中的配置資料,而不在節點 A 上更新。如果稍後節點 B 失敗並且節點 A 重新啟動,則節點 A 將使用舊的 CCR 內容執行。這種狀態稱為 Amnesia,並可能導致使用舊的配置資訊執行叢集。

藉由投每個節點一票,並強制給予作業中的叢集多數票,便得以避免 Split Brain 與 Amnesia 的狀況發生。具有多數票的分割區有法定數目,並可以作業。如果叢集中有兩個以上的節點,則這種多數票機制會運作得極好。在兩個節點的叢集中,票數為兩票。如果這樣的叢集被分割,外部投票可以使分割區取得法定數目。此外部投票由法定裝置提供。法定裝置可以是兩個節點間共用的任何磁碟。

表 2–1 描述了 Sun Cluster 軟體如何用法定數目來避免 Split brain 與 Amnesia。

表 2–1 叢集法定數目以及 Split-Brain 與 Amnesia 問題

分割區類型 

法定數目解決方案 

Split Brain 

只允許具有多數票的分割區 (子叢集) 作為叢集來執行 (僅可存在一個這樣具有多數票的分割區)。某個節點在法定數目的競爭中失敗後便會當機。 

Amnesia 

保證在啟動叢集時,該叢集至少有一個節點是最新叢集成員關係中的成員之一 (因此具有最新的配置資料)。