高可用性叢集 (high availability cluster) 為多部 HP 伺服器所構成的群組,具備充足的備援 (redundancy) 軟體及硬體組件,即使發生單點失效 (single point of failure),也不會導致電腦系統提供的服務中斷。以 Oracle Real Application Cluster 軟體配置的高可用性叢集稱為 RAC 叢集。 圖 1-1 顯示 HP-UX 上的 RAC 叢集之基本配置簡圖。
圖中的兩個鬆散耦合系統 (均稱為節點),執行個別的 Oracle 軟體應用例 (instance),自共享磁碟組讀取及寫入資料。用戶端透過區域網路 (LAN) 連接其中一個節點。
HP-UX 上的 RAC 容許您維護單一資料庫影像檔,讓多部 HP 伺服器同時存取這個資料庫,不必分開管理各自獨立的資料庫,因而可以增加執行能力。此外,經過適當配置之後, Serviceguard Extension for RAC 能夠提供一個高可用性的資料庫,即使一個硬體元件失效,資料庫仍可繼續運作。
群組成員 |
 |
Oracle RAC 系統落實群組成員 (group membership) 的概念,讓 RAC 的多個應用例可在每一個節點上執行。相關程序會配置到群組 (group) 中。群組可讓不同應用例中的程序選擇要與任何其他程序進行互動。如此,一個 RAC 叢集內便能支援多個資料庫。
「群組成員服務」(Group Membership Service,GMS) 元件提供程序監視設施,以監視群組成員的狀態。GMS 由 cmgmsd 協助程式提供,是與 Serviceguard Extension for RAC 一起安裝的 HP 元件。
圖 1-2 顯示群組成員運作的方式。叢集的節點 1 到節點 4 共用銷售資料庫,但只有節點 3 和節點 4 共用人事資料庫。因此,節點 1 和節點 2 上各有一個 RAC 應用例;節點 3 和節點 4 上各有兩個 RAC 應用例。存取銷售資料庫的 RAC 程序組成一個群組,存取人事資料庫的 RAC 程序則組成另一個群組。
使用叢集中的套件 |
 |
為使除了 Oracle Real Application Cluster 以外的其他重要應用程式也具備高可用性,您可以配置 RAC 叢集使用套件 (package)。套件會將應用程式和服務群組起來;發生服務、節點或網路失效時,Serviceguard Extension for RAC 能自動將指定套件中的所有系統資源之控制權轉移到叢集中其他的節點,在盡量不中斷服務的情況下,讓您的應用程式維持可使用的狀態。
套件包括故障轉移 (failover) 套件、系統多節點 (system multi-node) 套件,以及多節點 (multi-node) 套件:
典型的高可用性套件是故障轉移套件,通常配置在叢集的數個節點上執行,一次只能在一個節點上執行。若其執行之節點上的服務、節點、網路或其他套件資源失效,Serviceguard 可自動將套件的控制權轉移到另一個叢集節點,儘量不中斷服務。
此外還有些套件可同時在數個叢集節點上執行,且不會故障轉移,稱為系統多節點套件與多節點套件。自 Serviceguard Extension for RAC A.11.17 起,,唯一支援的非故障轉移套件是 HP 指定的套件,例如 HP 提供用於 Veritas 叢集容體管理員 (Cluster Volume Manager,CVM) 和 Veritas 叢集檔案系統 (Cluster File System,CFS) 的套件 (在支援 Veritas CFS 和 CVM 的 HP-UX 版本上;請參閱「有關 Symantec 的 Veritas CFS 和 CVM」)。
系統多節點套件必須在叢集啟用的所有節點上執行。若套件在其中一個啟用節點上失效,則該節點會中止。多節點套件可配置在一或多個叢集節點上執行,只要在任何配置的節點上執行,套件即被視為 UP (啟動)。