本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
SAPHANA在 Amazon 上备份 EC2
注意
支持的服务由 AWS 区域包含目前支持在 Amazon EC2 实例上提供SAPHANA数据库备份的区域。
AWS Backup 支持在 Amazon EC2 实例上备份和恢复SAPHANA数据库。
主题
SAPHANA数据库概述 AWS Backup
除了能够创建备份和恢复数据库外,与 Amazon S EC2 ystems Manager 的 AWS Backup 集成还SAP允许客户识别和标记SAPHANA数据库。
AWS Backup 已与 AWS Backint Agent 集成,用于SAPHANA执行备份和恢复。有关更多信息,请参阅 AWS Backint。
通过备份SAPHANA数据库的先决条件 AWS Backup
在执行备份和还原活动之前,必须满足以下几个先决条件。请注意,要执行这些步骤,您需要对SAPHANA数据库具有管理权限,并且需要在 AWS 账户中创建新IAM角色和策略的权限。
在 Amazon S EC2 ystems Manager 上完成这些先决条件。
最佳做法是只注册每个HANA实例一次。多个注册可能会导致同一个数据库ARNs有多个注册。维护单个ARN和注册可以简化备份计划的创建和维护,还可以帮助减少计划外的备份重复。
SAPHANA AWS Backup 控制台中的备份操作
先决条件SSM和SAP设置完成后,您可以备份和恢复自己的SAPHANAEC2数据库。
选择加入以保护SAPHANA资源
要使用 AWS Backup 来保护您的SAPHANA数据库,SAPHANA必须将其作为受保护的资源之一打开。要选择加入,请执行以下操作:
在 https://console.aws.amazon.com/backup
上打开 AWS Backup 控制台。 -
在左侧导航窗格中,选择设置。
-
在选择加入服务下,选择配置资源。
-
在 Amazon SAP HANA 上选择加入EC2。 。
-
单击确认。
现在EC2将启用SAPHANA在 Amazon 上选择加入的服务。
创建SAPHANA数据库的定时备份
您可以编辑现有备份计划并向其添加SAPHANA资源,也可以仅为SAPHANA资源创建新的备份计划。
如果您选择创建新的备份计划,则有三个选项:
-
选项 1:从模板开始
-
选择备份计划模板。
-
指定备份计划名称。
-
单击创建计划。
-
-
选项 2:构建新计划
-
指定备份计划名称。
-
(可选)指定要添加到备份计划的标签。
-
指定备份规则配置。
-
指定备份规则名称。
-
选择现有的保管库或创建新的备份保管库。这是存储备份的位置。
-
指定备份频率。
-
指定备份时段。
请注意,当前不支持转换到冷存储。
-
指定保留期。
当前不支持复制到目的地
-
(可选)指定要添加到恢复点的标签。
-
-
单击创建计划。
-
-
选项 3:使用定义计划 JSON
-
通过修改现有备份JSON计划的表达式或创建新的JSON表达式来为备份计划指定。
-
指定备份计划名称。
-
单击 ValidateJSON(验证)。
成功创建备份计划后,可以在下一步中为备份计划分配资源。
-
无论使用哪种计划,都要确保分配资源。您可以选择要分配SAPHANA的数据库,包括系统数据库和租户数据库。您还可以选择排除特定资源IDs。
创建SAPHANA数据库的按需备份
您可以创建完整的按需备份,该备份在创建后立即运行。请注意,Amazon EC2 实例上SAPHANA数据库的按需备份为完整备份;不支持增量备份。
现在已创建按需备份。它将开始备份您的指定资源。控制台会将您转到备份作业页面,您可以在其中查看作业进度。请记下屏幕顶部蓝色横幅中的备份作业 ID,因为您需要它才能轻松找到备份作业的状态。备份完成后,状态将变为 Completed
。备份可能需要几小时的时间。
刷新备份作业列表可查看状态变化。您也可以搜索并单击备份作业 ID 以查看详细作业状态。
SAPHANA数据库的持续备份
您可以进行连续备份,这可以与 re point-in-time store (PITR) 一起使用(请注意,按需备份会将资源保留在拍摄时的状态;而PITR使用连续备份来记录一段时间内的变化)。
使用连续备份,您可以将SAPHANA数据库还原到您选择的特定时间,精确度在 1 秒钟内(最多 35 天)。EC2连续备份的工作原理是,首先创建资源的完整备份,然后不断备份资源的事务日志。PITRrestore 的工作原理是访问您的完整备份,然后将事务日志重放到您要求恢复 AWS Backup 的时间。
在 AWS Backup 使用 AWS Backup 控制台或中创建备份计划时,您可以选择连续备份API。
使用控制台启用连续备份
登录 AWS Management Console,然后在 https://console.aws.amazon.com/backup
上打开 AWS Backup 控制台。 -
在导航窗格中,选择备份计划,然后选择创建备份计划。
-
在备份计划下,选择添加备份计划。
-
在备份规则配置部分,选择为支持的资源启用连续备份。
禁用 PITR(point-in-time恢复)SAPHANA数据库备份后,将继续向其发送日志, AWS Backup
直到恢复点到期(状态等于。EXPIRED)
您可以更改到中的备用日志备份位置 SAPHANA,以停止将日志传输到 AWS Backup。
状态为的连续恢复点STOPPED
表示连续恢复点已中断;也就是说,从中传输SAPHANA到 AWS Backup 的显示数据库增量更改的日志存在间隔。在此时间范围间隙内出现的恢复点状态为 STOPPED.
。
有关在连续备份(恢复点)的还原作业中可能遇到的问题,请参阅本指南的 “SAPHANA还原疑难解答” 部分。
查看SAPHANA数据库备份
查看备份和还原作业的状态:
在 https://console.aws.amazon.com/backup
上打开 AWS Backup 控制台。 -
在导航窗格中,选择作业。
-
选择备份作业、还原作业或复制作业以查看您的作业列表。
-
搜索并单击作业 ID 以查看详细作业状态。
查看保管库中的所有恢复点:
在 https://console.aws.amazon.com/backup
上打开 AWS Backup 控制台。 -
在导航窗格中,选择备份保管库。
-
搜索并单击备份保管库以查看该保管库中的所有恢复点。
查看受保护资源的详细信息:
在 https://console.aws.amazon.com/backup
上打开 AWS Backup 控制台。 -
在导航窗格中,选择受保护的资源。
-
您也可以按资源类型进行筛选,以查看该资源类型的所有备份。
AWS CLI 用于具有以下SAPHANA内容的数据库 AWS Backup
Backup 控制台中的每个操作都有相应的API调用。
要以编程方式配置 AWS Backup 和管理其资源,请使用API调StartBackupJob
用在EC2实例上备份SAPHANA数据库。
start-backup-job
用作CLI命令。
SAPHANA数据库备份疑难解答
如果您在工作流程中遇到错误,请查阅以下错误示例和建议的解决方案:
Python 必备
-
错误:Zypper 错误与 Python 版本有关,因为 AWS Backup 需要SSM使用 SAP Python 3.6,但SP5默认情况下 SUSE 12 支持 Python 3.4。
解决方案:SUSE12SP5通过执行以下步骤在上安装多个版本的 Python:
-
运行 update-alternations 命令,在 '/ 3 '中为 Python 3 创建符号链接。usr/local/bin/' instead of directly using '/usr/bin/python此命令会将 Python 3.4 设置为默认版本。命令是:
# sudo update-alternatives —install /usr/local/bin/python3 python3 /usr/bin/python3.4 5
-
通过运行以下命令将 Python 3.6 添加到备选配置中:
# sudo update-alternatives —install /usr/local/bin/python3 python3 /usr/bin/python3.6 2
-
通过运行以下命令将替代配置更改为 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:
-
输入与 Python 3.6 对应的数字。
-
检查 Python 版本并确认正在使用 Python 3.6。
-
(可选,但建议使用)验证 Zypper 命令是否按预期运行。
-
用于SAP发现和注册的 Amazon Sy EC2 stems Manager
-
错误:由于禁止访问 AWS Secrets Manager 和SSM的公共终端节点,SAP无法发现工作负载SSM。
解决方案:测试您的SAPHANA数据库是否可以访问端点。如果无法访问它们,则可以为 AWS Secrets Manager 和SSM为其创建 Amazon VPC 终端节点SAP。
-
运行以下命令,测试从亚马逊EC2主机对HANA数据库的 Secrets Manager 的访问权限:
aws secretsmanager get-secret-value —secret-id hanaeccsbx_hbx_database_awsbkp
。如果该命令未能返回值,则防火墙将阻止对 Secrets Manager 服务端点的访问。日志将在 “从 Secrets Manager 中检索机密” 步骤停止。 -
运行命令测试与SSM终SAP端节点的连接
aws ssm-sap list-registration
。如果命令未能返回值,则防火墙将阻止对 for SAP 端点SSM的访问。错误示例:
Connection was closed before we received a valid response from endpoint URL: “https://ssm-sap.us-west-2.amazonaws.com/register-application"
.
如果无法访问端点,则有两个选项可以继续。
-
打开防火墙端口以允许访问 Secrets Manager 和SSM的公共服务端点SAP;或者,
-
为 Secrets Manager 和SSM创建VPC终端节点SAP,然后:
-
确保已VPC为DNSSupport和启用 Amazon DNSHostname。
-
确保您的VPC终端节点已启用 “允许私有DNS名称”。
-
如果 f SSM or d SAP iscovery 成功完成,则日志将显示已发现主机。
-
-
-
错误: AWS Backup 由于访问 AWS 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
。此外, AWS Backup 控制台可以显示Fatal Error: An internal error occured.
解决方案:如果无法访问端点,则有两个选项可以继续:
-
打开防火墙端口以允许访问公共服务端点 (HTTPS)。使用此选项后,DNS将通过公有 IP 地址解析对 AWS 服务的请求。
-
创建VPC端点以私密方式路由往返所需 AWS 服务的流量 AWS Backup。使用此选项后,DNS将通过私有 IP 地址解析对这些服务的请求。此选项可能需要更新DNS服务器,以添加将请求转发到私有端点的规则。
-
-
错误:SSM由于HANA密码包含特殊字符,SAP注册失败。示例错误可能包括使用 f
hdbsql
oError connecting to database HBX/HBX when validating its credentials.
Discovery failed because credentials for HBX/SYSTEMDB either not provided or cannot be validated.
r 测试连接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...
解决方案:SAPHANA安装 AWS BackInt 代理可能未成功完成。重试在应用程序服务器上部署 AWS Backint Agent 和 Amazon S EC2ystems Manager 代理的过程。SAP
-
错误:注册后,控制台与日志文件不匹配。
尽管SAP控制台版的 App SAP lication Manager 显示注册成功,但发现日志显示尝试连接HANA数据库时注册失败,原因是密码包含特殊字符。它不能确认注册成功。SSM如果控制台显示注册成功,但日志显示未成功,则备份将失败。
确认注册状态:
-
登录控制SSM台
-
从左侧导航栏中选择 “运行命令”。
-
在文本字段命令历史记录下输入
Instance ID:Equal:
,其值等于您用于注册的实例。这将筛选命令历史记录。 -
使用命令 ID 列查找带有状态的命令
Failed
。然后,找到 AWSSystemsManagerSAP-Discovery 的文档名称。 -
在中 AWS CLI,运行命令
aws ssm-sap register-application status
。如果显示返回值Error
,则表示注册失败。
解决方案:确保您的HANA密码中没有特殊字符(例如 '$')。
-
创建SAPHANA数据库备份
-
错误:创建 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.
解决方案:检查SAPHANA以确保日志备份发送 AWS Backup 到发件人SAPHANA。
-
错误:
One or more log backup attempts failed for recovery point.
分辨率:查看SAPHANA详细信息。确保将日志备份发送 AWS Backup 到发件人SAPHANA。
-
错误:
Unable to determine the status of log backups for recovery point.
分辨率:查看SAPHANA详细信息。确保将日志备份发送 AWS Backup 到发件人SAPHANA。
-
错误:
Log backups for recovery point %s were interrupted due to a restore operation on the database.
解决方案:等待还原任务完成。日志备份应该会恢复。
使用时的SAPHANA术语表 AWS Backup
Data Backup 类型:SAPHANA支持两种类型的数据备份:完整备份和INC(增量)备份。 AWS Backup 优化了每次备份操作期间使用的类型。
目录备份:SAPHANA维护自己的名为目录的清单。 AWS Backup 与这个目录互动。每个新备份都会在该目录中创建一个条目。
连续日志备份(事务日志):对于时间点恢复 (PITR) 功能,可SAPHANA跟踪自最近一次备份以来的所有事务。
系统复制:一种还原作业,其中的还原目标数据库与创建恢复点的源数据库不同。
破坏性还原:破坏性还原是一种还原作业,在此期间,还原的数据库会删除或覆盖源数据库或现有数据库。
FULL:完全备份是对完整数据库的备份。
INC:增量备份是对自上次备份以来对SAPHANA数据库进行的所有更改的备份。
有关其他详细信息,请参阅 AWS 术语表。
AWS Backup EC2实例上对SAPHANA数据库的支持发行说明
当前不支持某些功能:
-
连续备份(使用事务日志)无法复制到其他地区或账户。可以将快照备份从完整备份复制到支持的区域和账户。
-
当前不支持 Backup Audit Manager 和报告。
-
支持的服务由 AWS 区域包含当前支持的 Amazon EC2 实例SAPHANA数据库备份区域。