SAP 工作負載的災害復原概觀和基礎結構指導方針
許多在 Azure 上執行重要商務應用程式的組織都會設定高可用性 (HA) 和災害復原 (DR) 策略。 高可用性的目的是藉由消除基礎系統基礎結構中的單一失敗點來增加商務系統的 SLA。 高可用性技術可降低非計劃性基礎結構失敗的影響,並協助進行計劃性維護。 災害復原的定義是原則、工具和程式,以在地理上廣泛或人為引發的災害之後,啟用重要技術基礎結構和系統的復原或延續。
為了達到 Azure 上 SAP 工作負載的高可用性,虛擬機通常會部署在 可用性設定組、 可用性區域 或 彈性擴展集中 ,以保護應用程式免於區域內基礎結構維護或失敗。 但部署不會保護應用程式不受區域內廣泛災害的影響。 因此,為了保護應用程式免於區域性災害,應備妥應用程式的災害復原策略。 災害復原是一種記錄化且結構化的方法,旨在協助組織執行復原程序以回應災害,以及保護或最小化 IT 服務中斷並提升復原能力。
本文件提供藉由實作結構化災害復原方法來保護 SAP 工作負載免於大規模災難的詳細資料。 本文件中的詳細資料會根據不同的 Azure 服務和 SAP 元件,以抽象層級呈現。 您必須定期測試、記錄及微調 SAP 工作負載的確切DR策略和復原順序。 此外,該文件著重於適用於 SAP 工作負載的 Azure 對 Azure 災害復原策略。
一般災害復原計劃考量事項
Azure 上的 SAP 工作負載會在虛擬機器上執行,並結合不同的 Azure 服務來部署一般 SAP NetWeaver 應用程式的不同層級 (中央服務、應用程式伺服器、資料庫伺服器)。 一般而言,應該針對在 Azure 上執行的整個 IT 環境規劃災害復原策略,這表示也要考慮非 SAP 應用程式。 如果DR網站上未復原相依服務或資產,在SAP系統中執行的商務解決方案可能無法整體執行。 因此,您需要考慮所有元件和系統,來制定定義完善的完整災害復原計劃。
針對 Azure 上的 DR,組織應考慮可能會觸發故障轉移的不同案例。
- SAP 應用程式或商務程序可用性。
- Azure 服務 (例如虛擬機器、儲存體、負載平衡器等) 因廣泛的失敗而無法在區域內使用。
- 應用程式的潛在威脅和弱點 (例如應用層 DDoS 攻擊)
- 商務合規性需要操作工作來測試災害復原策略 (例如,根據合規性每年執行災害復原失敗練習)。
若要達到不同案例的復原目標,組織必須根據業務需求來概述其工作負載的復原時間目標 (RTO) 和復原點目標 (RPO)。 RTO 描述應用程式可以關閉的時間量,通常是以小時、分鐘或秒為單位來測量。 而 RPO 則描述企業可接受的遺失交易資料量,以便讓正常作業繼續執行。 識別您企業的 RTO 和 RPO 非常重要,因為它可協助您以最佳方式設計災害復原策略。 SAP 工作負載所涉及的元件 (計算、儲存體、資料庫等) 會使用不同的技術複寫到災害復原區域 (Azure 原生服務、原生資料庫複寫技術、自訂指令碼)。 每個技術都提供不同的 RPO,設計災害復原策略時必須考慮這一點。 在 Azure 上,您可以使用一些 Azure 原生服務,例如 Azure Site Recovery、Azure 備份,以協助您符合 SAP 工作負載的 RTO 和 RPO。 請參閱 Azure Site Recovery 和 Azure 備份的 SLA,以盡量符合 RTO 和 RPO。
Azure 上的災害復原設計考量事項
在 Azure 上設計災害復原解決方案時,需要考慮不同的元素。 設計內部部署災害復原解決方案的原則和概念也適用於 Azure。 但在 Azure 中,區域選擇是災害復原設計策略的關鍵部分。 因此,選擇 Azure 上的災害復原區域時,請記住下列幾點。
商務或法規合規性需求可以指定主要和災害復原網站之間的距離需求。 這個距離要求有助於在大範圍地理位置發生天然災害時提供可用性。 在這種情況下,組織可以選擇另一個 Azure 區域作為其災害復原站台。 Azure 區域通常會以北美洲等數百公里甚至數千公里的大型距離分隔。 由於距離,網路往返延遲可能會更高,這可能會導致較高的 RPO。
想要在 Azure 上模擬其內部部署城市災害復原策略的客戶,可以使用可用性區域來進行災害復原。 但是,如果發生地理上廣泛的自然災害,區域對區域DR策略可能會沒有復原能力需求。
在 Azure 上,每個區域會與相同地理位置內的另一個區域進行配對 (巴西南部除外)。 這種方法允許跨區域提供資源的平台複寫。 選擇配對區域的優點可以在區域配對文件中找到。 如果組織選擇使用 Azure 配對區域,則必須考慮 SAP 工作負載的數個額外點:
並非所有 Azure 服務都提供配對區域中的跨區域複寫。
配對 Azure 區域中的 Azure 服務和功能可能不是對稱的。 例如,Azure NetApp Files、主要區域中可用的 M 系列等 VM SKU 可能無法在配對區域中使用。 若要檢查 Azure 產品或服務是否可在區域中使用,請參閱不同區域的 Azure 產品。
GRS 選項適用於具有標準儲存體類型的儲存體帳戶,可將資料複寫至配對的區域。 但標準儲存體不適用於 SAP DBMS 或虛擬磁碟。
用來備份支援解決方案的 Azure 備份服務只能在配對區域之間複寫備份。 對於您的所有其他資料,請使用原生 DBMS 功能 (例如 SQL Server Always On、SAP Hana 系統複寫和其他服務) 來執行您自己的複寫。 針對 SAP 應用層,請結合使用 Azure Site Recovery、rsync 或 robocopy,以及其他第三方軟體。
參考 SAP 工作負載部署
識別DR區域之後,請務必在主要區域中設定 Azure 核心服務(例如網路、計算、記憶體)的廣度可供使用,而且可以在DR區域中設定。 組織必須針對 SAP 工作負載開發災害復原部署模式。 部署模式會有所不同,且必須符合組織的需求。
- 將生產 SAP 工作負載部署到主要區域,並將非生產工作負載部署到災害復原區域。
- 將所有 SAP 工作負載 (生產和非生產環境) 部署到您的主要區域。 只有在有容錯移轉時,才會使用災害復原區域。
下列參考架構顯示在 Azure 上執行的一般 SAP NetWeaver 系統,以及主要區域中的高可用性。 下面顯示的次要站台是災害復原站台,SAP 系統會在災害事件之後還原。 主要和災害復原區域都是相同訂用帳戶的一部分。 若要達到 SAP 工作負載的災害復原,您必須識別每個 SAP 階層的復原策略,以及應用程式所使用的不同 Azure 服務。
組織應該針對整個 IT 環境規劃及設計災害復原策略。 在實際執行環境中執行的 SAP 系統通常會與 Active Directory、DNS、第三方應用程式等不同服務和介面整合。 因此,您也必須在災害復原規劃中包含非 SAP 系統和其他服務。 本文件著重於 SAP 應用程式的復原規劃。 但是您可以擴充相依元件的災害復原規劃大小和範圍,以符合您的需求。
SAP 工作負載的災害復原解決方案基礎結構元件
在 Azure 上執行的 SAP 工作負載會使用不同的基礎結構元件來執行商務解決方案。 若要規劃這類解決方案的災害復原,請務必讓主要區域中設定的所有基礎結構元件都可供使用,而且也可以在災害復原區域中設定。 在為 Azure 上的 SAP 工作負載設計災害復原解決方案時,應該考慮下列基礎結構元件。
- 網路
- 計算
- 儲存體
網路
ExpressRoute 可讓您藉由連線提供者的協助,透過私人連線將內部部署網路延伸至 Microsoft 雲端。 在設計災害復原架構時,必須考慮使用異地備援 ExpressRoute 線路建立健全的後端網路連線能力。 建議您從內部部署設定至少一個 ExpressRoute 線路到主要區域,另一個線路應該連線到災害復原區域。 請參閱設計適用於災害復原的 Azure ExpressRoute 一文,其中說明設計 ExpressRoute 災害復原的不同案例。
注意
請考慮將站對站 (S2S) VPN 設定為 Azure ExpressRoute 的備份。 如需詳細資訊,請參閱使用 S2S VPN 作為 Azure ExpressRoute 私人對等互連的備份。
虛擬網路和子網路跨越區域中的所有可用性區域。 針對兩個區域的災害復原,您必須在災害復原區域上設定個別的虛擬網路和子網路。 請參閱關於 Azure VM 災害復原中的網路功能,以深入了解災害復原區域的網路設定。
Azure Standard Load Balancer 可為 SAP 系統的高可用性設計提供網路元素。 針對叢集系統,Standard Load Balancer 會提供叢集服務的虛擬 IP 位址,例如在 VM 上執行的 ASCS/SCS 執行個體和資料庫。 若要在災害復原站台上執行高可用性 SAP 系統,則必須建立個別的負載平衡器,並據以調整叢集組態。
Azure 應用程式閘道是網路流量負載平衡器。 透過 Web 應用程式防火牆功能,其適合用來向網際網路公開改善安全性的 Web 應用程式。 Azure 應用程式閘道可以根據組態來服務公用 (網際網路) 和/或私人用戶端。 故障轉移之後,若要接受DR區域中類似的傳入 HTTP 流量,必須在DR區域中設定個別 Azure 應用程式閘道。
當網路元件 (例如虛擬網路、防火牆等) 分別在災害復原區域中建立時,您必須確定災害復原區域中的 SAP 工作負載會適應 DNS 更新、防火牆等網路變更。
這兩個區域中的虛擬網路都是獨立的,且若要建立兩者之間的通訊,您必須啟用兩個區域之間的虛擬網路對等互連。
虛擬機器
在 Azure 上,單一 SAP 系統的不同元件會在具有不同 SKU 類型的虛擬機器上執行。 針對災害復原,可以使用 Azure Site Recovery 將元件複寫至另一個 Azure 區域,來啟用在 Azure VM 上執行的應用程式 (SAP NetWeaver 和非 SAP) 保護。 使用 Azure Site Recovery,Azure VM 會持續從主要站台複寫至災害復原站台。 根據選取的 Azure DR 區域,VM SKU 類型可能無法在DR網站上使用。 您也必須確定 Azure 災害復原區域中也提供所需的 VM SKU 類型。 檢查不同區域的 Azure 產品,以查看所需的 VM 系列 SKU 類型是否可用。
重要
如果 SAP 系統設定為具有 FD=1 的彈性擴展集,則您必須使用 PowerShell 來設定 Azure Site Recovery 以進行災害復原。 目前,它是針對部署在擴展集中的 VM 設定災害復原的唯一方法。
針對在 Azure 虛擬機器上執行的資料庫,建議使用原生資料庫複寫技術,將資料同步處理至災害復原站台。 執行資料庫的大型 VM 可能無法在所有區域中使用。 如果您使用可用性區域進行災害復原,則應該檢查災害復原站台區域中是否有個別的 VM SKU 可用。
注意
不建議對資料庫使用 Azure Site Recovery,因為這種做法無法確保資料庫一致性,而且有資料變換限制。
在主要區域上執行的生產應用程式時,保留執行個體通常用來節省 Azure 成本。 如果使用保留實例,您必須註冊 1 年或 3 年期承諾,這可能對 DR 網站沒有成本效益。 此外,設定 Azure Site Recovery 並不保證您在容錯移轉期間所需的 VM SKU 容量。 若要確定 VM SKU 容量可供使用,您可以考慮啟用 [隨需容量保留] 的選項。 它會在 Azure 區域或 Azure 可用性區域中保留任何持續時間的計算容量,而不需承諾用量。 Azure Site Recovery 已與隨需容量保留整合。 透過這項整合,您可以使用 Azure Site Recovery 的容量保留功能,在災害復原站台中保留計算容量,並保證您的容錯移轉。 如需詳細資訊,請參閱隨需容量保留的限制事項。
Azure 訂用帳戶具有 VM 系列 (例如 Mv2 系列) 和其他資源的配額。 有時候組織想要針對災害復原使用不同的 Azure 訂用帳戶。 每個訂用帳戶(主要和DR)可能會為每個VM系列指派不同的配額。 請確定用於災害復原站台的訂用帳戶有足夠的計算配額可供使用。
儲存體
為 VM 啟用 Azure Site Recovery 以設定 DR 時,連結至 VM 的本機受控磁碟會復寫到 DR 區域。 在復寫期間,VM 磁碟寫入會傳送至來源區域中的快取記憶體帳戶。 資料會從該處傳送到目標區域,並從資料產生復原點。 當您在災害復原期間將 VM 容錯移轉時,會使用復原點來還原目標區域中的 VM。 但 Azure Site Recovery 不支援 Azure 中可用的所有儲存體類型。 如需詳細資訊,請參閱適用於儲存體的 Azure Site Recovery 支援矩陣。
針對使用 Azure 共用磁碟在 Windows 上執行的 SAP 系統,您可以使用 Azure Site Recovery 搭配 Azure 共用磁碟(預覽版)。 由於此功能處於公開預覽狀態,因此不建議針對最重要的 SAP 生產工作負載實作案例。 如需 Azure 共用磁碟支援案例的詳細資訊,請參閱 Azure VM 災害復原中共用磁碟的支援矩陣 (預覽)
除了連結至 VM 的 Azure 受控資料磁碟之外,不同的 Azure 原生儲存體解決方案也會用來在 Azure 上執行 SAP 應用程式。 每個 Azure 記憶體解決方案的DR方法可能會有所不同,因為 Azure Site Recovery 不支援 Azure 中所有可用的記憶體服務。 以下是通常用於 SAP 工作負載的儲存體類型清單。
儲存體類型 災害復原策略建議 受控磁碟 Azure Site Recovery Azure 檔案儲存體上的 NFS (LRS 或 ZRS) 自訂指令碼以在兩個站台之間複寫資料 (例如 rsync) Azure NetApp Files 上的 NFS 使用 Azure NetApp Files 磁碟區的跨區域複寫 Azure 共享磁碟 (LRS 或 ZRS) Azure Site Recovery 與 Azure 共用磁碟 (預覽版) Azure 檔案儲存體上的 SMB (LRS 或 ZRS) 使用 RoboCopy 在兩個站台之間複製檔案 Azure NetApp Files 上的 SMB 使用 Azure NetApp Files 磁碟區的跨區域複寫 針對如 NFS 叢集的自訂建置儲存體解決方案,您必須確定已備妥適當的災害復原策略。
不同的原生 Azure 記憶體服務(例如 Azure 檔案儲存體、Azure NetApp Files)可能無法在所有區域中使用。 因此,若要在容錯移轉之後在災害復原區域上設定類似的 SAP 設定,請確定災害復原站台中會提供個別的儲存體服務。 如需詳細資訊,請參閱不同區域的 Azure 產品。
如果您使用區域備援記憶體 (ZRS) 作為 Azure 檔案儲存體,以及主要區域中的 Azure 共用磁碟,而且您想要在 DR 區域中維護相同的 ZRS 備援選項,請參閱 [進階檔案共用 ZRS 支援](Azure 檔案儲存體 區域備援記憶體 (ZRS) 支援進階檔案共用 |Microsoft Learn),以及適用於 Azure 區域中 ZRS 支援的受控磁碟 ZRS 檔。
如果使用可用性區域進行災害復原,請記住下列幾點:
- Azure NetApp Files 功能尚不會感知區域。 目前 Azure NetApp Files 功能不會部署在 Azure 區域的所有可用性區域中。 因此,Azure NetApp Files 服務可能無法在您選擇的DR策略可用性區域中使用。
- Azure NetApp File 磁碟區的跨區域複寫僅適用於固定區域配對,不適用於跨區域。
如果您使用 Active Directory 整合來設定記憶體,也應該在 DR 月臺記憶體帳戶上完成類似的設定。