SAP 應用程式災害復原指南
若要為 Azure 上的 SAP 工作負載設定災害復原 (DR),您必須定期測試、微調和更新流程。 測試災害復原可協助您在觸發 SAP 工作負載災害復原容錯移轉,或者在次要站台上啟動系統之前,識別必要相依服務的順序。 為了讓 SAP 系統正常運作,組織通常會將其連線至 Active Directory (AD) 和網域名稱系統 (DNS) 服務。 替 SAP 工作負載設定災害復原時,請先確認 AD 與 DNS 服務在運作中,然後再開始復原 SAP 和其他非 SAP 系統,以確保應用程式能夠正常運作。 如需保護 Active Directory 和 DNS 的指引,請參閱保護 Active Directory 和 DNS。 本檔所述的 SAP 應用程式DR建議位於抽象層級。 您必須根據特定的設定來設計DR策略,並記錄端對端案例。
SAP 工作負載的災害復原建議
分散式 SAP NetWeaver 系統、中央服務、資料庫和共用儲存體 (NFS/SMB) 中通常有單一失敗點 (SPOF)。 為了減輕不同 SPOF 帶來的影響,您必須為這些元件設定備援。 您可以透過實現高可用性,在主要區域為這些 SPOF 元件設定備援。 這些元件的高可用性設定可保護 SAP 系統免於發生本機失敗或重大災難, 但是若要保護 SAP 應用程式不受各地分散災害的影響,請務必為所有 SAP 元件實作災害復原策略。
針對在 VM 上執行的 SAP 系統,您可以使用 Azure Site Recovery 建立災害復原計畫。 以下針對 SAP 系統的每個元件提供建議的災害復原方法。 本文件未涵蓋 TREX 等獨立非 NetWeaver SAP 引擎和非 SAP 應用程式。
元件 | 建議 |
---|---|
SAP Web 發送器 | 使用 Azure Site Recovery 複寫 VM |
SAP Central Services | 使用 Azure Site Recovery 複寫 VM |
SAP 應用程式伺服器 | 使用 Azure Site Recovery 複寫 VM |
SAP 資料庫 | 使用資料庫提供的複寫方法 |
共用儲存體 | 根據各個儲存體類型,使用適當方法複寫內容 |
SAP Web 發送器
SAP Web Dispatcher 元件的用途是作為 SAP 應用程式伺服器之間 SAP 流量的負載平衡器。 您可透過多種選項讓主要區域中的 SAP Web Dispatcher 元件達到高可用性。 如需此選項的詳細資訊,請參閱 SAP Web Dispatcher 的高可用性 (英文) 與 Azure 上的 SAP Web Dispatcher 高可用性設定 (英文)。
- 選項 1:使用叢集解決方案達成高可用性。
- 選項 2:使用平行 SAP Web Dispatcher 達成高可用性。
若要讓主要區域中的高可用性 SAP Web Dispatcher 設定實現災害復原,您可以使用 Azure Site Recovery。 針對在主要區域中執行的平行 Web Dispatcher (選項 2),您可以藉由設定 Azure Site Recovery 實現災害復原。 但是對於在主要區域中使用選項 1 設定的 SAP Web Dispatcher,您必須在故障轉移之後進行一些額外的變更,才能在DR區域中設定類似的HA。 使用叢集解決方案設定 SAP Web Dispatcher 高可用性的方式與設定 SAP 中央服務類似, 因此請按照 SAP 中央服務的指南操作。
SAP Central Services
SAP 中央服務包含加入佇列和訊息伺服器,這是 SAP 應用程式的其中一個 SPOF。 在 SAP 系統中,這種執行個體只能有一個,而且可以設定為高可用性。 請參閱 SAP 中央服務的高可用性 (機器翻譯),了解 Azure 上針對 SAP 工作負載有哪些不同的高可用性解決方案。
為 SAP 中央服務設定高可用性,可保護資源和流程不受本機事件影響。 若要實現 SAP 中央服務的災害復原,您可以使用 Azure Site Recovery。 Azure Site Recovery 會複寫 VM 和連結的受控磁碟,但災害復原策略還有其他考量。 如需詳細資訊,請參閱下一節,以 SAP 中央服務所使用的操作系統為基礎。
針對 SAP 系統,您可以透過設定高可用性,讓主要區域的 SPOF元件具有備援。 若要在故障轉移之後在災害復原區域中達到類似的高可用性設定,您必須考慮其他點。 其中包括重新設定叢集、確定 SAP 共用目錄可供使用,以及使用 Azure Site Recovery 將 VM 及其受控磁碟復寫至 DR 網站。 在 Linux 上,您可以使用 Pacemaker 叢集解決方案實現 SAP 應用程式的高可用性。 下方的圖表顯示使用 Pacemaker 為 SAP 中央服務設定高可用性時涉及的不同元件。 您必須將每個元件都納入考慮,才能在災害復原站台中設定類似的高可用性。 如果您已使用 Pacemaker 叢集解決方案設定 SAP Web Dispatcher,同樣必須注意這一點。
內部負載平衡器
Azure Site Recovery 會將 VM 複寫至災害復原站台,但不會複寫 Azure 負載平衡器, 您必須在事先或在容錯移轉後,於災害復原站台上另外建立一個內部負載平衡器。 如果您選擇事先建立內部負載平衡器,請建立一個空的後端集區,然後在容錯移轉事件後新增 VM。
Pacemaker 叢集解決方案
Pacemaker 叢集的設定位於 VM 的本機檔案中,會透過 Azure Site Recovery 複寫至災害復原站台。 保持原狀的 Pacemaker 叢集設定在容錯移轉後,無法立即在 VM 上運作, 您必須重新進行額外叢集設定,此解決方案才能運作。
請閱讀下列部落格,根據您的儲存體類型和隔離機制,深入了解災害復原區域中的 Pacemaker 叢集重新設定。
- 透過 Azure Site Recovery 將 SAP ASCS/ERS 高可用性叢集與 SBD 裝置 (使用 iSCSI 目標伺服器) 容錯移轉至災害復原區域 (英文)。
- 使用 Azure Site Recovery 將 SAP ASCS 高可用性叢集 (於 Linux 作業系統中) 容錯移轉至災害復原區域 (英文)。
適用於 Linux 的 SAP 共用目錄
SAP NetWeaver 或 ABAP 平台的高可用性設定會使用加入佇列複寫伺服器,替採用 Pacemaker 叢集設定的 SAP 系統加入佇列服務實現應用程式層級備援。 SAP 中央服務 (ASCS 與 ERS) 的高可用性設定會使用 NFS 掛接, 所以您必須確認這些 NFS 掛接中的 SAP 二進位檔和資料確實複寫到災害復原站台。 Azure Site Recovery 會複寫 VM 和連結的本機受控磁碟,但不會複寫 NFS 掛接。 根據設定的 NFS 記憶體類型,您必須確定資料已復寫並在DR站台中使用。 此處純粹從理論角度針對各儲存體提供跨區域複寫方法, 您必須確認複寫儲存體以及執行測試的確切步驟。
SAP 共用目錄 | 跨區域複寫 |
---|---|
Azure 檔案儲存體上的 NFS | 自訂 (如 rsync) |
ANF 上的 NFS | 是 (跨區域複寫 (機器翻譯)) |
NFS 叢集 | 自訂 |
提示
建議您部署下列其中一個 Azure 第一方 NFS 服務:Azure 檔案儲存體上的 NFS (機器翻譯) 或 NFS ANF 磁碟區 (機器翻譯),用於將共用資料儲存在高可用性 SAP 系統中。 請注意,我們會使用 NFS 叢集取消強調 SAP 參考架構。
隔離機制
無論是哪種作業系統 (SLES 或 RHEL) 和版本,Pacemaker 都必須具備有效的隔離機制,才能讓整個解決方案正常運作。 您必須根據自己在主要區域中設定的隔離機制類型,確認已為容錯移轉後的災害復原站台設定相同的隔離機制。
隔離機制 | 跨區域災害復原建議 |
---|---|
使用 iSCSI 目標伺服器的 SBD | 使用 Azure Site Recovery 複寫 iSCSI 目標伺服器。 在災害復原 VM 上再次探索 iSCSI。 |
Azure 隔離代理程式 | 在災害復原 VM 上啟用受控系統身分識別 (MSI)。 指派自訂角色。 更新叢集中的隔離代理程式資源。 |
使用 Azure 共用磁碟的 SBD* | 在災害復原區域中設定新的 Azure 共用磁碟。 在容錯移轉後,將 Azure 共用磁碟連結至災害復原 VM。 設定 Azure 共用磁碟 SBD 裝置 (機器翻譯)。 |
*Azure 共用磁碟的區域備援儲存體可在 限定區域 (機器翻譯) 中取得。
注意
我們建議讓主要區域和災害復原區域採用相同的隔離機制,以利於操作和容錯移轉。 不建議在容錯移轉至災害復原站台後,採用不同的隔離機制。
SAP 應用程式伺服器
在主要區域中,SAP 應用程式伺服器的備援是藉由在多個 VM 中安裝執行個體達成。 若要為 SAP 應用程式伺服器實現災害復原,您可以為每個應用程式伺服器 VM 設定 Azure Site Recovery。 針對連結至應用程式伺服器的共用儲存體 (傳輸檔案系統、介面資料檔案系統),請依據共用儲存體 (機器翻譯) 的類型,採用適用的災害復原做法。
SAP 資料庫伺服器
針對執行 SAP 工作負載的資料庫,請使用原生資料庫管理系統複寫技術設定災害復原。 我們不建議對資料庫使用 Azure Site Recovery,因為這種做法無法確保資料庫一致性,而且有資料變換限制。 每個資料庫的複寫技術都不同,因此請按照各自的資料庫指南操作。 下表顯示用於 SAP 工作負載的資料庫清單和對應的DR建議。
Database | 災害復原建議 |
---|---|
SAP HANA | HANA 系統複寫 (HSR) (機器翻譯) |
Oracle | Oracle Data Guard (FarSync) (機器翻譯) |
IBM DB2 | 高可用性和災害復原 (HADR) (機器翻譯) |
Microsoft SQL | Microsoft SQL Always On (機器翻譯) |
SAP ASE | ASE HADR Always On (英文) |
SAP MaxDB | 待命資料庫 |
如需成本最佳化解決方案,您甚至可以採用備份和還原選項作為資料庫災害復原策略。
備份及還原
備份和還原是其他解決方案,您可以在商務 RTO 和 RPO 非關鍵性的情況下,為 SAP 工作負載實現災害復原。 您可以使用 Azure 備份,雲端式備份服務來複製 SAP 工作負載的不同元件,例如虛擬機、受控磁碟和支持的資料庫。 若想深入了解 Azure 備份案例和部署的一般支援設定與限制,請參閱 Azure 備份支援矩陣。
服務 | 元件 | Azure 備份支援 |
---|---|---|
計算 | Azure VM | 支援 |
儲存體 | 包含共用磁碟的 Azure 受控磁碟 | 支援 |
儲存體 | Azure 檔案共用 - SMB (標準或進階) | 支援 |
儲存體 | Azure Blob | 支援 |
儲存體 | Azure 檔案共用 - NFS (標準或進階) | 不支援 |
儲存體 | Azure NetApp Files | 不支援 |
Database | Azure VM 中的 SAP Hana 資料庫 (機器翻譯) | 支援 |
Database | Azure VM 中的 SQL Server (機器翻譯) | 支援 |
Database | Oracle | 支援* |
Database | IBM DB2、SAP ASE | 不支援 |
注意
*Azure 備份支援使用透過資料庫一致快照集建立 Azure VM 備份 (機器翻譯)的 Oracle 資料庫。
Azure 備份不支援所有用於 SAP 工作負載的 Azure 儲存體和資料庫。
Azure 備份會將備份資料儲存在復原服務保存庫中,根據指定複寫類型 (LRS、ZRS 或 GRS) 複寫您的資料。 在異地備援儲存體 (GRS) 方面,您的備份資料會複寫至配對次要區域。 啟用跨區域還原功能後,您可以在次要區域還原支援管理類型的資料。
備份和還原是較傳統的成本最佳化方法,需要與較高的 RTO 相互權衡取捨, 因為若發生容錯移轉至災害復原區域的情況,您就必須從備份資料還原所有應用程式, 所以您必須分析自己的業務需求,再據此設計災害復原策略。
參考資料
- 教學課程:設定 Azure VM 的災害復原
- Azure 備份服務 (機器翻譯)。