在 Azure VM 上备份 SAP HANA 横向扩展数据库(预览版)

SAP HANA 数据库是关键工作负荷,要求较低的恢复点目标 (RPO) 和长期保留。 本文介绍如何通过 Azure 门户使用 Azure 备份,将运行在 Azure 虚拟机(VM)上的采用横向扩展拓扑的 SAP HANA 数据库备份到 Azure 备份恢复服务保管库。

在扩展配置中,单个 SAP HANA 系统分布在多个节点上。 扩展主节点托管系统数据库,工作节点托管租户数据库及其他服务。 Azure 备份 在扩展系统中的所有节点之间提供统一的备份链,因此你不需要节点级管理。

若要了解支持的 SAP HANA 数据库备份和还原方案、区域可用性和限制,请参阅 支持矩阵。 有关常见问题,请参阅 常见问题

重要概念

  • 横向扩展主节点:运行 HANA 系统数据库的 VM。
  • 工作节点:扩展系统中托管租户数据库和服务但不运行主动系统数据库的其他虚拟机。
  • 虚拟主机名:一个虚拟网络名称,自动解析到扩展主节点(使用该名称代替物理主机名)。

先决条件

在你备份Azure虚拟机上的SAP HANA扩展数据库之前,请确保你:

  • 确定或创建恢复服务保管库,其区域和订阅必须与 HANA 横向扩展系统中的所有虚拟机相同。
  • 确保所有虚拟机(主节点和工作节点)都能连接到互联网以便与Azure通信。
  • 在你的扩展系统中 的所有虚拟机 (包括主节点和工作节点)上运行扩展预注册脚本。 请 从这里下载最新的预注册稿。
  • 使用一个所有节点间相同的唯一扩展标识符(SUV)(SAP 推荐使用字母数字值)。
  • 使用系统数据库端口号(通常为 3<instance-number>13,例如对于实例 00,则为 30013)。
  • 对于 Azure 资源管理器 VM,请确保 SAP HANA 服务器 VM 名称和资源组名称的组合长度不超过 84 个字符,而对于经典 VM,则不超过 77 个字符。 这一限制存在是因为服务保留了一些字符。

创建恢复服务保管库

恢复服务保管库是一个管理实体,用于存储一段时间内创建的恢复点。 它提供用于执行备份相关作的接口。 这些操作包括按需备份、执行还原和创建备份策略。

若要创建恢复服务保管库,请执行以下操作:

  1. 登录到 Azure 门户

  2. 搜索“备份中心”,然后转到“备份中心”仪表板。

    显示搜索并选择“备份中心”的位置的屏幕截图。

  3. 在“ 概述 ”窗格中,选择“ + 保管库”。

    用于创建恢复服务保管库的按钮的屏幕截图。

  4. 选择“恢复服务保管库”>“继续”。

    屏幕截图显示如何选择“恢复服务”作为保管库类型。

  5. 在“恢复服务保管库”窗格中输入以下值:

    • 订阅:选择要使用的订阅。 如果你仅是一个订阅的成员,则会看到该名称。 如果不确定要使用哪个订阅,请使用默认订阅。 仅当工作或学校帐户与多个 Azure 订阅相关联时,才会显示多个选项。

    • 资源组:使用现有资源组,或创建一个新的资源组。 若要查看订阅中可用资源组的列表,请选择“ 使用现有资源组”。 然后在下拉列表中选择资源。 若要创建新的资源组,请选择“新建”并输入新资源组的名称。 有关资源组的详细信息,请参阅 Azure 资源管理器概述

    • 保管库名称:输入一个易记名称,用于标识此保管库。 该名称在 Azure 订阅中必须是唯一的。 指定的名称应至少包含 2 个字符,最多不超过 50 个字符。 名称必须以字母开头且只能包含字母、数字和连字符。

    • 区域:为保管库选择地理区域。 若要创建保管库来保护任何数据源,该保管库必须位于数据源所在的区域。

      Important

      如果不确定数据源的位置,请关闭该窗口。 在门户中访问你的资源列表。 如果数据源位于多个区域中,请为每个区域创建恢复服务保管库。 先在第一个位置创建保管库,之后再在其他位置创建保管库。 无需指定存储帐户来存储备份数据。 恢复服务保管库和Azure 备份自动处理该步骤。

      显示用于配置恢复服务保管库的字段的屏幕截图。

  6. 提供值后,选择“ 查看 + 创建”。

  7. 要完成恢复服务保管库的创建,请选择“创建”。

    创建恢复服务保管库可能需要一段时间。 可在右上方的“通知”区域监视状态通知。 创建保管库后,它会显示在“恢复服务保管库”的列表中。 如果保管库未出现,请选择刷新

    显示用于刷新备份保管库列表的按钮的屏幕截图。

Azure 备份现在支持不可变保管库,可帮助确保在创建恢复点后,无法根据备份策略在到期之前删除它们。 你可以使不可变性不可逆,以帮助保护备份数据免受各种威胁,包括勒索软件攻击和恶意参与者。 详细了解Azure 备份不可变保管库

使用预注册脚本准备HANA扩展节点进行备份

预注册脚本通过创建必要的数据库用户和用户存储条目,为你的HANA扩展系统做好备份准备。 你必须在横向扩展系统中的所有节点上运行该脚本。

为脚本执行创建一个自定义备份用户

仅在主节点上,在HANA系统中创建自定义备份用户:

  1. 作为系统用户连接到HANA数据库。

    hdbsql -t -U SYSTEMKEY
    
  2. 运行以下SQL查询以创建备份用户:

    CREATE USER AZUREWLBACKUPHANAUSER PASSWORD "<password>" NO FORCE_FIRST_PASSWORD_CHANGE
    ALTER USER AZUREWLBACKUPHANAUSER DISABLE PASSWORD LIFETIME
    ALTER USER AZUREWLBACKUPHANAUSER RESET CONNECT ATTEMPTS
    ALTER USER AZUREWLBACKUPHANAUSER ACTIVATE USER NOW
    

    <password> 替换为用于备份操作的安全密码。

在每个节点上设置用户存储条目

要设置所需的用户存储条目,请在扩展系统中的 每个节点 上使用虚拟主机名(或主节点主机名)和主节点的系统数据库端口执行以下命令。

注释

如果你的扩展系统在主节点使用虚拟主机名,请在以下命令中使用该虚拟主机名。 否则,使用主节点的物理主机名。

  1. 创建一个 SYSTEMKEY 条目:

    hdbuserstore SET SYSTEMKEY <primary-hostname>:<system-db-port> SYSTEM <password>
    

    Example:

    hdbuserstore SET SYSTEMKEY jgaikjpeso1-m1:30013 SYSTEM MyPassword123
    

    Where:

    • <primary-hostname>: 扩展主节点的虚拟或物理主机名
    • <system-db-port>: 系统数据库端口(例如, 30013 实例 00)
    • <password>:系统数据库密码
  2. 在每个节点创建备份密钥条目:

    hdbuserstore SET AZUREWLBACKUPHANAUSER <primary-hostname>:<system-db-port>@SYSTEMDB AZUREWLBACKUPHANAUSER "<backup-password>"
    

    Example:

    hdbuserstore SET AZUREWLBACKUPHANAUSER jgaikjpeso1-m1:30013@SYSTEMDB AZUREWLBACKUPHANAUSER "MyBackupPassword123"
    

    使用你为主节点上的 AZUREWLBACKUPHANAUSER 数据库用户创建的相同密码。

在所有节点上运行预注册脚本

下载扩展预注册脚本,并作为根用户在扩展系统中的每个节点运行。

./msawb-plugin-config-com-sap-hana-scale-out.sh -a --sid <instance-name> -n <instance-number> --system-key SYSTEMKEY -suv <scale-out-unique-id> -p <system-db-port> -bk AZUREWLBACKUPHANAUSER

Example:

./msawb-plugin-config-com-sap-hana-scale-out.sh -a --sid HN1 -n 00 --system-key SYSTEMKEY -suv hn1Scaleoutysuid1 -p 30013 -bk AZUREWLBACKUPHANAUSER

Where:

  • <instance-name>:SAP HANA系统标识符(SID),例如:HN1
  • <instance-number>: 实例编号,例如 00
  • <scale-out-unique-id>:用于扩展系统的唯一字母数字标识符(所有节点相同)
  • <system-db-port>: 系统数据库端口号,例如 30013
  • SYSTEMKEY:hdbuserstore 中系统密钥条目的名称(按原样使用)
  • AZUREWLBACKUPHANAUSER:hdbuserstore 中备份密钥条目的名称(按原样使用)

注册虚拟机并发现数据库

要注册虚拟机并发现每个扩展系统节点的数据库,请按照以下步骤操作:

  1. Azure门户中,转到备份中心,然后选择“+备份”。

  2. 在“开始:配置备份”窗格中,选择“数据源类型”作为Azure VM 中的SAP HANA

  3. “开始:配置备份 ”面板中,选择 “选择保险库 ”以选择恢复服务保险库,然后选择“ 继续”。

  4. 对于你扩展系统中的每个虚拟机(主节点和工作节点):

    1. 选择 添加 以注册虚拟机。

    2. “注册虚拟机 ”面板中,选择虚拟机,然后选择 注册

    3. 虚拟机注册后,选择“ 发现数据库” 以发现该虚拟机上的HANA数据库。

注释

发现过程会在每个节点部署 Azure 备份 工作负载扩展。 请等待几分钟,以便每个节点上的发现过程完成。

为横向扩展系统配置备份

在你注册所有节点并发现数据库后,为你的扩展系统配置备份保护。

  1. Azure 门户 中,转到 备份中心,然后打开之前发现节点时所用的同一恢复服务保管库。

  2. 备份目标 面板中,选择 配置备份

  3. 选择备份项目中,选择HANA扩展系统。 系统表现为代表所有节点的单一逻辑单元。

  4. 备份策略中,选择已有的备份策略或创建新的。 对于横向扩展系统,请使用以下设置:

    • 全面备份:每周一次
    • 差分备份:每日
    • 增量备份:一天多次(根据需要)
    • 日志备份:每15分钟一次(至少)

    注释

    对于扩展系统,Azure 备份 会自动协调所有节点的备份。 你不需要为每个节点配置备份。

  5. 查看你的选择,然后选择 启用备份

启用备份后,Azure 备份 会管理扩展系统中所有节点的备份计划。

运行按需备份

初始计划备份完成后,您可以按照以下步骤从Azure门户运行按需全备份:

  1. 在 Azure 门户中,打开恢复服务保管库。

  2. 受保护项目中,选择备份项目,然后在 Azure VM 中选择 SAP HANA

  3. 选择你的扩展型HANA系统。

  4. “备份项目 ”面板中,选择 “立即备份”。

  5. 选择备份类型(完整、差分或增量),然后选择 确定 触发备份。

一旦初始完整备份完成,HANA备份引擎将根据您的策略自动按计划触发日志备份。

监控和管理备份

有关监控备份作业、管理备份配置以及停止扩展HANA系统的保护,请参见“管理由Azure 备份备份的SAP HANA数据库

后续步骤