Google Cloud 上的 SAP NetWeaver 高可用性規劃指南

本指南提供在 Google Cloud上部署高可用性 (HA) SAP NetWeaver 系統前,需要瞭解的選項、建議及一般概念總覽。

本指南假設您已瞭解實作 SAP NetWeaver 高可用性系統一般需要的概念與做法,因此,本指南主要會介紹在 Google Cloud上實作此類系統時需要瞭解的重點。

如果您需要詳細瞭解實作 SAP NetWeaver HA 系統所需的一般概念與做法,請參閱以下內容:

本規劃指南專門介紹 SAP NetWeaver 適用的 HA,並不包含資料庫系統適用的 HA 內容。如要進一步瞭解 SAP HANA 適用的 HA,請參閱 SAP HANA 高可用性規劃指南

部署架構

下圖顯示使用 Pacemaker 叢集軟體的基本 Linux HA 叢集。

叢集包含兩個主機:主要主機和次要主機。每個主機都位於相同地區內的不同區域。

叢集使用 SAP Standalone Enqueue Server 2 (ENSA2)。如要瞭解使用舊版獨立式佇列伺服器 (ENSA1) 的叢集,請參閱「獨立式佇列伺服器 (ENSA1) 架構」。

有效的 Central Services 執行個體位於主要主機上。有效的 Enqueue Replication Server 2 (ERS) 執行個體位於次要主機上。Central Services 和 ERS 各有自己的虛擬 IP 位址 (VIP)。在圖中,「Central Services」代表 ABAP SAP Central Services,或者,對於 Java 堆疊而言,代表 SAP Central Services。

如要進一步瞭解 HA 設定中的獨立佇列伺服器 2,請參閱 SAP Note 2711036 - Usage of the Standalone Enqueue Server 2 in an HA Environment

 Google Cloud 上具有兩個主機的 SAP NetWeaver 適用的基本 HA 設定,每一個主機都在不同的區域

獨立佇列伺服器 (ENSA1) 架構

下圖顯示,含有鎖定管理或 Enqueue 服務的有效 Central Services 執行個體,以及無效的 Enqueue Replication Server (ERS) 執行個體,都位於主要主機上。有效的 ERS 執行個體與無效的 Central Services 執行個體都位於次要主機上。每個 Central Services 與 ERS 組都有自己的虛擬 IP 位址 (VIP)。在圖中,「Central Services」代表 ABAP SAP Central Services,或者,對於 Java 堆疊而言,代表 SAP Central Services。

發生故障時,高可用性叢集軟體必須將獨立佇列伺服器重新定位至執行佇列複製伺服器的節點,才能保留鎖定資訊。如果軟體版本支援,請考慮更新系統以使用獨立佇列伺服器 2。詳情請參閱 SAP 注意事項 2630416 - Support for Standalone Enqueue Server 2

 Google Cloud 上具有兩個主機的 SAP NetWeaver 適用的基本 HA 設定,每一個主機都在不同的區域

基礎架構的高可用性 Google Cloud

Google Cloud 具有高可用性設計,在全世界都有資料中心的備援基礎架構,其中包含設計為彼此獨立的區域。區域通常會有電力、降溫、網路及控制層等系統,可與其他區域隔離開來。如果發生單一故障事件,通常只會影響單一區域。

在某些情況下,您可能無須針對硬體、儲存及網路故障問題實作所有傳統、內部部署的保護措施,就可以滿足您的可用性需求,而這將可以同時為您節省時間與金錢。

在您在Google Cloud上設計及實作高可用性策略之前,請查看Google Cloud 服務水準協議

如需有關Google Cloud可靠性、隱私權與安全性的一般資訊,請參閱「可靠性」。

GCP 上的 SAP 系統適用的 HA 叢集選項 Google Cloud

您可以使用可能會在內部部署安裝中使用的相同類型第三方 HA 叢集軟體,在Google Cloud 上定義 SAP NetWeaver 適用的高可用性 (HA) 叢集。HA 叢集軟體會監控系統的健康狀態,並在發生問題時管理容錯移轉。

您可以使用一些不同的 HA 叢集軟體解決方案,例如以下項目:

  • SAP 適用的 Red Hat Enterprise Linux (RHEL) 解決方案
  • SAP 適用的 SUSE Linux Enterprise Server (SLES) 應用程式
  • Windows Server 容錯移轉叢集

Linux HA 叢集軟體

RHEL 與 SLES 的最近版本都包含專為 Google Cloud啟用的整合式 HA 支援。如要瞭解您的 Linux 版本是否包含 Google Cloud啟用的 HA 支援,請在「GCP 上的 SAP NetWeaver 作業系統支援 Google Cloud」表格中尋找「GC-HA」。

使用以 Oracle 資料庫為基礎的安裝作業時,如要確保 SAP Central Services 執行個體具備高可用性,請務必採取下列措施:

  • 執行 Oracle Database 或任何其他緊密耦合輔助系統的 Compute Engine 執行個體,必須使用支援的作業系統
  • 但如果運算執行個體執行 SAP Central Services 執行個體 (例如 ASCS 或 ERS),只要該運算執行個體未代管 Oracle 資料庫或安裝任何 Oracle 軟體,即可使用任何 SAP 認證的 OS。

如要進一步瞭解如何搭配 SAP NetWeaver 應用程式執行 Oracle Database,請參閱「規劃 SAP NetWeaver 適用的 Oracle Database 實作項目」。

Windows HA 叢集軟體

在 Windows Server 上,您會使用 Windows Server 容錯移轉叢集 (WSFC) 來建立 HA 叢集,如執行 Windows Server 容錯移轉叢集所述。

在 Google Cloud上,連入 WSFC 叢集中有效節點的流量路徑受 Cloud Load Balancing 管理,這並不需要別名 IP 或靜態路徑 VIP 實作。

Cloud Load Balancing 使用健康狀態檢查來確認有效的節點。

Google Cloud 區域、地區與 SAP NetWeaver HA 部署

在同一地區中跨兩個或更多 Compute Engine 區域部署 HA 叢集的節點。在不同區域部署節點可確保這些節點都在不同的實體機器上,也可防止發生極少出現的區域失敗情形。

將區域保持在相同的地區中可以確保節點的地理位置足夠接近,藉以滿足高可用性系統的 SAP 延遲時間需求。

Compute Engine 虛擬機器與 SAP NetWeaver HA 部署

為了支援高可用性,Compute Engine VM 都受到即時遷移與自動重新啟動功能的支援。

Compute Engine 即時遷移

Compute Engine 會監控基礎架構的狀態。發生基礎架構維護事件時,Compute Engine 會自動將執行個體遷離事件,如有可能,也會保持您的執行個體在遷移作業期間繼續執行,而這並不需要使用者介入。

發生重大服務中斷情形時,在執行個體停止運作與恢復可用之間會有些微的延遲。

在大部分情況下,發生即時遷移事件時並不會影響到 HA 叢集。但是,請在設定好 HA 叢集且系統執行後模擬有效主機的即時遷移來測試您的 HA 叢集,特別是當您的 HA 叢集監視器設定了較低的容錯移轉門檻時。如要進一步瞭解如何模擬即時遷移事件,請參閱測試您的可用性政策一文。

遷移的執行個體與原始執行個體相同,包括執行個體 ID、私人 IP 位址及所有執行個體中繼資料與儲存空間。

根據預設,標準執行個體會設定為即時遷移,我們建議不要變更此設定。

詳情請參閱即時遷移一文。

Compute Engine 自動重新啟動

如果您的執行個體設定為在發生維護事件時終止,或者您的執行個體因基本硬體問題而當機,您可以設定讓 Compute Engine 自動重新啟動執行個體。根據預設,執行個體會設定為自動重新啟動,我們建議不要變更此設定。

如要進一步瞭解自動重新啟動,請參閱自動重新啟動一文。

Google Cloud上的 HA SAP 系統共用儲存空間選項

SAP NetWeaver 全域通用檔案系統是一種單點故障系統,HA 系統中的所有 SAP NetWeaver 執行個體都需要能夠使用該系統。為了確保Google Cloud上全域通用檔案系統的可用性,您可以使用高可用性共用儲存空間或複製區域永久磁碟。

如要使用高可用性共用儲存空間解決方案,可以選擇 Google Cloud Filestore, 或是 Google Cloud NetApp VolumesNetApp Cloud Volumes ONTAP 等解決方案。

Filestore 的 Regional (原為 Enterprise) 層級可用於多區域高可用性部署作業,而 Filestore 的 Basic 層級則可用於單一區域部署作業。

如要複製 Linux 系統的區域永久磁碟,您可以使用分散式複製區塊裝置 (DRBD) 來複製永久磁碟,其中在 HA 叢集中的節點之間包含 SAP 全域通用檔案系統。

儘管 Compute Engine 地區永久磁碟跨區域提供同步複製的區塊儲存空間,但並不支援 SAP NetWeaver HA 系統。

如要進一步瞭解 Google Cloud上的儲存空間選項,請參閱下列內容:

HA SAP 系統的網路選項

設定 HA 叢集的網路時,除了完成建立網路中的步驟,您還需要完成下列 HA 特定工作:

  • 選擇 Linux 系統的 VIP 實作,如後續章節所述。Windows 系統使用內部負載平衡器,這並不需要與 Linux 系統相同的 VPI 解決方案。
  • 定義 SAP Central Services 執行個體與 Enqueue Replication Server 執行個體之間的通訊路徑。
  • 定義防火牆規則以支援您定義的通訊路徑。

在 Google Cloud上實作虛擬 IP

高可用性叢集會使用浮動虛擬 IP 位址 (VIP),在發生意外故障或排定維護作業時,將工作負載從一個叢集節點移至另一個節點。VIP 的 IP 位址不會變更,因此用戶端應用程式不會察覺工作是由不同節點提供服務。

VIP 也稱為浮動 IP 位址

在 Google Cloud上,VIP 的實作方式與在內部部署安裝中的部署方式稍有不同,當發生容錯移轉時,無法使用無償 ARP 要求來公告變更,而是可以使用下列其中一種方法,為 SAP HA 叢集實作 VIP 位址:

內部直通式網路負載平衡器 VIP 實作項目

負載平衡器通常會在應用程式的多個執行個體之間分配使用者流量,藉此將工作負載分配到多個作用中系統,並防止任何執行個體發生處理速度變慢或失敗的情況。

內部直通網路負載平衡器也提供容錯移轉支援,可搭配 Compute Engine 健康狀態檢查使用,偵測故障、觸發容錯移轉,並將流量重新導向至 OS 原生 HA 叢集中的新主要 SAP 系統。

基於各種原因,建議您實作容錯移轉支援的 VIP,包括:

  • Compute Engine 負載平衡提供可用性達 99.99% 的服務水準協議。
  • 負載平衡支援多可用區高可用性叢集,可防範可用區故障,並提供可預測的跨可用區容錯移轉時間。
  • 使用負載平衡可縮短偵測及觸發容錯移轉所需的時間,通常在發生故障後幾秒內即可完成。整體容錯移轉時間取決於高可用性系統中各個元件的容錯移轉時間,包括主機、資料庫系統、應用程式系統等。
  • 使用負載平衡可簡化叢集設定,並減少依附元件。
  • 與使用路徑的 VIP 實作方式不同,負載平衡可讓您使用自有 VPC 網路的 IP 範圍,並視需要預留及設定這些範圍。
  • 負載平衡功能可輕鬆將流量重新導向至次要系統,以因應計畫性維護中斷。

為 VIP 的負載平衡器實作項目建立健康狀態檢查時,請指定主機通訊埠,健康狀態檢查探測會透過該通訊埠判斷主機的健康狀態。如果是 SAP HA 叢集,請指定私有範圍 (49152 到 65535) 內的目標主機連接埠,以免與其他服務發生衝突。在主機 VM 上,使用 socat 公用程式或 HAProxy 等次要輔助服務,設定目標通訊埠。

對於次要備援系統保持連線的資料庫叢集,健康狀態檢查和輔助服務可讓負載平衡機制將流量導向目前在叢集中擔任主要系統的連線系統。

使用輔助服務和通訊埠重新導向,即可在 SAP 系統上觸發容錯移轉,以進行預定的軟體維護作業。

如要進一步瞭解容錯移轉支援功能,請參閱設定內部直通式網路負載平衡器的容錯移轉功能

如要部署具備負載平衡器 VIP 實作的高可用性叢集,請參閱:

靜態路徑 VIP 實作

靜態路徑實作也能防範區域故障,但您必須使用 VM 所在現有虛擬私有雲子網路 IP 範圍外的 VIP。因此,您也必須確保 VIP 不會與延伸網路中的任何外部 IP 位址衝突。

如果搭配共用虛擬私有雲端設定使用,靜態路徑實作也可能造成複雜性,因為共用虛擬私有雲端設定的目的是將網路設定隔離到主專案。

如果您要針對 VIP 使用靜態路徑實作,請諮詢網路管理員,確定適合靜態路徑實作的 IP 位址。

別名 IP VIP 實作

別名 IP VIP 實作項目不建議用於多區域高可用性部署,因為如果某個區域發生故障,別名 IP 重新分配至其他區域節點的作業可能會延遲。請改用支援容錯移轉的內部直通式網路負載平衡器實作 VIP。

如果您要在同一個區域中部署 SAP HA 叢集的所有節點,可以使用別名 IP 為 HA 叢集實作 VIP。

如果您現有的多區域 SAP HA 叢集使用別名 IP 實作 VIP,可以遷移至內部直通網路負載平衡器實作,無須變更 VIP 位址。別名 IP 位址和內部直通式網路負載平衡器都會使用虛擬私有雲網路的 IP 範圍。

雖然不建議在多區域 HA 叢集中使用別名 IP 位址實作 VIP,但別名 IP 位址在 SAP 部署作業中仍有其他用途。舉例來說,這些設定可用於為彈性 SAP 部署作業提供邏輯主機名稱和 IP 指派作業,例如由 SAP Landscape Management 管理的作業。

Google Cloud上 VIP 的一般最佳做法

如要進一步瞭解 Google Cloud上的 VIP,請參閱浮動 IP 位址最佳做法

在 Google Cloud上為 SAP NetWeaver 設定高可用性叢集

Google Cloud 提供 Terraform 設定檔,可用於自動部署 SAP NetWeaver HA 系統,您也可以手動部署及設定 SAP NetWeaver HA 系統。

如要自動部署 SAP NetWeaver HA 系統,請完成 Terraform 設定檔,並使用標準 Terraform 指令套用設定。如需部署作業說明,請參閱:

自動部署方法會為 SAP 完全支援的 SAP NetWeaver 系統部署基礎架構,並遵循 SAP 和 Google Cloud的最佳做法。 Google Cloud

針對 SAP NetWeaver,自動部署方法會部署效能最佳化且可用性高的 Linux 叢集,其中包含:

  • 自動容錯移轉。
  • 自動重新啟動。
  • 您指定的虛擬 IP 位址 (VIP) 保留項目。
  • 內部 TCP/UDP 負載平衡提供的容錯移轉支援,可管理從虛擬 IP 位址 (VIP) 到 HA 叢集節點的路由。
  • 防火牆規則,允許 Compute Engine 健康狀態檢查監控叢集中的 VM 執行個體。
  • Pacemaker 高可用性叢集資源管理員。
  • 防護機制,即 fence_gce 防護代理程式。 Google Cloud
  • 為每個 SAP NetWeaver 執行個體提供具必要 Persistent Disk 或 Hyperdisk 磁碟區的 VM。

如要瞭解如何部署及手動設定 SAP NetWeaver 的高可用性叢集,請參閱: Google Cloud