Amazon EC2 上的 SAP HANA 備份 - AWS Backup

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

Amazon EC2 上的 SAP HANA 備份

注意

支援的 服務 AWS 區域 包含目前支援的 區域,其中 Amazon EC2 執行個體上的 SAP HANA 資料庫備份可供使用。

AWS Backup 支援 Amazon EC2 執行個體上 SAP HANA 資料庫的備份和還原。

使用 的 SAP HANA 資料庫概觀 AWS Backup

除了能夠建立備份和還原資料庫之外, AWS Backup 還與適用於 SAP 的 Amazon EC2 Systems Manager 整合,以便客戶識別和標記 SAP HANA 資料庫。

AWS Backup 已與 AWS Backint Agent 整合,可執行 SAP HANA 備份和還原。如需詳細資訊,請參閱《AWS Backint》。

透過 備份 SAP HANA 資料庫的先決條件 AWS Backup

您必須先完成幾個先決條件,才能執行備份和還原活動。請注意,您將需要 SAP HANA 資料庫的管理存取權和許可,才能在 AWS 帳戶中建立新的 IAM 角色和政策,以執行這些步驟。

請完成 Amazon EC2 Systems Manager 的這些先決條件

最佳實務是只註冊每個 HANA 執行個體一次。多個註冊可能會導致相同資料庫ARNs。維護單一 ARN 和註冊可簡化備份計劃的建立和維護,也有助於減少備份的意外重複。

主控台中的 AWS Backup SAP HANA 備份操作

完成先決條件並設定適用於 SAP 的 SSM 之後,您就可以備份和還原 EC2 上的 SAP HANA 資料庫。

選擇加入以保護 SAP HANA 資源

若要使用 AWS Backup 來保護 SAP HANA 資料庫,必須將 SAP HANA 切換為其中一個受保護的資源。若要選擇加入:

  1. 在 https://https://console.aws.amazon.com/backup 開啟 AWS Backup 主控台。

  2. 在左側的導覽窗格中,選擇設定

  3. 選擇加入服務 下,選取 設定資源

  4. 選擇加入 Amazon EC2 上的 SAP HANA

  5. 按一下 確認

現在將會為 Amazon EC2 上的 SAP HANA 啟用「選擇加入服務」。

建立 SAP HANA 資料庫的排程備份

您可以編輯現有的備份計畫並將 SAP HANA 資源新增至其中,也可以只為 SAP HANA 資源建立新的備份計畫

如果您選擇建立新的備份計畫,您將有三個選項:

  1. 選項 1:從範本開始

    1. 選擇備份計畫範本。

    2. 指定備份計畫名稱。

    3. 按一下 建立計畫

  2. 選項 2:建立新的計畫

    1. 指定備份計畫名稱。

    2. 選擇性地指定要新增至備份計畫的標籤。

    3. 指定備份規則組態。

      1. 指定備份規則名稱。

      2. 選取現有的保存庫或建立新的備份保存庫。這是備份的儲存位置。

      3. 指定備份頻率。

      4. 指定備份時段。

        請注意,目前不支援轉換至冷儲存

      5. 指定保留期。

        目前不支援複製到目的地

      6. (選擇性) 指定要新增至復原點的標籤。

    4. 按一下 建立計畫

  3. 選項 3:使用 JSON 定義計畫

    1. 您可以透過修改現有備份計畫的 JSON 運算式或建立新的運算式,來指定用於備份計畫的 JSON。

    2. 指定備份計畫名稱。

    3. 按一下 驗證 JSON

    成功建立備份計畫之後,您可以在下一個步驟中將資源指派給備份計畫。

無論您使用哪種計畫,都請務必指派資源。您可以選擇要指派的 SAP HANA 資料庫,包括系統和租戶資料庫。您也可以選擇排除特定資源 ID。

建立 SAP HANA 資料庫的隨需備份

您可以建立完整的隨需備份,在建立後立即執行。請注意,Amazon EC2 執行個體上 SAP HANA 資料庫的隨需備份是完整備份;不支援增量備份。

現在建立您的隨需備份。一開始會備份您指定的資源。主控台會將您轉移至 備份任務 頁面,您可以在其中檢視任務進度。請記下畫面頂端藍色橫幅中的備份任務 ID,因為您將需要此 ID 才能輕鬆找到備份任務的狀態。備份完成後,其狀態會變成 Completed。備份最多可能需要數小時。

重新整理備份任務清單以查看狀態變更。您也可以搜尋並按一下 備份任務 ID 來檢視詳細的任務狀態。

SAP HANA 資料庫的連續備份

您可以進行連續備份,這可搭配時間點還原 (PITR) 使用 (請注意,隨需備份會將資源保持在進行備份時所處的狀態,而 PITR 則使用連續備份來記錄一段時間內的變更)。

使用連續備份,您可以在 1 秒的精確度內倒回您選擇的特定時間來還原 EC2 執行個體上的 SAP HANA 資料庫 (最多可回到 35 天前)。連續備份的運作方式是先建立資源的完整備份,然後持續備份資源的交易日誌。PITR 還原的運作方式是存取您的完整備份,並在您告知 AWS Backup 復原的時間重播交易日誌。

當您 AWS Backup 使用 AWS Backup 主控台或 API 在 中建立備份計劃時,可以選擇加入連續備份。

使用主控台啟用連續備份
  1. 登入 AWS Management Console,並在 https://https://console.aws.amazon.com/backup 開啟 AWS Backup 主控台。

  2. 在導覽窗格中,選擇 備份計畫,然後選擇 建立備份計畫

  3. 備份規則 下,選擇 新增備份規則

  4. 備份規則組態 區段中,選取 為支援的資源啟用連續備份

停用 SAP HANA 資料庫備份的 PITR (時間點還原) 之後,系統會繼續將日誌傳送至 AWS Backup ,直到復原點到期為止 (狀態等於 EXPIRED))。您可以在 SAP HANA 中變更為替代日誌備份位置,以停止將日誌傳輸至 AWS Backup。

狀態為 的持續復原點STOPPED表示持續復原點已中斷;也就是說,從 SAP HANA 傳輸至 AWS Backup 的日誌,顯示資料庫的增量變更有間隙。在此時間範圍內發生的復原點都會具有 STOPPED. 狀態。

如需在連續備份 (復原點) 的還原任務期間可能遇到的問題,請參閱本指南的《SAP HANA 還原故障診斷》一節。

檢視 SAP HANA 資料庫備份

檢視備份和還原任務的狀態:

  1. 在 https://https://console.aws.amazon.com/backup 開啟 AWS Backup 主控台。

  2. 在導覽窗格中,選擇 Jobs (任務)

  3. 選擇備份任務、還原任務或複製任務,以查看您的任務清單。

  4. 搜尋並按一下您的任務 ID 來檢視詳細的任務狀態。

檢視保存庫中的所有復原點:

  1. 在 https://https://console.aws.amazon.com/backup 開啟 AWS Backup 主控台。

  2. 在導覽窗格中,選擇 Backup vaults (備份文件庫)

  3. 搜尋並按一下備份保存庫來檢視保存庫中的所有復原點。

檢視受保護資源的詳細資訊:

  1. 在 https://https://console.aws.amazon.com/backup 開啟 AWS Backup 主控台。

  2. 在導覽窗格中,選擇 Protected resources (受保護的資源)

  3. 您也可以依資源類型進行篩選,以檢視該資源類型的所有備份。

使用 AWS CLI 搭配 SAP HANA 資料庫 AWS Backup

Backup 主控台中的每個動作都有對應的 API 呼叫。

若要以程式設計方式設定和管理 AWS Backup 及其資源,請使用 API 呼叫StartBackupJob來備份 EC2 執行個體上的 SAP HANA 資料庫。

使用 start-backup-job 作為 CLI 命令。

對 SAP HANA 資料庫的備份進行故障診斷

如果您在工作流程期間遇到錯誤,請參閱下列範例錯誤和建議的解決方法:

Python 先決條件

  • 錯誤:自 SSM for SAP 以來與 Python 版本相關的 Zypper 錯誤,且 AWS Backup 需要 Python 3.6,但預設 SUSE 12 SP5 支援 Python 3.4。

    解決方案:執行下列步驟,在 SUSE12 SP5 上安裝多個版本的 Python:

    1. 執行 update-alternatives 命令,在 '/usr/local/bin/' 中建立 Python 3 的符號連結,而不是直接使用 '/usr/bin/python3'。此命令會將 Python 3.4 設定為預設版本。命令為: # sudo update-alternatives —install /usr/local/bin/python3 python3 /usr/bin/python3.4 5

    2. 執行下列命令,將 Python 3.6 新增至替代組態: # sudo update-alternatives —install /usr/local/bin/python3 python3 /usr/bin/python3.6 2

    3. 執行下列命令,將替代組態變更為 Python 3.6: # sudo update-alternatives —config python3

      應顯示下列輸出:

      There are 2 choices for the alternative python3 (providing /usr/local/bin/python3). Selection Path Priority Status * 0 /usr/bin/python3.4 5 auto mode 1 /usr/bin/python3.4 5 manual mode 2 /usr/bin/python3.6 2 manual mode Press enter to keep the current choice[*], or type selection number:
    4. 輸入對應至 Python 3.6 的數字。

    5. 檢查 Python 版本並確認正在使用 Python 3.6。

    6. (選用,但建議使用) 驗證 Zypper 命令是否如預期般運作。

Amazon EC2 Systems Manager for SAP 探索和註冊

  • 錯誤:SSM for SAP 因封鎖存取 和 SSM 的公有端點,而無法探索工作負載。 AWS Secrets Manager

    解決方法:測試端點是否可從 SAP HANA 資料庫存取。如果無法連線,您可以為 AWS Secrets Manager 建立 Amazon VPC 端點,並為 SAP 建立 SSM。

    1. 透過執行下列命令,測試從 Amazon EC2 主機存取 HANA 資料庫的 Secrets Manager:aws secretsmanager get-secret-value —secret-id hanaeccsbx_hbx_database_awsbkp。如果命令無法傳回值,防火牆會封鎖對 Secrets Manager 服務端點的存取。日誌會在「從 Secrets Manager 擷取秘密」的步驟停止。

    2. 執行命令 來測試 SSM for SAP aws ssm-sap list-registration 端點的連線能力。如果命令無法傳回值,防火牆會封鎖對 SSM for SAP 端點的存取。

      錯誤範例:Connection was closed before we received a valid response from endpoint URL: “https://ssm-sap.us-west-2.amazonaws.com/register-application"

    如果無法連線端點,有兩個選項可以繼續。

    • 開啟防火牆連接埠,以允許存取 Secrets Manager 的公有服務端點和 SAP 的 SSM;或

    • 建立 Secrets Manager 的 VPC 端點和 SAP 的 SSM,然後:

      • 確保已啟用 DNSSupport 和 DNSHostname 的 Amazon VPC。

      • 確保您的 VPC 端點已啟用允許私有 DNS 名稱。

      • 如果 SSM for SAP 探索成功完成,日誌會顯示主機已遭探索。

  • Error: AWS Backup 和 Backint 連線因服務公有端點的 AWS Backup 存取遭到封鎖而失敗。 aws-backint-agent.log可能會顯示與此相似的錯誤: time="2024-01-03T11:39:15-08:00" level=error msg="Storage configuration validation failed: missing backup data plane Id"level=fatal msg="Error performing backup missing backup data plane Id。此外, AWS Backup 主控台可以顯示 Fatal Error: An internal error occured.

    解決方案:開啟防火牆連接埠以允許存取公有服務端點 (HTTPS)。使用此選項後,DNS 將透過公有 IP 地址解析對 AWS 服務的請求。

  • 錯誤:SSM for SAP 註冊失敗,因為 HANA 密碼包含特殊字元。範例錯誤可能包括使用 hdbsql 測試連線Error connecting to database HBX/HBX when validating its credentials.,或在測試連線Discovery failed because credentials for HBX/SYSTEMDB either not provided or cannot be validated.之後,使用 systemdb和 ,tenantdb該連線是從 HANA 資料庫 Amazon EC2 執行個體測試。

    在 任務頁面上的 AWS Backup主控台中,備份任務詳細資訊可以顯示狀態為 FAILED,並顯示錯誤 Miscellaneous: b’* 10: authentication failed SQLSTATE: 28000\n’

    解決方案:確保您的密碼沒有特殊字元,例如 $。

  • 錯誤: b’* 447: backup could not be completed: [110507] Backint exited with exit code 1 instead of 0. console output: time...

    解決方案:SAP HANA 的 AWS BackInt 代理程式安裝可能尚未成功完成。重試程序,在您的 SAP 應用程式伺服器上部署 AWS Backint AgentAmazon EC2 Systems Manager Agent

  • 錯誤:主控台在註冊後與日誌檔案不相符。

    探索日誌會顯示嘗試連線至 HANA 資料庫時失敗的註冊,因為密碼包含特殊字元,但 SSM for SAP Application Manager for SAP 主控台會顯示成功註冊。 不會確認註冊成功。如果主控台顯示成功註冊,但日誌未成功,則備份將會失敗。

    確認註冊狀態:

    1. 登入 SSM 主控台

    2. 從左側導覽選取執行命令

    3. 在文字欄位命令歷史記錄下,輸入 Instance ID:Equal:,其值與您用於註冊的執行個體相同。這將篩選命令歷史記錄。

    4. 使用命令 ID 欄來尋找狀態為 的命令Failed。然後,尋找 AWSSystemsManagerSAP-Discovery 的文件名稱。

    5. 在 中 AWS CLI,執行命令 aws ssm-sap register-application status。如果傳回的值顯示 Error,表示註冊失敗。

    解決方案:確保您的 HANA 密碼沒有特殊字元 (例如 "$")。

建立 SAP HANA 資料庫的備份

  • Error: AWS Backup 主控台會在建立 SystemDB 或 TenantDB 的隨需備份時顯示「嚴重錯誤」訊息。這是因為無法存取公有端點。這是因為用戶端防火牆封鎖對此端點的存取。

    aws-backint-agent.log 可以顯示錯誤,例如 level=error msg="Storage configuration validation failed: missing backup data plane Id"level=fatal msg="Error performing backup missing backup data plane Id."

    解決方案:開放防火牆存取公有端點 。

  • 錯誤:Database cannot be backed up while it is stopped

    解決方法:確定要備份的資料庫處於作用中狀態。只有當資料庫在線上時,才能備份資料庫資料和日誌。

  • 錯誤: Getting backup metadata failed. Check the SSM document execution for more details.

    解決方法:確定要備份的資料庫處於作用中狀態。只有當資料庫在線上時,才能備份資料庫資料和日誌。

監控備份日誌

  • 錯誤: Encountered an issue with log backups, please check SAP HANA for details.

    解決方案:檢查 SAP HANA,確保日誌備份 AWS Backup 是從 SAP HANA 傳送至 。

  • 錯誤: One or more log backup attempts failed for recovery point.

    解決方法:請檢查 SAP HANA 了解詳情。確保日誌備份 AWS Backup 是從 SAP HANA 傳送至 。

  • 錯誤: Unable to determine the status of log backups for recovery point.

    解決方法:請檢查 SAP HANA 了解詳情。確保日誌備份 AWS Backup 是從 SAP HANA 傳送至 。

  • 錯誤:Log backups for recovery point %s were interrupted due to a restore operation on the database.

    解決方法:等待還原任務完成。日誌備份應該會繼續進行。

使用 時的 SAP HANA 術語詞彙表 AWS Backup

資料備份類型:SAP HANA 支援兩種類型的資料備份:完整和 INC (增量)。 AWS Backup 最佳化每個備份操作期間使用的類型。

目錄備份:SAP HANA 會維護自己的資訊清單,稱為 catalog. AWS Backup interacts with this catalog。每個新備份都會在目錄中建立一個項目。

連續日誌備份 (交易日誌):SAP HANA 會追蹤自最近一次備份以來的所有交易,以便執行時間點復原 (PITR) 功能。

系統複製:一種還原任務,其中還原目標資料庫與建立復原點的來源資料庫不同。

破壞性還原:破壞性還原是一種還原任務類型,還原的資料庫會在此期間刪除或覆寫來源或現有資料庫。

完整:完整備份是完整資料庫的備份。

INC:增量備份是自上次備份以來對 SAP HANA 資料庫所做之所有變更的備份。

AWS Backup EC2 執行個體版本備註上的 SAP HANA 資料庫支援

目前不支援特定功能:

  • 連續備份 (使用交易日誌) 無法複製到其他區域或帳戶。快照備份可以從完整備份複製到支援的區域和帳戶。

  • 目前不支援 Backup Audit Manager 和報告。

  • 支援的 服務 AWS 區域 包含 Amazon EC2 執行個體上目前支援的 SAP HANA 資料庫備份區域。