Amazon EC2 实例上的 SAP HANA 数据库备份 - Amazon Backup
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon EC2 实例上的 SAP HANA 数据库备份

注意

支持的服务由 Amazon Web Services 区域包含目前支持的 Amazon EC2 实例上可用 SAP HANA 数据库备份的区域。

Amazon Backup 支持在 Amazon EC2 实例上备份和恢复 SAP HANA 数据库。

使用 SAP HANA 数据库概述 Amazon Backup

除了能够创建备份和还原数据库外, Amazon Backup 与 Amazon EC2 Systems Manager for SAP 集成还可帮助客户识别和标记 SAP HANA 数据库。

Amazon Backup 已与 Amazon Backint Agent 集成,用于执行 SAP HANA 备份和恢复。有关更多信息,请参阅 Amazon Backint

通过以下方式备份 SAP HANA 数据库的先决条件 Amazon Backup

在执行备份和还原活动之前,必须满足以下几个先决条件。请注意,您需要对 SAP HANA 数据库具有管理访问权限,并且需要在 Amazon 账户中创建新 IAM 角色和策略的权限才能执行这些步骤。

Amazon EC2 Systems Manager 完成这些先决条件。

最好只注册每个 HANA 实例一次。多个注册可能导致同一个数据库有多个 ARN。维护单个 ARN 和注册可以简化备份计划的创建和维护,还可以帮助减少计划外的备份重复。

Amazon Backup 控制台中的 SAP HANA 备份操作

设置这些先决条件和 SSM for SAP,即可备份和还原 EC2 上的 SAP HANA 数据库。

选择保护 SAP HANA 资源

Amazon Backup 要用于保护您的 SAP HANA 数据库,必须将 SAP HANA 作为受保护的资源之一开启。要选择加入,请执行以下操作:

  1. 打开 Amazon Backup 控制台,网址为 https://console.aws.amazon.com/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,因为您需要它才能轻松找到备份作业的状态。备份完成后,状态将变为 Completed。备份可能需要几小时的时间。

刷新备份作业列表可查看状态变化。您也可以搜索并单击备份作业 ID 以查看详细作业状态。

持续备份 SAP HANA 数据库

您可以进行连续备份,这可以与 point-in-time 恢复 (PITR) 一起使用(请注意,按需备份会将资源保留在拍摄时的状态;而 PITR 使用连续备份来记录一段时间内的变化)。

使用连续备份,可以还原 EC2 实例上的 SAP HANA 数据库,方法是将其倒回您选择的特定时间,精确到 1 秒(最多回溯 35 天)。连续备份的工作原理是,首先创建资源的完整备份,然后不断备份资源的事务日志。PITR 恢复的工作原理是访问您的完整备份,然后将事务日志重放到您要求恢复的时间。 Amazon Backup

在 Amazon Backup 使用 Amazon Backup 控制台或 API 创建备份计划时,您可以选择连续备份。

使用控制台启用连续备份
  1. 登录并打开 Amazon Backup 控制台 Amazon Web Services Management Console,网址为 https://console.aws.amazon.com/backup

  2. 在导航窗格中,选择备份计划,然后选择创建备份计划

  3. 备份计划下,选择添加备份计划

  4. 备份规则配置部分,选择为支持的资源启用连续备份

禁用 SAP HANA 数据库备份的 PITR(point-in-time恢复)后,日志将继续发送到中, Amazon Backup 直到恢复点到期(状态等于EXPIRED)。您可以更改到 SAP HANA 中的替代日志备份位置,以停止向 Amazon Backup传输日志。

状态为的连续恢复点STOPPED表示连续恢复点已中断;也就是说,从 SAP HANA 传输到 Amazon Backup 的显示数据库增量更改的日志存在间隔。在此时间范围间隙内出现的恢复点状态为 STOPPED.

有关在连续备份(恢复点)的还原作业期间可能遇到的问题,请参阅本指南的 SAP HANA 还原故障排除部分。

查看 SAP HANA 数据库备份

查看备份和还原作业的状态:

  1. 打开 Amazon Backup 控制台,网址为 https://console.aws.amazon.com/backup

  2. 在导航窗格中,选择作业

  3. 选择备份作业、还原作业或复制作业以查看您的作业列表。

  4. 搜索并单击作业 ID 以查看详细作业状态。

查看保管库中的所有恢复点:

  1. 打开 Amazon Backup 控制台,网址为 https://console.aws.amazon.com/backup

  2. 在导航窗格中,选择备份保管库

  3. 搜索并单击备份保管库以查看该保管库中的所有恢复点。

查看受保护资源的详细信息:

  1. 打开 Amazon Backup 控制台,网址为 https://console.aws.amazon.com/backup

  2. 在导航窗格中,选择受保护的资源

  3. 您也可以按资源类型进行筛选,以查看该资源类型的所有备份。

用 Amazon CLI 于 SAP HANA 数据库 Amazon Backup

备份控制台中的每个操作都有相应的 API 调用。

要以编程方式配置 Amazon Backup 和管理其资源,请使用 API 调StartBackupJob用在 EC2 实例上备份 SAP HANA 数据库。

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

对 SAP HANA 数据库的备份进行故障排除

如果您在工作流程中遇到错误,请查阅以下错误示例和建议的解决方案:

Python 必备

  • 错误:自适用于 SAP 的 SSM 以来,Zypper 错误与 Python 版本有关,需要 Amazon Backup Python 3.6 但是 SUSE 12 SP5 默认支持 Python 3.4。

    解决方案:通过执行以下步骤在 SUSE12 SP5 上安装多个版本的 Python:

    1. 运行 update-alternations 命令在 “/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 命令是否按预期运行。

适用于 SAP 发现和注册的 Amazon EC2 Systems Manager

  • 错误:由于禁止访问和 SSM 的公共端点,SAP 版 SSM 无法发现工作负载。 Amazon Secrets Manager

    解决方案:测试您的 SAP HANA 数据库是否可以访问终端节点。如果无法访问它们,则可以为 SAP 创建 Amazon VPC 终端节点 Amazon Secrets Manager ,为 SAP 创建 SSM。

    1. 运行以下命令,测试从 AMAZON EC2 主机对 HANA 数据库的 Secrets Manager 的访问权限:aws secretsmanager get-secret-value —secret-id hanaeccsbx_hbx_database_awsbkp。如果该命令未能返回值,则防火墙将阻止对 Secrets Manager 服务端点的访问。日志将在 “从 Secrets Manager 中检索机密” 步骤停止。

    2. 通过运行命令aws ssm-sap list-registration测试与 SSM for SAP 端点的连接。如果该命令未能返回值,则防火墙将阻止对 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 启用亚马逊 VPC。

      • 确保您的 VPC 终端节点已启用允许私有 DNS 名称。

      • 如果 SSM for SAP 发现成功完成,则日志将显示已发现主机。

  • 错误: Amazon Backup 由于访问 Amazon Backup 服务公共端点受阻,Backint 连接失败。 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。此外, Amazon Backup 控制台可以显示 Fatal Error: An internal error occured.

    解决方案:如果无法访问端点,则有两个选项可以继续:

    • 打开防火墙端口以允许访问公共服务端点 (HTTPS)。使用此选项后,DNS 将通过公有 IP 地址解析对 Amazon 服务的请求。

    • 创建 VPC 终端节点以私密方式路由往 Amazon 返所需服务的流量 Amazon Backup。使用此选项后,DNS 将通过私有 IP 地址解析对这些服务的请求。此选项可能需要更新 DNS 服务器,以添加将请求转发到私有终端节点的规则。

  • 错误:由于 HANA 密码包含特殊字符,SAP 的 SSM 注册失败。示例错误可能包括使用Error connecting to database HBX/HBX when validating its credentials.hdbsql或测试连接Discovery failed because credentials for HBX/SYSTEMDB either not provided or cannot be validated.之后,tenantdb该连接已通过 HANA 数据库 Amazon EC2 实例进行测试。systemdb

    在 Amazon 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 的 Amazon BackInt 代理安装可能未成功完成。重试在 SAP 应用程序服务器上部署 Amazon Backint AgentAmazon EC2 Systems Manager 代理的过程。

  • 错误:注册后,控制台与日志文件不匹配。

    尽管适用于 SAP 的 SAP Application Manager 的 SSM for SAP Application Manager for SAP 控制台显示注册成功,但发现日志显示在尝试连接 HANA 数据库时注册失败。它无法确认注册成功。如果控制台显示注册成功,但日志显示未成功,则备份将失败。

    确认注册状态:

    1. 登录 SSM 控制台

    2. 从左侧导航栏中选择 “运行命令”。

    3. 在文本字段命令历史记录下输入Instance ID:Equal:,其值等于您用于注册的实例。这将筛选命令历史记录。

    4. 使用命令 ID 列查找带有状态的命令Failed。然后,找到 AWSSystemsManagerSAP-Discovery 的文档名称。

    5. 在中 Amazon CLI,运行命令aws ssm-sap register-application status。如果显示返回值Error,则表示注册失败。

    解决方案:确保您的 HANA 密码中没有特殊字符(例如 '$')。

创建 SAP HANA 数据库的备份

  • 错误:创建 Amazon Backup SystemDB 或 TenantDB 的按需备份时,控制台会显示 “致命错误” 消息。之所以发生这种情况,是因为无法访问公共端点 cell-1.prod.us-west-west-2.storage.cryo.aws.a 2z.com。这是由阻止访问此端点的客户端防火墙造成的。

    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."

    解决方案:打开对公共端点的防火墙访问权限 c ell-1.prod.us-west- 2.storage.cryo.aws.a2z.com。

  • 错误: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,确保日志备份是 Amazon Backup 从 SAP HANA 发送到的。

  • 错误:One or more log backup attempts failed for recovery point.

    解决方案:有关详细信息,请检查 SAP HANA。确保 Amazon Backup 从 SAP HANA 向发送日志备份。

  • 错误:Unable to determine the status of log backups for recovery point.

    解决方案:有关详细信息,请检查 SAP HANA。确保 Amazon Backup 从 SAP HANA 向发送日志备份。

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

    解决方案:等待还原任务完成。日志备份应该会恢复。

使用时的 SAP HANA 术语表 Amazon Backup

数据备份类型:SAP HANA 支持两种类型的数据备份:完整备份和 INC(增量)备份。 Amazon Backup 优化了每次备份操作期间使用的类型。

目录备份:SAP HANA 维护自己的名为目录的清单。 Amazon Backup 与这个目录互动。每个新备份都会在该目录中创建一个条目。

连续日志备份(事务日志):对于时间点故障恢复 (PITR) 功能,SAP HANA 会跟踪自最近一次备份以来的所有事务。

系统复制:一种还原作业,其中的还原目标数据库与创建恢复点的源数据库不同。

破坏性还原:破坏性还原是一种还原作业,在此期间,还原的数据库会删除或覆盖源数据库或现有数据库。

FULL:完整备份是指备份整个数据库。

INC:增量备份是指备份自上次备份以来对 SAP HANA 数据库进行的所有更改。

有关其他详细信息,请参阅 Amazon 术语表

Amazon Backup 在 EC2 实例上支持 SAP HANA 数据库发行说明

当前不支持某些功能: