SAP在 IBM Db2 上設定災難復原 AWS - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

SAP在 IBM Db2 上設定災難復原 AWS

創建者安巴里什薩塔卡 (AWS) 和德巴斯薩胡 () AWS

環境:生產

技術:資料庫;作業

工作量:SAP

AWS服務:AmazonEC2; AWS 彈性災難恢復

Summary

此模式概述了在 Amazon Web Services () 雲端上執行的 IBM Db2 做為資料庫平台的SAP工作負載設定災難復原 (DRAWS) 系統的步驟。我們的目標是提供低成本的解決方案,以便在發生中斷時提供業務連續性。

該圖案使用指示燈方法。透過啟用指示燈 DRAWS,您可以減少停機時間並維持業務連續性。先導燈方法著重於在中設定最小的 DR 環境AWS,包括與生產環境同步的SAP系統和待命 Db2 資料庫。

該解決方案是可擴展的。您可以視需要將其延伸至完整的災難復原環境。

先決條件和限制

先決條件

產品版本

  • IBM資料庫版本 11.5.7 或更新版本

架構

目標技術堆疊

  • Amazon EC2

  • Amazon Simple Storage Service (Amazon S3)

  • Amazon Virtual Private Cloud(VPC對等)

  • Amazon Route 53

  • IBMDb2 高可用性災難復原 () HADR

目標架構

此架構會針對以 Db2 做為資料庫平台的SAP工作負載實作 DR 解決方案。生產資料庫部署在AWS區域 1 中,而待命資料庫則部署在第二個區域中。待命資料庫稱為 DR 系統。Db2 資料庫支援多個待命資料庫 (最多三個)。它會使用 Db2 來HADR設定 DR 資料庫,並自動執行與待命資料庫之間的記錄傳送。

如果發生災難而使區域 1 無法使用,DR 區域中的待命資料庫會接管實際執行資料庫角色。SAP您可以預先建置應用程式伺服器,也可以使用AWS彈性災難復原或 Amazon Machine Image (AMI) 來滿足復原時間目標 (RTO) 需求。此模式使用AMI.

Db2 HADR 實作生產待命設定,其中生產作為主要伺服器,而且所有使用者都連線至該伺服器。所有交易都會寫入記錄檔,這些記錄檔會使用 TCP /IP 傳輸到待命伺服器。待命伺服器會向前捲動傳輸的記錄檔記錄,以更新其本機資料庫,這有助於確保它與生產伺服器保持同步。

VPC使用對等互連,讓生產區域和 DR 區域中的執行個體可以彼此通訊。Amazon Route 53 最終用戶到互聯網應用程序。

AWS具有跨區域複寫功能的 Db2 開啟
  1. 在區域 1 AMI 中建立應用程式伺服器,並複製AMI到區域 2。在AMI發生災難時,使用在區域 2 中啟動伺服器。

  2. 設定實際執行資料庫 (位於區域 1) 與待命資料庫 (位於區域 2) 之間的 Db2 HADR 複寫。

  3. 變更EC2執行個體類型,以便在發生災難時與生產執行個體相符。

  4. 在「區域 1」中LOGARCHMETH1,設定為db2remote: S3 path

  5. 在「區域 2」中LOGARCHMETH1,設定為db2remote: S3 path

  6. 跨區域複寫會在 S3 儲存貯體之間執行。

工具

AWS服務

最佳實務

  • 在決定HADR複製模式時,網路扮演著關鍵角色。對於跨AWS區域的 DR,我們建議您使用 Db2 HADR ASYNC 或SUPERASYNC模式。 

  • 如需 Db2 複製模式的詳細資訊HADR,請參閱IBM文件。

  • 您可以使用AWS管理主控台或AWS命令列介面 (AWSCLI) 來建立現有SAP系統AMI的新系統。然後,您可以AMI使用復原現有SAP系統或建立翻製。

  • AWSSystems Manager 自動化可協助處理EC2執行個體和其他AWS資源的一般維護與部署工作。

  • AWS提供多種原生服務來監視和管理您的基礎架構和應用程式AWS。Amazon CloudWatch 之類的服務AWS CloudTrail 可分別用於監控您的基礎設施和API操作。有關更多內容,敬請參閱SAP(詳見)AWS— IBM Db2(HADR帶起搏器)。

史诗

任務描述所需技能

檢查系統和日誌。

  1. 確認 Db2 系統SAP上的生產已設定。

  2. 確認已開啟記錄備份,並設定為將日誌儲存在 S3 儲存貯體中。這可以通過 Db2 參數LOGARCHMETH1進行檢查。

  3. 建立AMI其他應用程式伺服器。

AWS管理員,SAP基礎管理員
任務描述所需技能

建立SAP和資料庫伺服器。

  1. 若要部署 DR 區域的基礎結構,請使用AWS CloudFormation 指令碼或使用AMI生產執行個體。做為指示燈方法的一部分,您可以在與生產EC2例證相同的族群中使用較小的例證。例如,如果您的生產實例類型是r6i.12xlarge,則可以使用 DR 構建的r6i.xlarge實例類型。不過,請務必在 DR 執行個體上配置相同的儲存容量,以還原生產資料庫備份。

  2. 為其建立 Amazon Elastic File System (AmazonEFS) 掛載點/sapmnt/<SID>/,並確保將其設定為從主要系統複寫

  3. 從生產系統進行FULL資料庫備份 (線上或離線)。您將使用此備份來建立 DR 資料庫。

  4. 在 DR 系統中,使用SAP軟體佈建管理員 (SWPM) 系統複製方法,搭配使用系統副本搭配備份/還原以用於 HA/DR,以建置 DR 系統。SAP

  5. 當詢問者時SWPM,請使用從生產環境取得的備份在 DR 中還原資料庫。DR 資料庫將處於向前復原擱置狀態。

還原完整備份之後,依預設會設定向前復原擱置狀態。向前復原擱置狀態表示資料庫正在還原,而且可能需要套用某些變更。如需詳細資訊,請參閱IBM文件

SAP基礎管理員

檢查配置。

  1. 若要設定記錄封存HADR,生產環境和 DR 資料庫都必須能夠從所有記錄存檔位置自動擷取記錄檔。確認 DR 資料庫中的LOGARCHMETH1參數設定為與實際執行資料庫中相同的位置。如果因為區域限制而無法存取相同的位置,請確定 DR 系統可以自動從主要系統擷取記錄檔。

  2. 若要啟用 TCP /IP 連接埠以啟用資料庫複寫,請新增下列兩個項目,/etc/services在實際執行和 DR 主機中進行修改。在程式碼中,<SID>參照 Db2 資料庫的系統 ID (SID) (例如,PR1)。

    <SID>_HADR_1 55001/tcp # DB2 HADR Port1 <SID>_HADR_2 55002/tcp # DB2 HADR Port2

    確認這兩個連接埠都允許主要和待命之間的輸入和輸出流量。

  3. /etc/hosts入生產環境和 DR 主機,以確認生產和待命主機的主機名稱指向正確的 IP 位址。

AWS管理員,SAP基礎管理員

設定從生產資料庫到 DR DB 的複寫 (使用ASYNC模式)。

  1. 在生產資料庫中,執行下列命令以更新參數。

    db2 UPDATE DB CFG FOR <SID> USING HADR_LOCAL_HOST HOST1 db2 UPDATE DB CFG FOR <SID> USING HADR_LOCAL_SVC <SID>_HADR_1 db2 UPDATE DB CFG FOR <SID> USING HADR_REMOTE_HOST HOST2 db2 UPDATE DB CFG FOR <SID> USING HADR_REMOTE_SVC <SID>_HADR_2 db2 UPDATE DB CFG FOR <SID> USING HADR_REMOTE_INST db2<sid> db2 UPDATE DB CFG FOR <SID> USING HADR_TIMEOUT 120 db2 UPDATE DB CFG FOR <SID> USING HADR_SYNCMODE ASYNC db2 UPDATE DB CFG FOR <SID> USING HADR_SPOOL_LIMIT 1000 db2 UPDATE DB CFG FOR <SID> USING HADR_PEER_WINDOW 240 db2 UPDATE DB CFG FOR <SID> USING indexrec RESTART logindexbuild ON
  2. 在 DR 資料庫中,執行下列命令來更新參數。

    db2 UPDATE DB CFG FOR <SID> USING HADR_LOCAL_HOST HOST2 db2 UPDATE DB CFG FOR <SID> USING HADR_LOCAL_SVC <SID>_HADR_2 db2 UPDATE DB CFG FOR <SID> USING HADR_REMOTE_HOST HOST1 db2 UPDATE DB CFG FOR <SID> USING HADR_REMOTE_SVC <SID>_HADR_1 db2 UPDATE DB CFG FOR <SID> USING HADR_REMOTE_INST db2<sid> db2 UPDATE DB CFG FOR <SID> USING HADR_TIMEOUT 120 db2 UPDATE DB CFG FOR <SID> USING HADR_SYNCMODE ASYNC db2 UPDATE DB CFG FOR <SID> USING HADR_SPOOL_LIMIT 1000 db2 UPDATE DB CFG FOR <SID> USING HADR_PEER_WINDOW 240 db2 UPDATE DB CFG FOR <SID> USING indexrec RESTART logindexbuild ON

    這些參數是為兩個資料庫提供HADR相關資訊所必需的。在 Db2 資料庫中,HADR會根據每個先前設定的參數值啟動。如需這些參數的詳細資訊,請參閱IBM文件

  3. 使用下列命令,HADR先在新建立的待命資料庫上啟動。

    db2 deactivate db <SID> db2 start hadr on db <SID> as standby
  4. 使用下列命令HADR在生產資料庫上啟動。

    db2 deactivate db <SID> db2 start hadr on db <SID> as primary
  5. 檢查生產和待命 Db2 資料庫是否處於同步狀態,並且記錄傳送正在進行中。

    若要監視HADR複寫狀態,請使用下列db2pd命令。

    db2pd -d <SID> -hadr

    如需監視的詳細資訊HADR,請參閱IBM文件

SAP基礎管理員
任務描述所需技能

規劃 DR 測試的生產業務停機時間。

請務必在生產環境上規劃所需的業務停機時間,以測試 DR 容錯移轉案例。

SAP基礎管理員

建立測試使用者。

建立可在 DR 主機中驗證的測試使用者 (或任何測試變更),以確認 DR 容錯移轉後的記錄複寫。

SAP基礎管理員

在主控台上,停止生產EC2執行個體。

在此步驟中會啟動非正常關機,以模擬災難案例。

AWS系統管理員

擴展 DR 執EC2行個體以符合需求。

在EC2主控台上,變更 DR 區域中的執行個體類型。

  1. 停止執行個體:如果執行個體正在執行,您必須先停止執行個體,才能變更其執行個體類型。在EC2主控台上,選取執行個體,然後選擇 [停止]。

  2. 修改執行個體類型:在EC2主控台上選取執行個體,然後選擇 [動作]、[執行個體設定]、[變更執行個體類型] 選取與主要執行個體相符的執行個體類型,然後選擇「套用」。

  3. 啟動執行個體:執行個體類型變更完成後,請從EC2主控台選取執行個體並選擇啟動來啟動執行個體。

  4. 要啟動 Db2 數據庫,請使用以下命令。

    db2start db2 start HADR on db <SID> as standby
SAP基礎管理

啟動接管。

從 DR 系統 (host2) 起始接管程序,並將 DR 資料庫顯示為主要資料庫。

db2 takeover hadr on database <SID> by force

您可以選擇性地設定下列參數,根據執行處理類型自動調整資料庫記憶體配置。該INSTANCE_MEMORY值可以根據要分配給 Db2 數據庫的內存的專用部分來決定。

db2 update db cfg for <SID> using INSTANCE_MEMORY <FIXED VALUE> IMMEDIATE; db2 get db cfg for <SID> | grep -i DATABASE_MEMORY AUTOMATIC IMMEDIATE; db2 update db cfg for <SID> using self_tuning_mem ON IMMEDIATE;

使用下列指令驗證變更。

db2 get db cfg for <SID> | grep -i MEMORY db2 get db cfg for <SID> | grep -i self_tuning_mem
SAP基礎管理員

SAP在 DR 區域中啟動的應用程式伺服器。

使用您AMI對生產系統所建立的,在 DR 區域中啟動新的其他應用程式伺服器

SAP基礎管理員

在啟動應用程式之前執行驗SAP證。

  1. 驗證/etc/hosts/etc/fstab項目。

  2. 掛載/sapmnt/<SID>/在 DR 系統上。

  3. 驗證 DR 檔案系統/sapmnt/<SID>/是否與生產同步/sapmnt/<SID>/

  4. 登錄到<sid>adm用戶R3trans -d,運行並驗證文trans.log件中的輸出。trans.log檔案會在您執行R3trans -d指令的相同位置產生。

AWS管理員,SAP基礎管理員

在 DR 系統上啟動SAP應用程式。

使用使用者在 DR 系統上啟動SAP應<sid>adm用程式。請使用下列程式碼,其中代XX表 SAP ABAP SAP Central Services (ASCS) 伺服器的執行個體編號,並代YY表SAP應用程式伺服器的執行個體編號。

sapconrol -nr XX -function StartService <SID> sapconrol -nr XX -function StartSystem sapconrol -nr YY -function StartService <SID> sapconrol -nr YY -function StartSystem
SAP基礎管理員

執行SAP驗證。

這會以 DR 測試的形式執行,以提供證據或檢查 DR 區域的資料複寫是否成功。

測試工程師
任務描述所需技能

啟動生產伺服器SAP和資料庫伺服器。

在主控台上,啟動生產系統中裝載的EC2執行個體SAP和資料庫。

SAP基礎管理員

啟動生產資料庫並進行設定HADR。

登錄到生產系統(host1),並使用以下命令驗證數據庫處於恢復模式。

db2start db2 start HADR on db P3V as standby db2 connect to <SID>

確認狀HADR態為connected。複寫狀態應為peer

db2pd -d <SID> -hadr

如果資料庫不一致connectedpeer狀態不一致,則可能需要進行備份和還原,才能使資料庫 (開啟host1) 與目前作用中的資料庫 (host2在 DR 區域中) 同步。在此情況下,請將資料庫備份從 host2 DR 區域中的資料庫還原至host1生產區域中的資料庫。

SAP基礎管理員

將資料庫回復到生產區域。

在一般 business-as-usual 情況下,此步驟會在排定的停機時間內執行。DR 系統上執行的應用程式會停止,且資料庫無法回到生產區域 (區域 1),以便從生產區域恢復作業。

  1. 登入 DR 區域中的SAP應用程式伺服器,然後停止SAP應用程式。

  2. /sapmnt/<SID>從 DR 系統卸載,確定變更已反向複製到生產/sapmnt/<SID>系統。

  3. 登入生產區域中的資料庫伺服器 (host1),然後執行接管。

    db2 takeover hadr on database <SID>
  4. 檢查狀HADR態:HADR_ROLE應該是PRIMARY開啟host1StandBy開啟host2

    db2pd -d <SID> -hadr
SAP基礎管理員

在啟動應用程式之前執行驗SAP證。

  1. 驗證/etc/hosts/etc/fstab項目。

  2. 安裝/sapmnt/<SID>/在生產系統上。

  3. 確保它與 DR 系統同步/sapmnt/<SID>/

  4. 登錄到<sid>adm用戶R3trans -d,運行並驗證文trans.log件中的輸出。trans.log檔案會在您執行R3trans -d指令的相同位置產生。

AWS管理員,SAP基礎管理員

啟動SAP應用程式。

  1. 使用使用者在生產系統上啟動SAP應<sid>adm用程式。請使用下列程式碼,其中代XX表SAPASCS伺服器的執行個體編號,並代YY表應用SAP程式伺服器的執行個體編號。

    sapconrol -nr XX -function StartService <SID> sapconrol -nr XX -function StartSystem sapconrol -nr YY -function StartService <SID> sapconrol -nr YY -function StartSystem
  2.  若要確認應用程式伺服器可供使用,請登入SAP並使用SICK和SM51交易執行檢查。

SAP基礎管理員

故障診斷

問題解決方案

用於疑難排解HADR相關問題的重要記錄檔和命令

  • db2 get db cfg | grep -i hadr

  • db2pd -d sid -hadr

  • Db2diag.log(此文件通常位於目db2dump錄內,db2dump路徑由參數定義DIAGPATH。)

SAPDb2 上的疑難排解HADR問題的注意事項 UDB

請參閱SAP附註 1154013-DB6: 環境中的資料庫問題。HADR(您需要SAP入口網站認證才能存取此備註。)

相關資源

其他資訊

使用此模式,您可以為 Db2 資料庫上執行的系SAP統設定嚴重損壞修復系統。在災難情況下,企業應該能夠在您定義的復原時間目標 (RTO) 和復原點目標 (RPO) 需求內繼續:

  • RTO是服務中斷與恢復服務之間的最大可接受延遲。這決定了當服務不可用時,什麼被視為可接受的時間範圍。

  • RPO是自上次資料復原點以來可接受的時間上限。這決定了最後一個恢復點和服務中斷之間可接受的數據丟失。

如需FAQs相關資訊HADR,請參閱SAP注意事項 #1612105-DB6: FAQ 在 Db2 高可用性災難復原 (HADR) 上。(您需要SAP入口網站認證才能存取此備註。)