备份 Azure VM 上的 SAP HANA 系统复制数据库
SAP HANA 数据库是关键工作负荷,要求较低的恢复点目标 (RPO) 和长期保留。 本文介绍如何使用 Azure 备份将 Azure 虚拟机 (VM) 上运行的 SAP HANA 数据库备份到 Azure 备份恢复服务保管库。
还可以将 Azure VM(独立)上的 SAP HANA 数据库的保护切换到 HSR。 了解详细信息。
注意
- 目前不支持“HSR + 灾难恢复”方案,因为存在 VM 和保管库须在同一区域中的限制。 若要启用位于不同区域中的第三个节点的备份操作,你需要在作为独立节点的一个不同保管库中配置备份。
- 有关支持的配置和方案的详细信息,请参阅 SAP HANA 备份支持矩阵。
先决条件
在备份 Azure VM 上的 SAP HANA 系统复制数据库前,请确保:
- 在 HANA 系统复制 (HSR) 数据库的两个 VM/节点所在的同一区域和订阅中标识或创建一个恢复服务保管库。
- 允许从每个 VM/节点连接到 Internet,以便与 Azure 通信。
- 在属于 HANA 系统复制 (HSR) 的 VM 或节点上运行预注册脚本。 可以从此处下载最新的预注册脚本。 也可以从“恢复服务保管库”>“备份”>“发现 VM 中的 DB”>“启动发现”下的链接中下载预注册脚本。
重要
对于 Azure 资源管理器 VM,请确保 SAP HANA 服务器 VM 名称和资源组名称的组合长度不超过 84 个字符,而对于经典 VM,则不超过 77 个字符。 此限制是因为某些字符由该服务预留。
创建恢复服务保管库
恢复服务保管库是一个管理实体,它会存储一段时间内创建的恢复点,并提供用于执行备份相关操作的接口。 这些操作包括按需备份、执行还原和创建备份策略。
若要创建恢复服务保管库,请执行以下操作:
登录 Azure 门户。
搜索“备份中心”,然后转到“备份中心”仪表板。
在“概述”窗格中选择“保管库”。
选择“恢复服务保管库”>“继续”。
在“恢复服务保管库”窗格中输入以下值:
订阅:选择要使用的订阅。 如果你仅是一个订阅的成员,则会看到该名称。 如果不确定要使用哪个订阅,请使用默认订阅。 仅当工作或学校帐户与多个 Azure 订阅关联时,才会显示多个选项。
资源组:使用现有资源组,或创建一个新的资源组。 若要查看订阅中可用的资源组的列表,请选择“使用现有资源”,然后从下拉列表中选择一个资源。 若要创建新的资源组,请选择“新建”并输入新资源组的名称。 有关资源组的详细信息,请参阅 Azure 资源管理器概述。
保管库名称:输入一个易记名称,用于标识此保管库。 名称对于 Azure 订阅必须是唯一的。 指定的名称应至少包含 2 个字符,最多不超过 50 个字符。 名称必须以字母开头且只能包含字母、数字和连字符。
区域:为保管库选择地理区域。 若要创建保管库来保护任何数据源,该保管库必须位于数据源所在的区域。
重要
如果不确定数据源的位置,请关闭该窗口。 在门户中访问你的资源列表。 如果数据源位于多个区域中,请为每个区域创建恢复服务保管库。 先在第一个位置创建保管库,然后再在其他位置中创建保管库。 无需指定存储帐户即可存储备份数据。 恢复服务保管库和 Azure 备份会自动处理这种情况。
提供值后,选择“查看 + 创建”。
要完成恢复服务保管库的创建,请选择“创建”。
创建恢复服务保管库可能需要一段时间。 可在右上方的“通知”区域监视状态通知。 创建保管库后,它会显示在“恢复服务保管库”的列表中。 如果没有显示保管库,请选择“刷新”。
注意
Azure 备份现在支持不可变保管库,可帮助确保恢复点一旦创建就无法根据备份策略在到期前将其删除。 可以将不可变性设为不可逆转,以最大限度地保护备份数据免受各种威胁,包括勒索软件攻击和恶意行动者。 了解详细信息。
运行注册前脚本
发生故障转移时,会将用户复制到新的主节点,但不会复制 hdbuserstore。 因此,需要在 HSR 设置的所有节点中创建相同的密钥,以便 Azure 备份服务自动连接到任何新的主节点,而无需任何手动干预。
在 HANA 系统中使用以下角色和权限创建自定义备份用户:
角色 权限 说明 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 团队进行修复后,现在可以从公共表接收所需信息。示例:
- hdbsql -t -U SYSTEMKEY CREATE USER USRBKP PASSWORD AzureBackup01 NO FORCE_FIRST_PASSWORD_CHANGE - hdbsql -t -U SYSTEMKEY 'ALTER USER USRBKP DISABLE PASSWORD LIFETIME' - hdbsql -t -U SYSTEMKEY 'ALTER USER USRBKP RESET CONNECT ATTEMPTS' - hdbsql -t -U SYSTEMKEY 'ALTER USER USRBKP ACTIVATE USER NOW' - hdbsql -t -U SYSTEMKEY 'GRANT DATABASE ADMIN TO USRBKP' - hdbsql -t -U SYSTEMKEY 'GRANT CATALOG READ TO USRBKP'
在 hdbuserstore 中为自定义备份用户添加密钥,使 HANA 备份插件能够管理所有操作(数据库查询、还原操作、配置和运行备份)。
示例:
- hdbuserstore set BKPKEY localhost:39013 USRBKP AzureBackup01
将此自定义备份用户密钥作为参数传递给脚本:
-bk CUSTOM_BACKUP_KEY_NAME` or `-backup-key CUSTOM_BACKUP_KEY_NAME
如果此自定义备份密钥的密码过期,则备份和还原操作将失败。
示例:
hdbuserstore set SYSTEMKEY localhost:30013@SYSTEMDB <custom-user> '<some-password>' hdbuserstore set SYSTEMKEY <load balancer host/ip>:30013@SYSTEMDB <custom-user> '<some-password>'
在两个 VM/节点上创建相同的自定义备份用户(具有相同的密码)和密钥(在 hduserstore 中)。
提供唯一的 HSR ID 作为脚本的输入:
-hn HSR_UNIQUE_VALUE
或--hsr-unique-value HSR_Unique_Value
。必须在两个 VM/节点上提供相同的 HSR ID。 此 ID 在保管库中必须是唯一的。 它应该是一个字母数字值,至少包含一个数字、一个小写字母和一个大写字符,并且应该包含 6 到 35 个字符。
示例:
- ./script.sh -sk SYSTEMKEY -bk USRBKP -hn HSRlab001 -p 39013
在辅助节点上运行注册前脚本时,必须将 SDC/MDC 端口指定为输入。 这是因为无法在辅助节点上运行用于标识 SDC/MDC 设置的 SQL 命令。 必须提供端口号作为参数,如下所示:
-p PORT_NUMBER
或-port_number PORT_NUMBER
。- 对于 MDC,请使用格式
3<instancenumber>13
。 - 对于 SDC,请使用格式
3<instancenumber>15
。
示例:
- MDC: ./script.sh -sk SYSTEMKEY -bk USRBKP -hn HSRlab001 -p 39013 - SDC: ./script.sh -sk SYSTEMKEY -bk USRBKP -hn HSRlab001 -p 39015
- 对于 MDC,请使用格式
如果 HANA 安装程序使用专用终结点,请使用
-sn
或--skip-network-checks
参数运行注册前脚本。 注册前脚本成功运行后,继续执行后续步骤。在安装了 HANA 的 VM 中,以 root 用户身份运行 SAP HANA 备份配置脚本(注册前脚本)。 此脚本设置用于备份的 HANA 系统。 有关脚本操作的详细信息,请参阅注册前脚本的功能部分。
HSR 设置没有 HANA 生成的唯一 ID。 因此,需要提供一个唯一 ID,以帮助备份服务将 HSR 的所有节点归为单个数据源。
若要为备份注册数据库,请参阅先决条件和注册前脚本的功能部分。
发现数据库
若要发现 HSR 数据库,请执行以下步骤:
在 Azure 门户中,转到“备份中心”,然后选择“+ 备份”。
选择“Azure VM 中的 SAP HANA”作为数据源类型,选择用于备份的恢复服务保管库,然后选择“继续”。
选择“开始发现”以开始发现保管库区域中不受保护的 Linux VM。
- 在发现后,未受保护的 VM 将显示在门户中,按名称和资源组列出。
- 如果某个 VM 未按预期列出,请检查它是否已在保管库中备份。
- 可能有多个 VM 同名,但它们必须属于不同的资源组。
在“选择虚拟机”窗格的底部,在“在 SAP HANA 虚拟机上运行此脚本以向 Azure 备份服务提供这些权限”中选择下图中所示的链接。
在每个托管要备份的 SAP HANA 数据库的 VM 上运行此脚本。
在“选择虚拟机”窗格中,在 VM 上运行脚本后,选择该 VM,然后选择“发现数据库”。
Azure 备份可发现该 VM 上的所有 SAP HANA 数据库。 在发现期间,Azure 备份将 VM 注册到保管库,并在该 VM 上安装扩展。 它不会在数据库上安装任何代理。
若要查看有关每个已发现 VM 的所有数据库的详细信息,请选择“步骤 1: 在 VM 中发现数据库”部分下的“查看详细信息”。
配置备份
要启用备份,请执行以下步骤:
在“备份目标”窗格上的“步骤 2”中,选择“配置备份”。
在“选择要备份的项”窗格中,选择要保护的所有数据库,然后选择“确定”。
在“备份策略”下拉列表中选择要使用的策略,然后选择“添加”。
创建策略后,在“备份”窗格中选择“启用备份”。
若要跟踪备份配置进度,请转到 Azure 门户中的“通知”。
注意
在“配置系统数据库备份”阶段,需要在主节点上设置此参数 [inifile_checker]/replicate
。 这样就可以将参数从主节点复制到辅助节点或 VM。
创建备份策略
备份策略定义备份计划和备份保留期。
注意
- 策略是在保管库级别创建的。
- 多个保管库可以使用相同的备份策略,但必须向每个保管库应用该备份策略。
- 当你备份 Azure VM 中运行的 SAP HANA 数据库时,Azure 备份不会针对夏令时更改自动进行调整。 请根据需要手动修改策略。
若要配置策略设置,请执行以下步骤:
在“备份策略”窗格上的“策略名称”框中,输入新策略的名称。
在“完整备份”下,对于“备份频率”,请选择“每日”或“每周”。
每日:请选择备份作业必须开始时的小时和时区。
- 你必须运行完整备份。 无法关闭此选项。
- 选择“完整备份”以查看策略。
- 对于每日完整备份,无法创建差异备份。
每周:选择备份作业必须运行时的星期、小时和时区。
在“完整备份策略”窗格中的“保留期范围”下,配置完整备份的保留期设置。
- 默认情况下,选择所有选项。 清除你不想使用的所有保留期范围限制,并根据需要设置限制。
- 任何类型的备份(完整/差异/日志)的最短保留期均为 7 天。
- 恢复点已根据其保留范围标记为保留。 例如,如果选择每日完整备份,则每天只触发一次完整备份。
- 根据每周保持期和设置,将会标记并保留特定日期的备份数据。
选择“确定”以保存策略设置。
选择“差异备份”,以添加差异策略。
在“差异备份策略”中,选择“启用”打开频率和保留控件。
- 每天最多可以触发一次差异备份。
- 差异备份最多可以保留 180 天。 如果需要保留更长时间,必须使用完整备份。
注意
可以选择差异备份或增量备份作为在每日指定时间进行的备份。
在“增量备份策略”窗格中,选择“启用”以打开频率和保留期控件。
- 每天最多可以触发一次增量备份。
- 增量备份最多可以保留 180 天。 如果需要保留更长时间,必须使用完整备份。
选择“确定”保存策略,并返回“备份策略”主菜单。
请选择“日志备份”,以添加事务日志备份策略。
在“日志备份”中,选择“启用”。
无法禁用此选项,因为 SAP HANA 管理所有日志备份。
设置频率和保留期控制。
注意
日志备份流式传输仅在成功完成完整备份之后才开始。
选择“确定”保存策略,并返回“备份策略”主菜单。
备份策略配置完成后,选择“确定”。
所有日志备份将链接到上一个完整备份,以形成恢复链。 完整备份将保留到上次日志备份过期为止。 因此,完整备份具有额外的保留期,以确保所有日志可以得到恢复。
例如,假设你有每周完整备份、每日差异备份和 2 小时日志备份。 所有这些备份都将保留 30 天。 但是,只有在可以进行下一个完整备份后(即 30 + 7 天后),才会删除每周完整备份。
如果每周完整备份发生在 11 月 16 日,则根据保留策略,它应保留到 12 月 16 日。 此完整备份的最后一次日志备份发生在下一次计划完整备份(11 月 22 日)之前。 除非此日志在 12 月 22 日可用,否则不会删除 11 月 16 日的完整备份。 因此,11 月 16 日的完整备份将保留到 12 月 22 日。
运行按需备份
备份根据策略计划运行。 了解如何运行按需备份。
注意
在计划的故障转移之前,请确保 VM/节点已注册到保管库(物理注册和逻辑注册)。 了解详细信息。
在具有 Azure 备份的数据库上运行 SAP HANA 本机客户端备份
可以使用 SAP HANA 本机客户端(而不是 Backint)运行本地文件系统的按需备份。 详细了解如何使用 SAP 本机客户端管理操作。
保护 Azure 备份上的 HSR 节点的方案
现在可以将 Azure VM(独立)上的 SAP HANA 数据库的保护切换到 HSR。 如果你已配置 HSR 并使用 Azure 备份仅保护主节点,则可以修改配置以保护主节点和辅助节点。
从未使用 Azure VM 上的 SAP HANA 数据库备份保护两个独立/HSR 节点
-
注意
将基于 HSR 的属性添加到最新的预注册脚本。
手动或使用任何聚类分析工具(例如Pacemaker)配置 HSR,
如果 HSR 配置已完成,请跳到下一步。
发现并配置这些 VM 的备份。
注意
对于 HSR 部署,受保护的实例成本会计入 HSR 逻辑容器(两个节点 - 主节点和辅助节点)将构成单个 HSR 逻辑容器。
在计划的故障转移之前,请确保两个 VM/节点都已注册到保管库(物理注册和逻辑注册)。
已使用 Azure VM 上的 SAP HANA 数据库备份保护两个独立 VM/一个独立 VM
要停止备份并保留数据,请转到“保管库>”“备份项>”“Azure VM 中的 SAP HANA”,然后选择“查看详细信息>”“停止备份>”“保留备份数据>”“停止备份”。
-
注意
将基于 HSR 的属性添加到最新的预注册脚本。
手动或使用任何聚类分析工具(例如 Pacemaker)配置 HSR。
发现 VM 并在 HSR 逻辑实例上配置备份。
注意
对于 HSR 部署,受保护的实例成本将计入 HSR 逻辑容器(两个节点 - 主节点和辅助节点)将构成单个 HSR 逻辑容器。
在计划的故障转移之前,请确保两个 VM/节点都已注册到保管库(物理注册和逻辑注册)。