Leo Yeh's Blog

SAS 系統管理 (24)

教學目標

初步了解 SAS 商業智慧與分析平台高可用性的設定概念。

重點概念

所謂高可用性主要是當系統軟體與硬體發生故障時,維持系統和應用程式繼續操作和存取的機制,其中高可用性和災難復原的區別主要在於可用性通常專注於透過提高系統抗故障能力來最小化停機時間;災難復原通常專注於系統發生故障、停機或災難發生之後恢復系統的方法。其中高可用性相關念,主要包括主動和被動設定、主動和主動設定、故障轉移、負載平衡和共享存儲。

主動和被動設定

主動和被動設定主要是一種包括多個伺服器的叢集設定,在該叢集機器發生故障移轉發生之前,由主節點處理使用者的請求,在故障移轉發生之後,由備用節點處理使用者請求。

主動和主動設定

主動和主動設定主要是一種包括多個伺服器的叢集設定,在該叢集機器中,所有的伺服器同時處理使用者請求。當叢集中的節點發生軟體或硬體故障時,將會分配故障節點的處理任務和流量轉移至現有節點之間進行負載平衡,但要先確認各個節點使用相關架構的軟體設定。此外主動和主動設定會比主動和被動設定有更少的停機時間,但是卻需要專門軟體或硬體設備的搭配,所以成本較高。

故障移轉

當叢集中的主要伺服器節點發生故障時,則所有回應客戶端請求的應用程式或服務將會從主伺服器切換至備用伺服器,此過程就稱為故障移轉。在故障移轉發生之後,可能會發生故障恢復主要是系統從故障轉移之後的狀態恢復到初始狀態的過程,最後在故障較移完成之後,若是導致主伺服器失敗的根本原因被修復時,應用程式和服務與相關資源將會被切換回主伺服器。

負載平衡

負載平衡主要是將工作負載分配到多台叢集機器中的過程,所以與故障轉移不同的是負載平衡主要目的是提高性能,通常會有多台伺服器,工作負載會根據演算法分配至叢集中的伺服器。當一台伺服器發生故障時,在適當的設定之下,後續的請求會繼續分配到其它可用的節點,因此在提高效能的同時也可以避免單點故障所造成系統失敗的問題,更進一步提高了系統的可用性。

共享儲存

共享儲存主要是由同一網路之內的多個服器同時存取儲存空間,通常會由網路附加儲存 (NAS) 或儲存附加網路 (SAN) 所實作,此外共享儲存中儲存關鍵的資料,且透過伺服器直接存儲 (DAS) 進行應用時,當該伺服器發生故障時,則會透過其它伺服器進行存取,因此共享儲存對於可用性有非常大的幫助。

在 SAS 系統部分元件發生故障時,高可用性叢集將會利用其它資源確保系統仍然可以提供服務,通常使用於關鍵資料庫、網路檔案共享和業務應用程式,此外 SAS 伺服器和其它服務也可嘲部署在高可用性的叢集中,透過高可用叢集提供故障轉移保護減少停機的時間,更進一步提高可用性。

作業系統高可用性叢集設定

高可用性叢集可以使用 IBM Platform Enterprise Grid Orchestrator (SAS Grid Manager 元件) 和其它高可用性軟體實作,像是 Red Hat Enterprise Linux Cluster Suite、Microsoft Windows Cluster Service、…等,一般來說將高可用性軟體安裝在多台機器上,則可以將這些機器組成一個高可用性的叢集,以提供 SAS 伺服器和服務的保護,相關過程如下:

  1. HA 軟體透過作業系統服務監控 SAS 服務。
  2. 當 HA 軟體監測到 SAS 服務狀態不正常時,HA 軟體會嘗試當前主機上重啟服務,若重啟失敗則 HA 軟體會將 SAS 服務相依的所有資遠源切換至叢集另一台機器中重啟服務。
  3. 當故障轉移過程完成之後,來自於客戶端的請求將會被重新指向到正在運行的 SAS 伺服器。

當叢集主機作業系統為 Windows 時則必須在烘集中的所有主機上安裝路徑必須完全相同,然後在主節點上將 SAS 設定在所有的叢集節點都可以存取的共享儲存中。

SAS 中繼資料伺服器叢集設定

SAS 中繼資料伺服器叢集是由三個或多個節點所組成的叢集,叢集中的所有節點都被設定為相同的中繼資料伺服器,並且當叢集中的中繼資料伺服器被啟動時,節點彼此之間將會建立通信,其中一個節點會轉變成主節點,主要協調叢集中的活動,而其它節點則為副節點。然而 SAS 中繼資料伺服器叢集和 HA 叢集皆可以使用於提高中繼資料伺服器的可性,但還是有些差別。

項目 SAS 中繼資料伺服器叢集 HA 叢集
叢集模式 主動和主動設定 主動和被動設定
是否需要第三方軟體 不需要 需要
最小節點數 3 2
各節點之間需要共享內容 中繼資料備份檔案 SAS 設定檔案

SAS 伺服器負載平衡設定

SAS 伺服器負載平衡主要提供設定選項啟用 Workspace Server、Pooled Workspace Server 和 Stored Process Server 負載平衡的機制,當其中一個伺服器發生故障時,工作負載就會被分配至其它可用的伺服器上進行運作,也就提高了伺服器的可用性。上述伺服器的負載平衡皆是由伺服器相關的 SAS Object Spawner 伺服器進行處理,所以若要啟用負載平衡的應用,則要進行相關設定,主要為:

  1. 為每個伺服器和 SAS Object Spawner 伺服器建立多個實體。
  2. 在另一台機器上安裝對應 SAS 元件,並且修改一些設定檔案。
  3. 將該伺服器夕換為負載平衡模式,並且設定負載平衡演算法。

SAS 網頁應用程式伺服器負載平衡設定

最後 SAS 中間層伺服器中的網頁應用程式伺服器則可以透過 SAS 部署精靈設定為叢集提高可用性,重點則在於預設會將 SAS 網頁伺服器設定為對 SAS 網頁應用程式伺服器進行負載平衡的 HTTP 伺服器。

總結我們針對不同作業系統會採用不同的高可用性軟體的設定來提高 SAS 伺服器的可用性,接著 SAS 中繼資料伺服器則可以透過叢集設定提高可用性,再來 SAS 伺服器則更可以透過 SAS Object Spawner 伺服器負載平衡的設定提高可用性,最後 SAS 網頁應用程式伺服器則是透過 SAS 網頁伺服器負載平衡的設定提高可用性。

相關資源

⬅️ Go back