Leo Yeh's Blog

SAS 系統管理 (69)

教學目標

初步了解 SAS 平台中網站應用程式叢集架構延展性和可用性的規劃。

重要概念

首先許多企業皆會採用 F5 為主要負載平衡的網路設備,因此我們將會針對 SAS 9 平台規劃網站應用程式叢集架構,並且透過 SAS 部署精靈自動設定,以及針對不同客戶需求、網路環境與效能優化進行手動設定。一般來說,SAS 部署精靈僅會針對 Middle Tier 伺服器進行節點自動設定,其中需要特別注意是設定時會修改主要 Middle Tier 伺服器中 Web Server 的 sas.conf 設定檔,主要會在設定檔中加入所有網站應用程式伺服器的叢集。

接著若我們要搭配 F5 負載平衡的網路設備,則需要手動設定 Web Server 至每台 Middle Tier 伺服器中,同時我們將會透過 SAS Management Console 工具設定內部連結、外部連結、內容伺服器和 WebDAV 為 F5 的網址,以及每台網站應用程式伺服器中的 server.xml 和 wrapper.conf 等設定檔,若是沒有設定正確則會有「401 Unauthorized」的錯誤訊息。此外為了優化網站存取的效能,所以建議修改修改 Web Server 的設定檔中的 BalancerMember 僅對應該台伺服器,此優點為加速網站應用程式存取速度,缺點為若 Middle Tier 伺服器中僅啟動 Web Server 時,則若我們嘗試進行 SASLogon 服務進行使用者登入時,則會有「503 Service Unavailable」的錯誤,此時則可以查看 Web Server 的 「/Lev1/Web/WebServer/logs/access.log」和「/Lev1/Web/WebServer/logs/error.log」確認存取至哪一台叢集伺服器,以利解決問題,若發生問題時請先透過「503」關鍵字找到發生問題的 Middle Tier 伺服器,請注意若有回傳「503 Service Unavailable」的錯誤,則至少已經透過 F5 連線至 Web Server 伺服器,接著再逐一確認「SASServern_m」網站應用程式伺服器是否有正常啟動,同時建議先確認 Cache Locator 是否有正常啟動,若沒有正常啟動則會導致「SASServern_m」網站應用程式伺服器無法正常啟動。

再來 Cache Locator 主要被使用於伺服器配置其它成員和資料快取,預設連接埠為 41415。當 SAS 網站應用程式伺服器啟動時,它會連結設定於 sas.cache.locators 的 JVM 參數中的一個 Cache Locator,透過分散式快取初始化通訊,也就是透過它了解新連線的成員,同時儲存 SAS 網站應用程式伺服器實體需要分享執行期間的資訊至快取中。此外 SAS 部署精靈不會安裝和設定多於兩個 Cache Locator。若當我們進行單一機器部署時,則 SAS 部署精靈則會在 Server-Tier & Middle-Tier 伺服器上設定Cache Locator 服務。但當我進行多個機器部署時,則 SAS 部署精靈則分別在 Server-Tier 伺服器和 Middle-Tier 伺服器設定 Cache Locator 服務。因此若我們需要設定多個 Cache Locator 服務,則需要手動進行設定,以利達到所謂高可用性的功能應用,此時才能夠滿足客戶的獨立運作的異地備援的需求。

至於 JMS Broker 主要被使用於 Middle-Tier 伺服器進行 Java 訊息服務 (Java Messaging Services,JMS),同時 SAS 網站應用程式將會使用 JMS 連線資訊、佇列和主題實作業務邏輯,並且在 SAS 網站應用程式伺服器進行設定,以利 SAS 網站應用程式伺服器使用,預設連接埠為 61616 。此外 SAS 部署精靈不會安裝和設定多個 Cache Locator。若當我們進行單一機器部署時,則 SAS 部署精靈則會在 Middle-Tier 伺服器上設定Java Messaging Services 服務。但當我進行多個機器部署時,則 SAS 部署精靈則分別在 Middle-Tier 伺服器設定 Java Messaging Services 服務。因此若我們需要設定多個 Java Messaging Services 服務,則需要手動進行設定,以利達到所謂高可用性的功能應用,此時才能夠滿足客戶的獨立運作的異地備援的需求。但請注意 JMS Broker 主要是基於 ApacheMQ,因此我們理應能夠透過 Apache 文件啟用更多高可用性,然而 SAS 官方所提供的方法則是使用共享檔案系統主從設定,此時可能會需要啟用網路芳鄰。所以若企業不允許啟用網路芳鄰,則必須嘗試其它 Apache 的設定方法,以利啟用高可用性的功能。

最後 SAS 平台總共有十二種叢集技術的設定方式,此篇僅針對網站應用程式伺服器的高可用性進行說明,因此專注於 Web Application Server、Web Server、Cache Locator 和 Java Messaging Services 的叢集技術,請參考下表總結。

Web Application Server Web Server Cache Locator Java Message Services
設定目標 改善延展性和可用性 改善可用性 改善延展性和可用性 改善可用性
維運管理 主動-主動故障排除 主動-主動故障排除 主動-主動故障排除 主動-被動故障排除
叢集架構 至少二台伺服器主機 至少二台伺服器主機 至少二台伺服器主機 至少二台伺服器主機
客戶端探索 叢集設定主要儲存在 SAS 中繼資料伺服器中 HTTP 客戶端會連線至第三方負載平衡器 叢集節點的主機名稱和連接埠會被設定至相關伺服器中 叢集節點的主機名稱和連接埠會被設定至相關伺服器中
部署困難度 簡單 中等 顯而易見 困難

總結若我們只是需要整合 F5 進行負載平衡延展性的應用,則僅需要透過 SAS 部署精靈自動部署 Web Application Server 和手動部署 Web Server 即可。但是若要達到高可用性的應用,像是異地備援演練,則要手動部署 Cache Locator 和 Java Message Services 才能夠當主要 Middle-Tier 伺服器被關閉時照常維持運作,以利達到改善延展性和可用性的目標。

相關資源

⬅️ Go back