SAP HANA 災難復原規劃指南

本指南概略說明部署在 Google Cloud上的 SAP HANA 系統的災難復原選項。

本指南的目的並非取代標準 SAP 說明文件。

準備災難復原作業

如要為災難做好準備,您可以為次要 SAP HANA 系統使用 SAP HANA 系統複製,及/或為 SAP HANA 進行備份以啟用復原。

針對需要快速復原的關鍵任務工作負載,請使用 HANA 系統複製以將停機時間減至最低。使用備份來復原系統的費用較少,但需要較長的時間,其間必須建立新的系統,然後將備份還原到新系統,以復原到需要的時間點。

在這兩種方法中,您都必須使用以網路為基礎的重新導向,將使用 SAP HANA 系統的用戶端應用程式重新導向至提供的替代系統 IP 位址。詳情請參閱 SAP HANA 管理指南

從 SAP HANA SPS09 開始,您可以使用 SAP HANA 隨附的以 Python 為基礎的 API,自行建立高可用性/災難復原 (HA/DR) 供應器,並將其與 SAP HANA 系統複製接管程序整合,以便在接管後自動執行各種任務,例如將資料庫用戶端連線從主要系統重新導向至次要系統。詳情請查看實作 HA/DR 提供機制一文。

請注意,SAP 定義的任何限制,包括同步複製的距離限制,在 Google Cloud上一樣生效。

如要跨區域使用主動/被動災難復原 (DR) 功能,您可以使用 Persistent Disk 非同步複製 (PD 非同步複製),做為原生災難復原選項的替代方案。PD 非同步複製功能可在兩個Google Cloud 區域之間提供資料非同步複製功能。

使用 SAP HANA 系統複製的災難復原

為了盡量提高基礎架構資源的利用率,並讓 DR 解決方案的成本最佳化,您可以為非實際工作環境用途使用次要系統,例如開發或 QA 系統的用途。在這種情況中,次要系統不會預先載入資料,因此和預先載入資料並與主要系統保持同步的次要系統相比,容錯移轉的時間較長。

HANA 2 SPS00 包含對主動/主動 (啟用讀取) 設定模式的支援,這種模式啟用 SAP HANA 系統複製以支援次要系統上的讀取權限。詳情請參閱主動/主動 (啟用讀取) 一文。

搭配 Google Cloud使用 SAP HANA 系統複製時,支援同步和非同步複製。

如果可以,我們建議使用同步複製,SQL 交易在待命執行個體上修訂之後,才會在主要資料庫執行個體上修訂。如此可保持待命執行個體 100% 同步,並確保達成零復原點的目標。同步複製可用於相同地區中任何區域內的執行個體。

SystemReplication-preload1

如果待命系統與主要系統位於不同地區,請使用非同步複製,不必等待命執行個體確認資料,可以先在主要執行個體上修訂。在這種情境中,如果發生災難,您可能會失去少量資料。相對來說,非同步複製會讓您有大於零的復原點目標。

SystemReplication-preload2

對於所有的複製情境,您都必須在待命系統上手動執行接管以啟動災難復原。您還必須手動重新導向任何使用 SAP HANA 資料庫的應用程式,將目標從故障的執行個體改為待命系統。

請依照您的企業需求,如復原時間目標 (RTO) 和復原點目標 (RPO),來選擇 HANA 系統複製選項。詳情請參閱 SAP HANA 系統複製適用的複製模式一文。

預先載入的 SAP HANA 系統複製

在這個情境中,您的 SAP HANA 系統會複製到專屬的待命系統。SAP HANA 資料庫會複製到有專屬主機名稱且已附加專屬永久磁碟的 Compute Engine VM。所有 SAP HANA 資料會載入待命系統的記憶體中。如果您必須進行容錯移轉,容錯移轉的時間只需約 90 秒,因為所有資料已預先載入。

有關預先載入的 SAP HANA 系統複製詳情,請參閱 SAP HANA - 高可用性一文中的「系統複製」一節。

未預先載入的 SAP HANA 系統複製

在這個情境中,您的 SAP HANA 系統會複製到專屬的待命系統。SAP HANA 資料庫會複製到有專屬主機名稱且已附加專屬永久磁碟的 Compute Engine VM。SAP HANA 資料不會載入待命系統的記憶體中。如果您必須進行容錯移轉,需要的時間視資料集大小而定,從數分鐘到數小時皆有可能。

當您未預先載入資料,託管 SAP HANA 資料庫的 Compute Engine VM 記憶體需求會小很多。如需最新的調整大小指南,請參閱「SAP 附註 1999880 - 常見問題:SAP HANA 系統複製」,並查看「哪些規則適用於次要系統複製網站的記憶體使用率?」。

您可以執行下列查詢,取得關於 rowstore 記憶體佔用空間的資訊:

SELECT round (sum(USED_FIXED_PART_SIZE + USED_VARIABLE_PART_SIZE)/1024/1024) AS "Row Tables MB" FROM M_RS_TABLES;

在選擇 Compute Engine 機器類型時,較低的記憶體需求能給您有節省費用的選項。

  • 您可以在待命系統中將 SAP HANA 資料庫託管在記憶體規格較低的機器類型,因此降低運作成本。在實際工作環境系統中,SAP HANA 不支援低記憶體容量的 VM,但您可以在災難復原的情境中使用此費用較低的 VM 執行接管,之後再修改 VM 將機器類型變更為具有支援的記憶體容量。如要這麼做,您必須停止 VM 以執行升級,因此在提供 SAP HANA 系統前會有額外的停機時間。

  • 您可以在待命系統中將 SAP HANA 資料庫託管在高記憶體使用率機器類型,並與開發或測試系統共用,以增進投資報酬率。您可以依循變更全域記憶體配置限制一文中的操作說明,將 SAP HANA 資料庫的全域配置限制設為 64 GB,讓剩餘的記憶體供其他系統使用。當需要待命系統時,停止開發和測試作業,執行接管程序,然後移除全域配置限制。

您可以使用未預先載入的同步或非同步複製。不過,同步複製需要來源和目標執行個體位在相同的 Google Cloud 區域。

您可以使用 HA/DR 提供機制來因應停用次要主機上開發及/或測試系統等問題。

觸發接管程序

如要叫用災難復原,請在待命系統中觸發 SAP HANA 系統複製接管程序。SAP 注意事項 2063657 中提供的指引可協助您決定接管是否為最佳選項。

如要觸發接管程序,請依循標準 SAP HANA 接管程序。如需進一步瞭解此程序,請參閱「如何為 SAP HANA 2.0 執行系統複製」。

如果遇到資料問題或軟體錯誤,可能不會自動通知您執行接管。請考慮建立自訂解決方案,使用 Cloud Monitoring 或 HANA 監控工具傳送快訊。

使用 SAP HANA 備份進行災難復原

如果可以接受較長的復原時間目標,而且您的復原點目標大於 15 分鐘,則您可以採用從備份還原的方式來進行災難復原。為了確保使用備份成功復原,請經常將備份檔案 (特別是記錄備份) 複製到 Cloud Storage 值區,或 SAP HANA 系統執行所在地區外的某個長期儲存位置。我們建議您記錄主要系統的基礎架構,並編寫指令碼以快速建立還原備份的替代系統。

詳情請參閱 SAP HANA 作業指南

使用 PD 非同步複製功能進行災難復原

對於在 Google Cloud上執行的 SAP 工作負載,PD 非同步複製功能可在兩個 Google Cloud 區域之間複製資料,以便進行災難復原。PD 非同步複製功能提供低復原點目標 (RPO) 和低復原時間目標 (RTO) 的區塊儲存空間非同步複製功能,可用於跨區域主動/被動災難復原。萬一發生區域性服務中斷情形,PD 非同步複製功能可讓您將 SAP 資料容錯移轉至次要區域,並在該區域重新啟動 SAP 工作負載。

您可以使用 PD 非同步複製功能,在基礎架構層級管理以 Compute Engine 為基礎的 SAP 工作負載複製作業,而非在 SAP 工作負載層級 (例如 SAP HANA 系統複製) 管理複製作業。

PD 非同步複製功能會將 SAP 資料從連結至執行中工作負載的主要磁碟複製到位於其他區域的空白次要磁碟。詳情請參閱「永久磁碟非同步複製功能簡介」。

PD 非同步複製功能的限制

對於 PD 非同步複製,您只能在支援的區域組合中使用平衡永久磁碟 (pd-balanced) 和效能 (SSD) 永久磁碟 (pd-ssd) 磁區。詳情請參閱「限制」一節。

如「查看永久磁碟非同步複製效能」一節所述,查看裝置組合的監控指標,即可監控及評估工作負載的變化率,以符合 PD 非同步複製功能的效能。

指標 async_replication/sent_bytes_count 不會顯示傳輸資料量持續增加,因為這個指標代表透過跨區域網路傳送的位元組數差異。