本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
SAP在 IBM Db2 上設定災難復原 AWS
創建者安巴里什薩塔卡 (AWS) 和德巴斯薩胡 () AWS
環境:生產 | 技術:資料庫;作業 | 工作量:SAP |
AWS服務:AmazonEC2; AWS 彈性災難恢復 |
Summary
此模式概述了在 Amazon Web Services () 雲端上執行的 IBM Db2 做為資料庫平台的SAP工作負載設定災難復原 (DRAWS) 系統的步驟。我們的目標是提供低成本的解決方案,以便在發生中斷時提供業務連續性。
該圖案使用指示燈方法。透過啟用指示燈 DRAWS,您可以減少停機時間並維持業務連續性。先導燈方法著重於在中設定最小的 DR 環境AWS,包括與生產環境同步的SAP系統和待命 Db2 資料庫。
該解決方案是可擴展的。您可以視需要將其延伸至完整的災難復原環境。
先決條件和限制
先決條件
產品版本
架構
目標技術堆疊
目標架構
此架構會針對以 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 最終用戶到互聯網應用程序。
在區域 1 AMI 中建立應用程式伺服器,並複製AMI到區域 2。在AMI發生災難時,使用在區域 2 中啟動伺服器。
設定實際執行資料庫 (位於區域 1) 與待命資料庫 (位於區域 2) 之間的 Db2 HADR 複寫。
變更EC2執行個體類型,以便在發生災難時與生產執行個體相符。
在「區域 1」中LOGARCHMETH1
,設定為db2remote: S3 path
。
在「區域 2」中LOGARCHMETH1
,設定為db2remote: S3 path
。
跨區域複寫會在 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帶起搏器)。
史诗
任務 | 描述 | 所需技能 |
---|
檢查系統和日誌。 | 確認 Db2 系統SAP上的生產已設定。 確認已開啟記錄備份,並設定為將日誌儲存在 S3 儲存貯體中。這可以通過 Db2 參數LOGARCHMETH1 進行檢查。 建立AMI其他應用程式伺服器。
| AWS管理員,SAP基礎管理員 |
任務 | 描述 | 所需技能 |
---|
建立SAP和資料庫伺服器。 | 若要部署 DR 區域的基礎結構,請使用AWS CloudFormation 指令碼或使用AMI生產執行個體。做為指示燈方法的一部分,您可以在與生產EC2例證相同的族群中使用較小的例證。例如,如果您的生產實例類型是r6i.12xlarge ,則可以使用 DR 構建的r6i.xlarge 實例類型。不過,請務必在 DR 執行個體上配置相同的儲存容量,以還原生產資料庫備份。 為其建立 Amazon Elastic File System (AmazonEFS) 掛載點/sapmnt/<SID>/ ,並確保將其設定為從主要系統複寫。 從生產系統進行FULL資料庫備份 (線上或離線)。您將使用此備份來建立 DR 資料庫。 在 DR 系統中,使用SAP軟體佈建管理員 (SWPM) 系統複製方法,搭配使用系統副本搭配備份/還原以用於 HA/DR,以建置 DR 系統。SAP 當詢問者時SWPM,請使用從生產環境取得的備份在 DR 中還原資料庫。DR 資料庫將處於向前復原擱置狀態。
還原完整備份之後,依預設會設定向前復原擱置狀態。向前復原擱置狀態表示資料庫正在還原,而且可能需要套用某些變更。如需詳細資訊,請參閱IBM文件。 | SAP基礎管理員 |
檢查配置。 | 若要設定記錄封存HADR,生產環境和 DR 資料庫都必須能夠從所有記錄存檔位置自動擷取記錄檔。確認 DR 資料庫中的LOGARCHMETH1 參數設定為與實際執行資料庫中相同的位置。如果因為區域限制而無法存取相同的位置,請確定 DR 系統可以自動從主要系統擷取記錄檔。 若要啟用 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
確認這兩個連接埠都允許主要和待命之間的輸入和輸出流量。 簽/etc/hosts 入生產環境和 DR 主機,以確認生產和待命主機的主機名稱指向正確的 IP 位址。
| AWS管理員,SAP基礎管理員 |
設定從生產資料庫到 DR DB 的複寫 (使用ASYNC模式)。 | 在生產資料庫中,執行下列命令以更新參數。 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
在 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文件。 使用下列命令,HADR先在新建立的待命資料庫上啟動。 db2 deactivate db <SID>
db2 start hadr on db <SID> as standby
使用下列命令HADR在生產資料庫上啟動。 db2 deactivate db <SID>
db2 start hadr on db <SID> as primary
檢查生產和待命 Db2 資料庫是否處於同步狀態,並且記錄傳送正在進行中。 若要監視HADR複寫狀態,請使用下列db2pd 命令。 db2pd -d <SID> -hadr
如需監視的詳細資訊HADR,請參閱IBM文件。
| SAP基礎管理員 |
任務 | 描述 | 所需技能 |
---|
規劃 DR 測試的生產業務停機時間。 | 請務必在生產環境上規劃所需的業務停機時間,以測試 DR 容錯移轉案例。 | SAP基礎管理員 |
建立測試使用者。 | 建立可在 DR 主機中驗證的測試使用者 (或任何測試變更),以確認 DR 容錯移轉後的記錄複寫。 | SAP基礎管理員 |
在主控台上,停止生產EC2執行個體。 | 在此步驟中會啟動非正常關機,以模擬災難案例。 | AWS系統管理員 |
擴展 DR 執EC2行個體以符合需求。 | 在EC2主控台上,變更 DR 區域中的執行個體類型。 停止執行個體:如果執行個體正在執行,您必須先停止執行個體,才能變更其執行個體類型。在EC2主控台上,選取執行個體,然後選擇 [停止]。 修改執行個體類型:在EC2主控台上選取執行個體,然後選擇 [動作]、[執行個體設定]、[變更執行個體類型] 選取與主要執行個體相符的執行個體類型,然後選擇「套用」。 啟動執行個體:執行個體類型變更完成後,請從EC2主控台選取執行個體並選擇啟動來啟動執行個體。 要啟動 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證。 | 驗證/etc/hosts 和/etc/fstab 項目。 掛載/sapmnt/<SID>/ 在 DR 系統上。 驗證 DR 檔案系統/sapmnt/<SID>/ 是否與生產同步/sapmnt/<SID>/ 。 登錄到<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
如果資料庫不一致connected 且peer 狀態不一致,則可能需要進行備份和還原,才能使資料庫 (開啟host1 ) 與目前作用中的資料庫 (host2 在 DR 區域中) 同步。在此情況下,請將資料庫備份從 host2 DR 區域中的資料庫還原至host1 生產區域中的資料庫。 | SAP基礎管理員 |
將資料庫回復到生產區域。 | 在一般 business-as-usual 情況下,此步驟會在排定的停機時間內執行。DR 系統上執行的應用程式會停止,且資料庫無法回到生產區域 (區域 1),以便從生產區域恢復作業。 登入 DR 區域中的SAP應用程式伺服器,然後停止SAP應用程式。 /sapmnt/<SID> 從 DR 系統卸載,確定變更已反向複製到生產/sapmnt/<SID> 系統。
登入生產區域中的資料庫伺服器 (host1 ),然後執行接管。 db2 takeover hadr on database <SID>
檢查狀HADR態:HADR_ROLE 應該是PRIMARY 開啟host1 和StandBy 開啟host2 。 db2pd -d <SID> -hadr
| SAP基礎管理員 |
在啟動應用程式之前執行驗SAP證。 | 驗證/etc/hosts 和/etc/fstab 項目。 安裝/sapmnt/<SID>/ 在生產系統上。 確保它與 DR 系統同步/sapmnt/<SID>/ 。 登錄到<sid>adm 用戶R3trans -d ,運行並驗證文trans.log 件中的輸出。trans.log 檔案會在您執行R3trans -d 指令的相同位置產生。
| AWS管理員,SAP基礎管理員 |
啟動SAP應用程式。 | 使用使用者在生產系統上啟動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
若要確認應用程式伺服器可供使用,請登入SAP並使用SICK和SM51交易執行檢查。
| SAP基礎管理員 |
故障診斷
相關資源
其他資訊
使用此模式,您可以為 Db2 資料庫上執行的系SAP統設定嚴重損壞修復系統。在災難情況下,企業應該能夠在您定義的復原時間目標 (RTO) 和復原點目標 (RPO) 需求內繼續:
如需FAQs相關資訊HADR,請參閱SAP注意事項 #1612105-DB6: FAQ 在 Db2 高可用性災難復原 (HADR) 上。(您需要SAP入口網站認證才能存取此備註。)