AWS Backint Agent for SAP HANA问题排查 - AWS 上的 SAP HANA
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS Backint Agent for SAP HANA问题排查

以下文档可帮助您排查 AWS Backint Agent for SAP HANA 安装或备份存在的问题。

Agent 日志

要找到日志来帮助您排查错误和故障,请检查以下位置。

Agent 日志

{INSTALLATION DIRECTORY}/aws-backint-agent/aws-backint-agent.log

系统数据库备份/恢复日志

/usr/sap/<SID>/HDB<Instance No>/<hostname>/trace/backup.log /usr/sap/<SID>/HDB<Instance No>/<hostname>/trace/backint.log

租户数据库备份/恢复日志

/usr/sap/<SID>/HDB<Instance No>/<hostname>/trace/DB_<TENANT>/backup.log /usr/sap/<SID>/HDB<Instance No>/<hostname>/trace/DB_<TENANT>/backint.log

安装

问题:无法使用 SSM 文档查看为安装列出的实例。

  • 根本原因

    1. 实例上未安装 SSM Agent。

    2. 如果安装了 SSM Agent,则实例未运行或实例上的 SSM Agent 未运行。

    3. 实例上安装的 SSM Agent 的版本早于 2.3.274.0。

  • 解决方法:按照练习在实例上安装或更新 SSM Agent 中列出的步骤操作。您可以使用以下命令验证 SSM Agent 是否正在运行。

    sudo systemctl status amazon-ssm-agent

问题:当您使用 SSM 安装文档时,会返回以下错误。

failed to download manifest - failed to retrieve package document description: InvalidDocument: Document with name AWSBackintAgent with version x does not exist.

  • 根本原因:输入了不支持的 AWS Backint Agent 版本。

  • 解决方案:要查看支持哪些 AWS Backint Agent 版本,请参阅以下位置列出的版本。

    s3://awssap-backint-agent-cn-north-1/binary/agent-version

备份和恢复

问题:BucketOwnedByUnexpectedAccount 出现在 Agent 日志中。

  • 根本原因

    1. EC2 实例的 IAM 角色没有访问 S3 存储桶的适当权限。

    2. Agent 配置文件没有将 S3BucketOwnerAccountID 包括在双引号内。S3BucketOwnerAccountID 是 12 位 AWS 账户 ID。

    3. S3 存储桶不归 S3BucketOwnerAccountID 提供的账户所有。

    4. S3BucketOwnerAccountID 提供的 S3 存储桶在 2019 年 5 月之前创建。

  • 解决方法:验证安装 AWS Backint Agent 的先决条件步骤

问题:由于 S3 连接问题导致备份或恢复失败

  • 根本原因:附加到实例的 IAM 角色没有访问 S3 存储桶的适当权限。

  • 解决方法:验证安装 AWS Backint Agent 的先决条件步骤

问题:Agent 日志显示 Backint cannot execute hdbbackintNo such file or directory

  • 根本原因

    1. 如果您是手动安装 Agent,则为 Agent 可执行文件创建符号链接未成功。

    2. 如果您是使用 SSM Agent,则在创建符号链接时 Agent 的第 2 步失败。您可以通过查看 RunCommand 执行详细信息来验证这一点。

  • 解决方法:验证您是否正确遵循了本文档中的安装步骤

问题:从 SAP HANA 控制台启动备份时显示以下错误:

Could not start backup for system <SID> DBC: [447]: backup could not be completed: [110091] Invalid path selection for data backup using backint: /usr/sap/<SID>/SYS/global/hdb/backint/COMPLETE_DATA_BACKUP must start with /usr/sap/<SID>/SYS/global/hdb/backint/DB_<TENANT>

  • 根本原因:将 SAP HANA 系统添加到 SAP HANA Studio 时,您选择了单容器模式,而不是多容器模式。

  • 解决方法:将 SAP HANA 系统添加到 SAP HANA Studio,选择多容器模式,然后尝试再次启动备份。有关更多详细信息,请参阅使用 Backint 进行数据备份的路径选择无效

问题:您的备份失败,aws-backint-agent.log 中显示以下错误:

Error creating uploadId: AuthorizationHeaderMalformed: The authorization header is malformed; the region '<region id>' is wrong; expecting '<region id>'

  • 根本原因:您在 aws-backint-agent-config.yaml 配置文件中为 AwsRegion 参数指定了不正确的区域 ID。

  • 解决方法:指定 Amazon S3 存储桶的 AWS 区域,然后再次启动备份。您可以从 Amazon S3 控制台找到创建 Amazon S3 存储桶时所在的区域。

问题:任何 AWS Backint Agent 操作都会失败,并在 aws-backint-agent.log 中出现以下错误之一:

“Error creating upload id for bucket:<mys3bucket>"

"NoCredentialProviders: no valid providers in chain.

  • 可能的根本原因:没有附加 IAM 角色到 Amazon EC2 实例。

  • 解决方法:AWS Backint Agent 要求您的 EC2 实例附加 IAM 角色来访问 AWS 资源以进行备份和还原操作。将 IAM 角色附加到您的 EC2 实例,然后再次尝试执行操作。有关更多信息,请参阅安装 AWS Backint Agent 的先决条件

  • 可能的根本原因:针对运行 Agent 的 HANA 实例使用代理导致 Agent 失败。

  • 解决方法:针对运行 Agent 的 HANA 实例使用代理时,不要对实例元数据调用使用代理,否则调用会挂起。无法通过代理获取实例元数据信息,因此必须将该信息排除在外。更新位于 {INSTALLATION DIRECTORY}/aws-backint-agent-launcher.sh 的启动程序脚本,将 169.254.169.254 指定为 no_proxy 主机。

    # cat aws-backint-agent-launcher.sh #!/bin/bash export https_proxy=<PROXY_ADDRESS>:<PROXY_PORT> export HTTP_PROXY=<PROXY_ADDRESS>:<PROXY_PORT> export no_proxy=169.254.169.254 export NO_PROXY=169.254.169.254 /hana/shared/aws-backint-agent/aws-backint-agent "$@"

问题:当您启动备份或还原时,您会在 SAP HANA Studio 或 SAP HANA Cockpit 中看到以下错误:

backup could not be completed, Backint cannot execute /usr/sap/<SID>/SYS/global/hdb/opt/hdbbackint, Permission denied (13)

  • 根本原因:AWS Backint Agent 二进制文件或启动程序脚本没有操作系统级别的执行权限。

  • 解决方法:为安装目录(例如,/hana/shared/aws-backint-agent/)中的 AWS Backint Agent 二进制文件 aws-backint-agent 和启动程序脚本 aws-backint-agent-launcher.sh 设置执行权限。

问题:我的备份运行太慢,需要更长的时间才能完成。

  • 根本原因:备份和还原的性能取决于许多因素,例如所用 EC2 实例的类型、EBS 卷以及 SAP HANA 通道数。如果数据库大小小于 128 GB,则 SAP HANA 默认为单个通道,或者您的 SAP HANA 参数 parallel_data_backup_backint_channels 设置为 1。

  • 解决方法:数据库备份的速度取决于 SAP HANA 数据卷 (/hana/data) 有多少存储吞吐量可用。尝试将 SAP HANA 数据卷切换为 io1 类型。此外,如果数据库大小大于 128 GB,则可以通过调整并行备份通道数来提高备份性能。增大 parallel_data_backup_backint_channels 的值,然后尝试再次启动备份。我们建议您在尝试调整备份性能时考虑到资源争用与正常系统运行性能。

备份删除

问题:您已从 SAP HANA 备份控制台(SAP HANA Studio 或 SAP HANA Cockpit)删除了 SAP HANA 备份,但已删除的备份文件仍然显示在 Amazon S3 文件夹中。

  • 根本原因:由于权限问题,AWS Backint Agent 无法从 Amazon S3 存储桶删除关联的备份文件。

  • 解决方法:从 SAP HANA 备份控制台删除备份时,AWS Backint Agent 需要具备 s3:DeleteObject 权限才能从目标 Amazon S3 存储桶删除备份文件。确保附加到 EC2 实例的 IAM 配置文件具有 s3:DeleteObject 权限。对于已从 SAP HANA 删除的备份,您可以手动从 Amazon S3 存储桶删除关联文件。我们建议您在手动删除任何备份文件之前采取额外的预防措施。手动删除错误的备份文件可能会影响您将来还原 SAP HANA 系统的能力。