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 獨立排隊伺服器 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 附註 2711036 - 在 HA 環境中使用獨立佇列伺服器 2

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

獨立排隊伺服器 (ENSA1) 架構

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

發生失敗時,HA 叢集軟體必須將獨立 Enqueue 伺服器重新定位至 Enqueue 複製伺服器執行的節點,以便保留鎖定資訊。如果軟體版本支援,建議您更新系統,以便使用獨立排隊伺服器 2。詳情請參閱 SAP 注意事項 2630416 - 支援獨立的 Enqueue Server 2

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

Google Cloud 基礎架構的高可用性

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

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

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

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

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

您可以使用可能會在內部部署安裝中使用的相同類型第三方 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 支援,請在 Google Cloud 的「Operating system support for SAP NetWeaver」表格中尋找「GC-HA」。

使用 Oracle Database 為基礎的作業系統時,為確保 SAP Central Services 執行個體的高可用性,您必須確保以下事項:

  • 執行 Oracle 資料庫或任何其他緊密連結輔助系統的 Compute Engine 執行個體,必須使用支援的作業系統
  • 請注意,執行 ASCS 或 ERS 等 SAP Central Services 執行個體的運算執行個體,可使用任何 SAP 認證的作業系統,但前提是該運算執行個體未代管 Oracle 資料庫或安裝任何 Oracle 軟體。

如要進一步瞭解如何搭配使用 Oracle Database 和以 SAP NetWeaver 為基礎的應用程式,請參閱「為 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 FilestoreGoogle 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% 的可用性服務水準協議。
  • 負載平衡功能支援多可用區高可用性叢集,可透過可預測的跨可用區容錯時間,防範可用區故障。
  • 使用負載平衡功能可縮短偵測及觸發備援所需的時間,通常在發生失敗後的幾秒內即可完成。整體容錯移轉時間取決於 HA 系統中各個元件的容錯移轉時間,這些元件可能包括主機、資料庫系統、應用程式系統等等。
  • 使用負載平衡可簡化叢集設定,並減少依附元件。
  • 與使用路由的 VIP 實作方式不同,您可以使用自有 VPC 網路的 IP 範圍,並視需要保留及設定這些範圍。
  • 負載平衡功能可輕鬆將流量重新導向至次要系統,以便進行預定的維護停機作業。

為 VIP 的負載平衡器實作建立健康狀態檢查時,您會指定健康狀態檢查探測的主機通訊埠,以便判斷主機的健康狀態。針對 SAP HA 叢集,請指定位於私人範圍 (49152-65535) 的目標主機通訊埠,以免與其他服務衝突。在主機 VM 上,使用次要輔助服務 (例如 socat 公用程式或 HAProxy) 設定目標通訊埠。

如果資料庫叢集中的備用系統仍處於線上狀態,健康狀態檢查和輔助服務會啟用負載平衡功能,將流量導向目前在叢集中擔任主要系統的線上系統。

您可以使用輔助服務和通訊埠重新導向,在 SAP 系統上觸發預定的軟體維護備援。

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

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

靜態路徑 VIP 實作

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

當靜態路徑實作項目與共用 VPC 設定搭配使用時,也可能會導致複雜性,因為共用 VPC 設定會將網路設定區隔到主機專案。

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

別名 IP VIP 實作

別名 IP VIP 實作不建議用於多區域 HA 部署,因為如果某個區域發生故障,別名 IP 可能會延遲重新分配至不同區域的節點。請改用內部直通式網路負載平衡器 (支援備援) 實作 VIP。

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

如果您有現有的多區域 SAP HA 叢集,且該叢集使用 VIP 的別名 IP 實作項目,您可以遷移至內部直通 Network Load Balancer 實作項目,而無須變更 VIP 位址。別名 IP 位址和內部直通式網路負載平衡器都會使用 VPC 網路的 IP 範圍。

雖然在多區域 HA 叢集中,我們不建議使用別名 IP 位址實作 VIP,但在 SAP 部署中,別名 IP 位址有其他用途。舉例來說,您可以使用這些設定為彈性 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 NetWeaver 系統部署 Google Cloud 基礎架構,該系統獲得 SAP 全力支援,且遵循 SAP 和 Google Cloud的最佳做法。

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

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

如要瞭解如何在 Google Cloud上為 SAP NetWeaver 部署及手動設定 HA 叢集,請參閱: