教學課程:在 Azure VM 中備份 SAP HANA 資料庫

本教學課程說明如何將 Azure VM 上執行的 SAP HANA 資料庫備份至 Azure 備份 復原服務保存庫。 在本文章中,您將了解如何:

  • 建立及設定保存庫
  • 探索資料庫
  • 設定備份

以下是 我們目前支援的所有案例。

必要條件

設定備份之前,請確定您執行下列動作:

  • 識別或建立 與執行 SAP HANA 之 VM 相同的區域和訂用帳戶中的復原服務保存庫
  • 允許從 VM 連線到因特網,以便連線到 Azure,如設定網路連線一節中所述
  • 請確定 AZURE Resource Manager 的 SAP HANA 伺服器 VM 名稱和資源組名的合併長度不會超過 84 個字元(ARM_ VM 和傳統 VM 的 77 個字元)。 這項限制是因為服務會保留某些字元。
  • 金鑰應該存在於符合下列準則的 hdbuserstore 中:
    • 它應該出現在預設 hdbuserstore 中。 預設值是 <sid>adm 安裝 SAP HANA 的帳戶。
    • 針對 MDC,金鑰應該指向 NAMESERVERSQL 連接埠。 如果是 SDC,它應該指向 INDEXSERVER 的 SQL 埠
    • 它應該有認證來新增和刪除使用者
    • 請注意,在執行預先註冊腳本成功之後,可以刪除此密鑰
  • 您也可以選擇為 hdbuserstore現有的 HANA SYSTSEM 使用者建立金鑰,而不是建立如上一個步驟所列的自定義密鑰。
  • 在安裝 HANA 的虛擬機中,以根使用者身分執行 SAP HANA 備份組態腳本(預先註冊腳本)。 此腳本 會讓 HANA 系統準備好進行備份,並要求您在上述步驟中建立的金鑰必須傳遞為輸入。 若要瞭解如何將此輸入當做參數傳遞至腳本,請參閱 預先註冊腳本執行的一 節。 它也會詳細說明預先註冊腳本的功能。
  • 如果您的 HANA 安裝程式使用私人端點,請使用 -sn 或 --skip-network-checks 參數執行預先註冊腳本。

注意

預先註冊腳本會針對 RHEL (7.4、7.6 和 7.7) 和 unixODBC for RHEL 8.1 上執行的 SAP HANA 工作負載安裝 compat-unixODBC234此套件位於適用於 SAP HANA 的 RHEL(適用於 RHEL 7 伺服器)SAP 解決方案的更新服務 (RPM) 存放庫中。 針對 Azure Marketplace RHEL 映射,存放庫會是 rhui-rhel-sap-hana-for-rhel-7-server-rhui-e4s-rpms

了解備份和還原輸送量效能

透過 Backint 提供的 SAP HANA Azure VM 內部備份 (記錄和非記錄),會串流至 Azure 復原服務保存庫 (內部使用 Azure 儲存體 Blob),因此請務必了解此串流方法。

HANA 的 Backint 元件可提供「管道」(要讀取的管道,以及要寫入的管道),並連線到資料庫檔案所在的基礎磁碟,然後由 Azure 備份服務讀取,並傳輸至 Azure 復原服務保存庫 (此為遠端 Azure 儲存體帳戶)。 除了 Backint 原生的驗證檢查之外,Azure 備份服務也會執行總和檢查碼來驗證串流。 這些驗證可確保 Azure 復原服務保存庫中的資料確實可靠且可復原。

因為串流主要涉及磁碟,所以您必須了解讀取的磁碟效能和網路效能以傳輸備份資料,從而量測備份和還原效能。 如需深入瞭解 Azure VM 中的磁碟/網路輸送量和效能,請參閱這篇文章。 這些也適用於備份和還原效能。

Azure 備份 服務會嘗試針對非記錄備份達到 ~420 MBps(例如完整、差異和增量),以及針對 HANA 進行記錄備份最多 100 MBps。 如前所述,這些不保證速度,並取決於下列因素:

  • VM 的未快取磁碟輸送量上限 – 從數據或記錄區域讀取。
  • 基礎磁碟類型和其輸送量 – 從數據或記錄區域讀取。
  • VM 的最大網路輸送量 – 寫入復原服務保存庫。
  • 如果 VNET 有 NVA/防火牆,則它是網路輸送量
  • 如果 Azure NetApp Files 上的數據/記錄 – 同時讀取 ANF 和寫入保存庫會取用 VM 的網路。

重要

在較小的 VM 中,未快取的磁碟輸送量非常接近或小於 400 MBps,您可能會擔心備份服務會取用整個磁碟 IOPS,這可能會影響 SAP HANA 與磁碟讀取/寫入相關的作業。 在此情況下,如果您想要節流或將備份服務耗用量限製為上限,您可以參閱下一節。

限制備份輸送量效能

如果您想要將備份服務磁碟 IOPS 耗用量節流至最大值,請執行下列步驟。

  1. 移至 “opt/msawb/bin” 資料夾

  2. 建立名為 「Extension 設定Overrides.JSON」 的新 JSON 檔案

  3. 將索引鍵/值組新增至 JSON 檔案,如下所示:

    {
    "MaxUsableVMThroughputInMBPS": 120
    }
    
  4. 變更檔案的許可權和擁有權,如下所示:

    chmod 750 ExtensionSettingsOverrides.json
    chown root:msawb ExtensionSettingsOverrides.json
    
  5. 不需要重新啟動任何服務。 Azure 備份 服務會嘗試限制此檔案中所述的輸送量效能。

注意

如果未套用變更,請重新啟動資料庫。

預先註冊腳本的功能

執行預先註冊文稿會執行下列函式:

  • 根據Linux發行版,腳本會安裝或更新 Azure 備份 代理程式所需的任何必要套件。
  • 它會對 Azure 備份 伺服器和相依服務執行輸出網路連線檢查,例如 Microsoft Entra ID 和 Azure 儲存體。
  • 它會使用必要條件中所述的自定義使用者密鑰或系統使用者密鑰,登入您的 HANA 系統。 這可用來在 HANA 系統中建立備份使用者 (AZUREWLBACKUPHANAUSER),並在註冊前腳本成功執行之後刪除使用者密鑰。 請注意,系統使用者密鑰不得刪除
  • 它會檢查並警告 /opt/msawb 資料夾是否放在根數據分割中,而根數據分割的大小為 2 GB。 腳本建議您將根分割區大小增加到 4 GB,或將 /opt/msawb 資料夾移至具有空間以成長到大小上限為 4 GB 的不同位置。 請注意,如果您將 /opt/msawb 資料夾放在 2 GB 大小的根分割區中,可能會導致根分割區已滿,並導致備份失敗。
  • AZUREWLBACKUPHANAUSER 已獲指派下列必要角色和許可權:
    • 針對 MDC:資料庫管理員和備份管理員 (從 HANA 2.0 SPS05 開始):在還原期間建立新的資料庫。
    • 針對 SDC:備份管理員:在還原期間建立新的資料庫。
    • 目錄讀取:讀取備份目錄。
    • SAP_INTERNAL_HANA_SUPPORT:存取數個私人資料表。 只有低於 HANA 2.0 SPS04 Rev 46 的 SDC 和 MDC 版本才需要。 HANA 2.0 SPS04 Rev 46 和更新版本不需要此專案,因為我們現在已透過 HANA 小組的修正,從公用數據表取得所需的資訊。
  • 腳本會將金鑰新增至 適用於 HANA 備份外掛程式的 AZUREWLBACKUPHANAUSER 的 hdbuserstore ,以處理所有作業(資料庫查詢、還原作業、設定和執行備份)。
  • 或者,您可以選擇建立自己的自定義備份使用者。 請確定此使用者已獲指派下列必要角色和權限:
    • 針對 MDC:資料庫管理員和備份管理員 (從 HANA 2.0 SPS05 開始):在還原期間建立新的資料庫。
    • 針對 SDC:備份管理員:在還原期間建立新的資料庫。
    • 目錄讀取:讀取備份目錄。
    • SAP_INTERNAL_HANA_SUPPORT:存取數個私人資料表。 只有低於 HANA 2.0 SPS04 Rev 46 的 SDC 和 MDC 版本才需要。 HANA 2.0 SPS04 Rev 46 和更新版本不需要此專案,因為我們現在已透過 HANA 小組的修正從公用數據表取得所需的資訊。
  • 然後,為 HANA 備份外掛程式的自訂備份使用者新增密鑰至 hdbuserstore,以處理所有作業(資料庫查詢、還原作業、設定和執行備份)。 將此自訂備份使用者金鑰傳遞至文稿做為參數: -bk CUSTOM_BACKUP_KEY_NAME-backup-key CUSTOM_BACKUP_KEY_NAME請注意,此自定義備份密鑰的密碼到期可能會導致備份和還原失敗。
  • 如果您的 HANA <sid>adm 使用者是 Active Directory (AD) 使用者,請在 AD 中建立 msawb 群組, <sid>adm 並將使用者新增至此群組。 您現在必須使用參數,在預先註冊腳本中指定 <sid>adm 為 AD 使用者: -ad <SID>_ADM_USER or --ad-user <SID>_ADM_USER

注意

若要瞭解文稿接受的其他參數,請使用 命令 bash msawb-plugin-config-com-sap-hana.sh --help

若要確認金鑰建立,請使用 SIDADM 認證在 HANA 計算機上執行 HDBSQL 命令:

hdbuserstore list

命令輸出應該會顯示 {SID}{DBNAME} 金鑰,且用戶顯示為 AZUREWLBACKUPHANAUSER。

注意

請確定您在 底下 /usr/sap/{SID}/home/.hdb/有一組唯一的 SSFS 檔案。 此路徑中應該只有一個資料夾。

以下是完成預先註冊腳本執行所需的步驟摘要。 請注意,在此流程中,我們會提供 SYSTEM 使用者金鑰作為預先註冊腳本的輸入參數。

負責人 From 要執行的項目 註解
<sid>adm (OS) HANA OS 閱讀教學課程並下載預先註冊腳本。 教學課程: 在 Azure VM 中備份 HANA 資料庫

下載預先註冊腳本
<sid>adm (OS) HANA OS 啟動 HANA (HDB start) 設定之前,請確定 HANA 已啟動並執行。
<sid>adm (OS) HANA OS 執行命令:
hdbuserstore Set
hdbuserstore Set SYSTEM <hostname>:3<Instance#>13 SYSTEM <password>

注意
請確定您使用主機名,而不是IP位址/FQDN。
<sid>adm (OS) HANA OS 執行 命令:
hdbuserstore List
檢查結果是否包含預設存放區,如下所示:

KEY SYSTEM
ENV : <hostname>:3<Instance#>13
USER : SYSTEM
根目錄 (OS) HANA OS 執行 Azure 備份 HANA 預先註冊腳本 ./msawb-plugin-config-com-sap-hana.sh -a --sid <SID> -n <Instance#> --system-key SYSTEM
<sid>adm (OS) HANA OS 執行命令:
hdbuserstore List
檢查結果是否包含新的行,如下所示:

KEY AZUREWLBACKUPHANAUSER
ENV : localhost: 3<Instance#>13
USER: AZUREWLBACKUPHANAUSER
Azure 參與者 Azure 入口網站 設定 NSG、NVA、Azure 防火牆 等等,以允許輸出流量 Azure 備份 服務、Microsoft Entra ID 和 Azure 儲存體。 設定網路連線能力
Azure 參與者 Azure 入口網站 建立或開啟復原服務保存庫,然後選取 [HANA 備份]。 尋找要備份的所有目標 HANA VM。
Azure 參與者 Azure 入口網站 探索 HANA 資料庫並設定備份原則。 例如:

每周備份:每個星期日上午 2:00,保留每周 12 周,每月 12 個月,每年 3 年
差異或累加:星期日除外,每天除外
記錄:每 15 分鐘保留 35 天
Azure 參與者 Azure 入口網站 復原服務保存庫 – 備份專案 – SAP HANA 檢查備份作業 (Azure 工作負載)。
HANA 管理員 HANA Studio 檢查備份控制台、備份目錄、backup.log、backint.log和globa.ini SYSTEMDB 和租用戶資料庫。

成功執行預先註冊腳本並驗證之後,您可以繼續檢查連線需求,然後從復原服務保存庫設定備份

建立復原服務保存庫

復原服務保存庫是一種管理實體,可儲存一段時間建立的恢復點,並提供執行備份相關作業的介面。 這些作業包括進行隨選備份、執行還原,以及建立備份原則。

若要建立復原服務保存庫:

  1. 登入 Azure 入口網站

  2. 搜尋 備份中心,然後移至 備份中心 儀錶板。

    Screenshot that shows where to search for and select 'Backup center'.

  3. 在 [概 觀] 窗格中,選取 [保存庫]。

    Screenshot of the button for creating a Recovery Services vault.

  4. 選取 [復原服務保存庫>繼續]。

    Screenshot that shows where to select Recovery Services as the vault type.

  5. 在 [ 復原服務保存庫 ] 窗格中,輸入下列值:

    • 用帳戶:選取要使用的訂用帳戶。 如果您只是一個訂用帳戶的成員,您會看到該名稱。 如果您不確定要使用哪個訂用帳戶,請使用預設訂用帳戶。 只有在您的公司或學校帳戶與多個 Azure 訂用帳戶相關聯時,才會有多個選擇。

    • 資源群組:使用現有的資源群組或建立新的資源群組。 若要檢視訂用帳戶中可用的資源群組清單,請選取 [使用現有的],然後在下拉式清單中選取資源。 若要建立新的資源群組,請選取 [新建],然後輸入名稱。 如需資源群組的詳細資訊,請參閱 Azure Resource Manager 概觀

    • 保存庫名稱:輸入易記名稱以識別保存庫。 這個名稱對 Azure 訂用帳戶必須是唯一的。 指定至少 2 但不超過 50 個字元的名稱。 名稱必須以字母開頭,且只包含字母、數位和連字元。

    • 區域:選取保存庫的地理區域。 若要建立保存庫以協助保護任何數據源,保存庫 必須 位於與數據源相同的區域中。

      重要

      如果您不確定資料來源的位置,請關閉視窗。 移至入口網站中的資源清單。 如果您在多個區域中有資料來源,請為每個區域建立一個復原服務保存庫。 在您在另一個位置建立保存庫之前,請先在第一個位置建立保存庫。 不需要指定記憶體帳戶來儲存備份數據。 復原服務保存庫和 Azure 備份 會自動處理。

    Screenshot that shows fields for configuring a Recovery Services vault.

  6. 提供值之後,請選取 [ 檢閱 + 建立]。

  7. 若要完成建立復原服務保存庫,請選取 [ 建立]。

    建立復原服務保存庫可能需要一點時間。 監視右上方 [ 通知 ] 區域中的狀態通知。 建立保存庫之後,它會出現在復原服務保存庫清單中。 如果保存庫未出現,請選取 [ 重新整理]。

    Screenshot that shows the button for refreshing the list of backup vaults.

注意

Azure 備份 現在支援固定保存庫,可協助您確保建立的恢復點在到期前無法根據備份原則刪除。 您可以讓不變性無法復原,以從各種威脅中對備份數據進行最大保護,包括勒索軟體攻擊和惡意執行者。 深入了解

復原服務保存庫現在已建立。

啟用跨區域還原

在復原服務保存庫中,您可以啟用跨區域還原。 瞭解如何 開啟跨區域還原

深入瞭解 跨區域還原。

探索資料庫

  1. 在 Azure 入口網站 中,移至 [備份中心],然後按兩下 [+備份]。

    Screenshot showing to start checking for SAP HANA databases.

  2. 選取 [Azure VM 中的 SAP HANA] 作為數據源類型,選取要用於備份的復原服務保存庫,然後按兩下 [繼續]。

    Screenshot showing to select an SAP HANA database in Azure VM.

  3. 選取 [ 開始探索]。 這會起始在保存庫區域中探索未受保護的Linux VM。

    • 探索之後,未受保護的 VM 會出現在入口網站中,依名稱和資源群組列出。
    • 如果 VM 未如預期般列出,請檢查它是否已備份在保存庫中。
    • 多個 VM 可以具有相同的名稱,但它們屬於不同的資源群組。

    Screenshot showing to select Start Discovery.

  4. [選取 虛擬機器] 中,選取連結以下載提供 Azure 備份 服務許可權的腳本,以存取 SAP HANA VM 以進行資料庫探索。

  5. 在裝載您要備份之 SAP HANA 資料庫的每個 VM 上執行腳本。

  6. 在 VM 上執行文稿之後,在 [選取 虛擬機器] 中,選取 VM。 然後選取 [ 探索 DB]。

  7. Azure 備份 探索 VM 上的所有 SAP HANA 資料庫。 在探索期間,Azure 備份 向保存庫註冊 VM,並在 VM 上安裝擴充功能。 資料庫上未安裝任何代理程式。

    Screenshot showing the discovered SAP HANA databases.

設定備份

現在啟用備份。

  1. 在步驟 2 中,選取 [ 設定備份]。

    Screenshot showing to configure Backup.

  2. 在 [ 選取要備份的專案] 中,選取您要保護 >OK的所有資料庫。

    Screenshot showing to select databases to back up.

  3. [備份原則>選擇備份原則] 中,根據下列指示,為資料庫建立新的備份原則。

    Screenshot showing to choose backup policy.

  4. 建立原則之後,請在 [ 備份 ] 功能表上,選取 [ 啟用備份]。

    Screenshot showing how to enable backup.

建立備份原則

備份原則會定義備份的建立時間,以及備份保留的時間長度。

  • 原則會在保存庫層級建立。
  • 多個保存庫可以使用相同的備份原則,但您必須將備份原則套用至每個保存庫。

注意

Azure 備份 備份在 Azure VM 中執行的 SAP HANA 資料庫時,不會自動調整日光節約時間變更。

視需要手動修改原則。

指定原則設定,如下所示:

  1. 在 [ 原則名稱] 中,輸入新原則的名稱。 在此情況下,請輸入 SAPHANA

    Enter name for new policy

  2. [完整備份原則] 中,選取 [ 備份頻率]。 您可以選擇 [每日] 或 [每周]。 在本教學課程中,我們選擇了 每日 備份。

    Select a backup frequency

  3. [保留範圍] 中,設定完整備份的保留設定。

    • 根據預設,會選取所有選項。 清除您不想使用的任何保留範圍限制,並設定您所做的限制。
    • 任何類型的備份(完整/差異/記錄)的最小保留期間為七天。
    • 恢復點會根據其保留範圍標記保留。 例如,如果您選取每日完整備份,則每天只會觸發一次完整備份。
    • 特定日期的備份會根據每周保留範圍和設定來標記和保留。
    • 每月和每年的保留範圍會以類似的方式運作。
  4. 在 [ 完整備份原則 ] 功能表中,選取 [ 確定 ] 以接受設定。

  5. 然後選取 [差異備份 ] 以新增差異原則。

  6. [差異備份原則] 中,選取 [ 啟用 ] 以開啟頻率和保留控件。 我們已在每天上午 2:00 啟用差異備份,保留 30 天。

    Differential backup policy

    注意

    您可以選擇差異或增量做為每日備份,但不能同時選擇兩者。

  7. 在 [增量備份原則] 中,選取 [啟用] 以開啟頻率和保留控件。

    • 您最多可以每天觸發一個增量備份。
    • 增量備份最多可以保留 180 天。 如果您需要較長的保留期,則必須使用完整備份。

    Incremental backup policy

  8. 選取 [ 確定 ] 以儲存原則,並返回主要 備份原則 功能表。

  9. 選取 [記錄備份 ] 以新增事務歷史記錄備份原則,

    • 記錄備份 預設會設定為 [ 啟用]。 這無法停用,因為 SAP HANA 會管理所有記錄備份。
    • 我們已將 2 小時設定為備份排程和 15 天的保留期間。

    Log backup policy

    注意

    記錄備份只會在完成一次成功的完整備份之後開始流動。

  10. 選取 [ 確定 ] 以儲存原則,並返回主要 備份原則 功能表。

  11. 完成定義備份原則之後,請選取 [ 確定]。

您現在已成功為 SAP HANA 資料庫設定備份(s)。

後續步驟