HA 叢集的主要目的是管理使用者服務。Apache Web 伺服器或資料庫便是使用者服務的典型範例。從使用者的角度來看,命令這些服務執某些特定操作,它們就會按要求執行。不過,對於叢集而言,它們只是可以啟動或停止的資源 — 服務的性質與叢集無關。
本章介紹一些設定資源和管理叢集時需瞭解的基本概念。後續章節將介紹如何使用 High Availability Extension 提供的各種管理工具執行主要的組態與管理任務。
若要設定和管理叢集資源,可以使用 HA Web Konsole (Hawk2) 或 crm 外圍程序 (crmsh) 指令行公用程式。如果您從安裝了 Hawk 的較低版 SUSE® Linux Enterprise High Availability Extension 升級,該套件將由最新版本 Hawk2 取代。
Hawk2 採用 Web 式使用者介面,可讓您從非 Linux 機器監控和管理自己的 Linux 叢集。此外,如果您的系統只提供了精簡的圖形使用者介面,那麼 Hawk 將是一個理想的解決方案。
若要設定和管理叢集資源,可以使用 crm 外圍程序 (crmsh) 指令行公用程式或 Web 使用者介面 HA Web Konsole (Hawk2)。
本章對指令行工具 crm
做了介紹,並對此工具、樣板的使用方式進行了概述,主要敘述了設定和管理叢集資源方面的資訊︰建立基本與進階類型的資源 (群組與複製品),設定條件約束,指定容錯移轉節點與錯誤回復節點,設定資源監控,啟動、清理或移除資源,以及手動移轉資源。
需由叢集管理的所有任務都必須當成資源使用。其中,有兩個主要群組需要注意,即資源代辦和 STONITH 代辦。對於這兩種類別,您都可以新增自己的代辦,以延伸叢集的功能來滿足自己的需要。
在 HA (High Availability) 的電腦叢集中,圍籬區隔是一個極其重要的概念。叢集有時會偵測到其中一個節點行為異常,需要將其移除。這稱為「圍籬區隔」,通常透過 STONITH 資源來執行。可將圍籬區隔定義為讓 HA 叢集處於已知狀態一種方法。
叢集中的每個資源都有相關的狀態。例如︰「資源 r1 已在 alice 上啟動」。在 HA 叢集中,這樣的狀態隱含「資源 r1 已在除節點 alice 之外的所有節點上停止」的含義,因為叢集必須確保每個資源只能在一個節點上啟動。每個節點都必須報告資源發生的每一項變更。因此,叢集狀態是資源狀態和節點狀態的集合。
如果無法確切判斷某個節點或資源的狀態,就會觸發圍籬區隔。即使叢集未注意到指定節點上發生了狀況,圍籬區隔也可以確保該節點不會執行任何重要的資源。
SBD (STONITH 區塊裝置) 透過經由共享塊儲存 (SAN、iSCSI、FCoE 等) 交換訊息來為基於 Pacemaker 的叢集提供節點圍籬區隔機制。此方法可將圍籬區隔機制隔離開,使其不受韌體版本變更的影響,或不依賴於特定韌體控制器。SBD 需要在每個節點上安裝一個監視程式,以確定能真正停止行為異常的節點。在某些情況下,還可以透過無磁碟模式執行 SBD,以便使用不含共享儲存的 SBD。
每則訊息前的 ha-cluster-bootstrap 程序檔提供了一種自動設定叢集的方式,並可選擇使用 SBD 做為圍籬區隔機制。如需詳細資料,請參閱《安裝與設定快速入門》。但是,手動設定 SBD 可為您提供個別設定的更多選項。
本章介紹 SBD 背後的概念。它將引導您完成 SBD 所需元件的設定,以保護您的叢集避免在發生電腦分裂的情況下出現潛在資料毀損。
除了節點層級圍籬區隔外,您還可以使用額外的儲存保護機制,例如 LVM2 獨佔啟用或 OCFS2 檔案鎖定支援 (資源層級圍籬區隔)。它們可以保護您的系統,避免出現管理或應用程式故障。
Crm 外圍程序 (crmsh) 或 Hawk2 等叢集管理工具可由 root
使用者或 haclient
群組中的任何使用者使用。依預設,這些使用者擁有完整的讀取/寫入存取權。若要限制存取權或指定更精細的存取權限,可以使用存取控制清單 (ACL)。
存取控制清單由一組排序的存取規則構成。每個規則允許對一部分叢集組態進行讀取或寫入存取,或者拒絕對該部分進行存取。多個規則通常會組合起來構成特定的角色,這樣便可以將使用者指定到與其任務相符的角色。
對於許多系統而言,實作的網路連接除了需要符合一般乙太網路裝置的標準資料安全性或可用性要求之外,還需要符合其他要求。在這些情況下,數個乙太網路裝置可以結集成單個結合裝置。
在負載平衡的情況下,一個伺服器叢集對於外部用戶端而言就是一台大型的高速伺服器。這種表面上的單個伺服器稱為虛擬伺服器。它包含一或多個用於發送內送要求的負載平衡器,以及數個執行實際服務的真實伺服器。對 High Availability Extension 完成負載平衡設定後,您可以建置擴充性強、可用性高的網路服務,例如 Web、快取、郵件、FTP、媒體和 VoIP 服務。
除本地叢集和城際叢集外,SUSE® Linux Enterprise High Availability Extension
12 SP5 還支援地理位置分散的叢集 (Geo 叢集,有時稱為多站點叢集)。這意味著您可以有多個地理位置分散的站台,每個站台都有一個本地叢集。這些叢集之間的容錯移轉由一個更高階的實體來調節控制,即投票間
。對 Geo 叢集的支援是以 Geo Clustering for SUSE Linux Enterprise High Availability Extension 的一個獨立延伸形式透提供的。如需如何使用和設定 Geo 叢集的詳細資料,請參閱Geo 叢集快速入門或Geo Clustering Guide。
若要在叢集節點上執行維護任務,您可能需要停止該節點上執行的資源、移動這些資源,或者將該節點關閉或重新開機。此外,可能還需要暫時接管叢集中資源的控制權,甚至需要在資源仍在執行時停止叢集服務。
本章介紹如何在不產生負面影響的情況下手動關閉叢集節點。此外,本章將會概述叢集堆疊提供的用於執行維護任務的不同選項。