安装和配置Amazon适用于 SAP HANA 的 Amazon Backint Agent - 上的 SAP HANAAmazon
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

安装和配置Amazon适用于 SAP HANA 的 Amazon Backint Agent

本节提供了一些信息以帮助您安装Amazon使用 Backint 代理Amazon“Systems Manager” 文档或AmazonBackint 安装程序。它还提供了帮助您配置代理、查看日志和获取当前代理版本的信息。

安装AmazonBackint 代理使用AmazonSystems Manager 文档

按照以下步骤安装AmazonBackint 代理使用AmazonSSM 文档。

重要

在继续安装之前,禁用任何现有备份过程(包括计划日志备份)。如果在运行 SSM 文档之前未禁用现有备份过程,则可能会损坏正在进行的备份,这会影响您恢复数据库的能力。

  1. 从Amazon选择 “管理控制台”Systems Manager管理和治理输入,或输入Systems Manager中的查找服务搜索栏。

  2. 从 Systems Manager 控制台中,选择文档共享资源在左侧导航窗格中。

  3. 在“文档”页面上,选择归 Amazon 所有选项卡。您应该看到一个名为 AWSSAP-InstallBackint 的文档。

  4. 选择 AWSSAP-InstallBackint 文档,然后选择 Run Command

  5. 在命令参数下,输入以下内容

    1. 存储桶名称。输入要存储 SAP HANA 备份文件的 Amazon S3 存储桶的名称。

    2. 存储桶文件夹。或者,输入要用于存储 SAP HANA 备份文件的 Amazon S3 存储桶内的文件夹的名称。

    3. 系统 ID。输入您的 SAP HANA 系统 ID,例如 HDB

    4. 存储桶区域. 输入Amazon您希望将您的存储到的 Amazon S3 存储桶的区域。SAP HANA 备份文件.Amazon Backint 代理支持跨区域和跨账户备份。您必须提供Amazon用于成功执行代理的区域和 Amazon S3 存储桶拥有者账户 ID 以及 Amazon S3 存储桶名称。

    5. 存储桶拥有者账户 ID。输入要存储 SAP HANA 备份文件的 Amazon S3 存储桶的账户 ID。

    6. KMS 密钥。输入的 ARNAmazon KMS那个AmazonBackint 代理可以使用对存储在 Amazon S3 存储桶中的备份文件进行加密。

    7. 安装目录。输入安装的目录位置的路径。AmazonBackint 代理。避免使用 /tmp 作安装路径。

    8. 代理版本. 输入要安装的代理的版本号。如果没有输入版本号,则安装最新发布的代理版本。

      注意

      1.0 版本在中国(北京和宁夏)区域不可用。

    9. 修改全局 ini 文件。选择修改 global.ini 文件的方式。必须更新 SAP HANA 系统数据库的 global.ini 文件才能完成设置。

      1. “修改” — SSM 将直接更新 global.ini 文件。

      2. “sql” — SSM 将创建一个包含 SQL 语句且名为 modify_global_ini.sql 的文件,您可以在目标 SAP HANA 系统中运行该文件来设置所需的参数。您可以在 <installation directory>/aws-backint-agent/ 文件夹中找到 modify_global_ini.sql 文件。

      3. “无” — SSM 不会采取任何操作来修改 global.ini 文件。您必须手动更新它才能完成设置。

    10. Ignore 存储桶检. Select忽略 S3 存储桶的健全性检查。S3 存储桶健全性检查验证以下内容:

      • 存储桶存在于您的账户中

      • 存储桶区域是正确的

      • 存储桶是公开的

    11. 调试模式. Select以激活调试模式。

    12. 重要提示!确保没有正在进行的备份。选择以确认您已禁用现有备份并准备好继续安装。如果您选择“否”,SSM 文档将失败

  6. 目标中,选择目标实例用于安装Amazon然后选择要在其上安装它的实例。如果您无法在列表中找到您的实例,请核实您是否遵循了先决条件中的所有步骤。

  7. 其他参数下,将字段留空,然后选择运行

    重要

    如果您没有安装 SSM 代理的最新版本(2.3.274.0 或更高版本),则 Run Command 将无法执行。

  8. 成功安装代理后,您将看到成功下面的状态命令 ID.

  9. 要验证安装,请登录到您的实例并查看 /<install directory>/aws-backint-agent 目录。您应该参阅目录中的以下文件:AmazonBackint 代理二进制文件,THIRD_PARTY_LICENSES.txt文件,其中包含代理使用的库的许可证、启动程序脚本、YAML 配置文件和可选的modify_global_ini.sql文件。此外,源文件 (aws-backint-agent.tar.gz) 的AmazonBackint 代理存储在程序包目录中。您可以验证此文件的签名,以确保下载的源文件为原始文件且未修改。请参阅验证签名AmazonSAP HANA 的 Backint 代理和安装程序有关详细信息,请参阅本文档。

    SSM 文档在 SAP HANA 全局目录中为 Backint 配置创建符号链接 (symlink)。确定 /usr/sap/<SID>/SYS/global/hdb/opt 目录中存在 hdbbackint 的符号链接,且 /usr/sap/<SID>/SYS/global/hdb/opt/hdbconfig 目录中存在 aws-backint-agent-config.yaml 的符号链接。

安装Amazon使用 Backint 的代理AmazonBackint 安装程序 — 交互模式

安装的另一种方式AmazonBackint 代理与AmazonBackint 安装程序。您可以下载Amazon从 Amazon S3 存储桶中的 Backint 安装程序。S3 存储桶的名称是s3://awssap-backint-agent-cn-north-1/.

最新的安装程序始终可以在 s3://awssap-backint-agent-cn-north-1/binary/latest/install-aws-backint-agent .

执行以下步骤以安装AmazonBackint 代理使用Amazon您的 SAP HANA 实例上的 SSH 会话中的 Backint 安装程序。

重要

在继续安装之前,禁用任何现有备份过程(包括计划日志备份)。如果在运行之前没有禁用现有备份进程AmazonBackint 代理安装程序,您可以损坏正在进行的备份,这会影响您恢复数据库的能力。

  1. 导航到 /tmp(或保存已下载安装程序的另一个临时目录)。

    cd /tmp
  2. 运行以下命令之一下载安装程序。

    sudo aws s3 cp s3://awssap-backint-agent-cn-north-1/binary/latest/install-aws-backint-agent /tmp/

    sudo wget https://awssap-backint-agent-cn-north-1.s3.cn-north-1.amazonaws.com.cn/binary/latest/install-aws-backint-agent -O /tmp/install-aws-backint-agent
    注意

    如果你在下载AmazonBackint 安装程序使用AmazonCLI,请检查您的 IAM 策略并确保您的策略允许从中下载对象。awssap-backint-agent存储桶。有关详细信息,请参阅本文档的身份和访问管理部分。

  3. 使用 -h 标志运行安装程序以查找所有可用选项。

    sudo python install-aws-backint-agent -h
  4. 运行以下命令以执行安装程序。

    sudo python install-aws-backint-agent
    注意

    使用-l如果你希望安装程序获取Amazon来自您自己的文件系统或 Amazon S3 存储桶的 Backint 代理二进制文件。指定的位置aws-backint-agent.tar.gz文件。

    sudo python install-aws-backint-agent -l /tmp/backint/aws-backint-agent.tar.gz
    sudo python install-aws-backint-agent -l s3://AWSDOC-EXAMPLE-BUCKET/aws-backint-agent.tar.gz
    sudo python install-aws-backint-agent -l https://AWSDOC-EXAMPLE-BUCKET.s3.amazonaws.com/aws-backint-agent.tar.gz
  5. 输入以下参数的信息。

    1. 安装目录— 输入安装的目录位置的路径。AmazonBackint 代理。安装目录的默认值为 /hana/shared/

    2. Amazon S3 存储桶拥有者— 输入要存储 SAP HANA 备份文件的存储桶的 Amazon S3 存储桶拥有者的账户 ID。

    3. Amazon S3 存储桶区域— 输入Amazon要存储 SAP HANA 备份文件的 Amazon S3 存储桶的区域。

    4. Amazon S3 存储桶名称— 输入要存储 SAP HANA 备份文件的 Amazon S3 存储桶的名称。

    5. S3 存储桶中的文件夹— 输入要用于存储 SAP HANA 备份文件的 Amazon S3 存储桶中的文件夹的名称。此参数为可选项。

    6. Amazon S3 SSE KMS ARN— 输入的 ARNAmazon KMS那个AmazonBackint 代理可以使用对存储在 Amazon S3 存储桶中的备份文件进行加密。

      注意

      如果你把这个字段留空,AmazonBackint 安装程序将提示您确认您不想使用存储的加密密钥对备份文件进行加密。Amazon KMS. 如果您不确认您不想使用 kms-Key 加密,则安装程序将中止。我们强烈建议您对数据进行加密。有关可用选项,请参阅本文档的加密部分。

    7. SAP HANA 系统 ID — 输入您的 SAP HANA 系统 ID,例如 HDB

    8. HANA 选择目录 — 确认 SAP HANA 选择目录的位置。

    9. 修改全局 .ini [修改/sql/无] — 选择修改 global.ini 文件的方式。必须更新 SAP HANA 系统的 global.ini 文件才能完成设置。

      1. “修改” —AmazonBackint 安装程序将更新global.ini直接提交文件。

      2. “sql” —AmazonBackint 安装程序将创建名为的文件modify_global_ini.sql使用可以在目标 SAP HANA 系统中运行的 SQL 语句来设置所需的参数。您可以在 <installation directory>/aws-backint-agent/ 文件夹中找到 modify_global_ini.sql 文件。

      3. “无” — 不会采取任何操作AmazonBackint 安装程序来修改global.ini文件。您必须手动更新它们才能完成设置。

    10. HANA Systems db global.ini 文件— 确认的位置global.ini文件。

    11. 验证代理二进制文件的签名.tar文件

      • 选择y验证的签名AmazonBackint 代理源文件。如果选择y中,输入代理二进制文件签名文件的 Amazon S3 存储桶位置。.tar例如,文件https://s3.amazonaws.com/awssap-backint-agent/binary/latest/aws-backint-agent.sig. 或者,提供存储在实例上的本地文件。如果继续而不进行选择,则使用括号 ([]) 中列出的默认位置。

      • 选择n如果您不想验证AmazonBackint 代理源文件。

    12. 保存回复以备将来使用? — 您可以将信息保存在AmazonBackint 安装程序转移到文件。如果需要,您可以稍后使用它以静默模式运行安装程序。

    13. 是否要继续安装? — 确认您已禁用现有备份并准备好继续安装。

  6. 要验证安装,请登录到您的实例并查看 /<install directory>/aws-backint-agent 目录。您应该参阅目录中的以下文件:AmazonBackint 代理二进制文件,THIRD_PARTY_LICENSES.txt文件,其中包含代理使用的库的许可证、启动程序脚本、YAML 配置文件和可选的modify_global_ini.sql文件。此外,源文件 (aws-backint-agent.tar.gz) 的AmazonBackint 代理存储在程序包目录中。您可以验证此文件的签名,以确保下载的源文件为原始文件且未修改。请参阅验证签名AmazonSAP HANA 的 Backint 代理和安装程序有关详细信息。

    此外,AmazonBackint 安装程序在 SAP HANA 全局目录中为 Backint 配置创建符号链接(符号链接)。确定 /usr/sap/<SID>/SYS/global/hdb/opt 目录中存在 hdbbackint 的符号链接,且 /usr/sap/<SID>/SYS/global/hdb/opt/hdbconfig 目录中存在 aws-backint-agent-config.yaml 的符号链接。

    注意

    如果由于验证错误而导致安装失败,并且您希望忽略验证并继续安装,则可以使用 -n 标志执行安装程序以忽略验证步骤。您还可以使用 -d 标志在调试模式下运行安装程序,生成详细的安装日志以进行故障排除。

安装Amazon使用 Backint 的代理AmazonBackint 安装程序 — 静默模式

您可以安装Amazon使用 Backint 代理Amazon处于静默模式下的 Backint 安装程序。如果您希望自动执行安装过程而无需手动干预,请选择此选项。

运行Amazon在静默模式下的 Backint 安装程序,请创建包含所有必需安装参数的响应文件。按中的步骤操作。关于使用交互模式安装的部分下载AmazonBackint 安装程序并创建响应文件。您无需确认就可以继续Amazon在交互模式下安装 Backint 代理。AmazonBackint 安装程序将创建名为的响应文件aws-backint-agent-install-YYYYMMDDHHMMSS.rsp.

当您有一个响应文件时,您可以使用 vim 编辑器修改它,并根据需要调整参数。

下面是一个示例响应文件。

[DEFAULT] s3_bucket_name = awsdoc-example-bucket s3_bucket_owner_account_id = 111122223333 modify_global_ini = sql s3_bucket_region = us-east-1 s3_sse_kms_arn = arn:aws:kms:us-east-1:111122223333:key/1abcd9b9-ab12-1a2a-1abc-12345abc12a3 s3_bucket_folder = myfolder hana_sid = TST installation_directory = /hana/shared/

如果您想要以编程方式生成响应文件而不是使用Amazon在交互模式下,您可以使用-g标志以生成新的响应文件。以下示例说明了如何使用生成响应文件:AmazonBackint 安装程序。

sudo python install-aws-backint-agent -g "s3_bucket_owner_account_id = 111122223333,s3_bucket_name = awsdoc-example-bucket,s3_bucket_region = us-east-1,hana_sid = TST,s3_sse_kms_arn = arn:aws:kms:us-east-1:111122223333:key/1abcd9b9-ab12-1a2a-1abc-12345abc12a3,s3_bucket_folder = myfolder,installation_directory = /hana/shared/,modify_global_ini = sql" -f myresponse.rsp

创建响应文件后,使用以下步骤运行:AmazonBackint 安装程序处于静默模式。

重要

在继续安装之前,禁用任何现有备份过程(包括计划日志备份)。如果在运行之前没有禁用现有备份进程AmazonBackint 代理安装程序,您可以损坏正在进行的备份,这会影响您恢复数据库的能力。

运行以下命令,使用生成的响应文件执行安装程序。

sudo python install-aws-backint-agent -m silent -f backint-agent-install-YYYYMMDDHHMMSS.rsp -a yes

如果要选择要从中安装代理的位置,请使用-l标记并指定位置。

sudo python install-aws-backint-agent -f aws-backint-agent-install-YYYYMMDDHHMMSS.rsp -m silent -a yes -d -l /tmp/backint/aws-backint-agent.tar.gz
注意

您必须确认已禁用现有备份,并已准备好通过传递确认标志 (-a yes) 在静默模式下继续安装。如果您没有传递确认标志,AmazonBackint 安装程序将无法执行。

将代理地址用于AmazonBackint 代理

如果在安装代理时在 SAP HANA 环境中使用代理地址,则必须使用以下 shell 脚本来安装代理,以确保AmazonBackint 代理安装程序。

#!/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 sudo python install-aws-backint-agent

如果您在 SAP HANA 环境中使用代理地址,则必须更新aws-backint-agent-launcher.sh文件,该文件位于AmazonBackint 代理安装目录(例如,/hana/shared/aws-backint-agent/)。必须执行以下更新才能确保使用正确的代理设置Amazon备份和还原操作期间的 Backint 代理。

Addhttp_proxyHTTP_PROXYno_proxy, 和NO_PROXY指向的变量aws-backint-agent-launcher.sh脚本。重要的是要排除196.254.169.254使用的地址no_proxy变量。如果不排除此地址,则发出的实例元数据服务调用AmazonBackint 代理将失败并在备份和还原操作期间导致错误。有关实例元数据和用户数据的更多信息,请参阅实例元数据和用户数据中的适用于 Linux 实例的 Amazon EC2 用户指南.

#!/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 "$@"

Backint 相关的 SAP HANA 参数

要启用 SAP HANA 备份Amazon您必须设置以下 SAP HANA 参数。如果你选择了 “修改” 选项global.ini文件更新、SSM 文档或AmazonBackint 安装程序在中添加或更新以下与备份相关的 SAP HANA 参数global.ini用于系统数据库。如果选择“sql”,则可以运行 modify_global_ini.sql 文件中指定的 SQL 语句来更新这些参数。有关这些参数的更多信息,请参阅Backup 配置参数中的SAP HANA 管理指南.

[backup] catalog_backup_parameter_file = /usr/sap/<SID>/SYS/global/hdb/opt/hdbconfig/aws-backint-agent-config.yaml data_backup_parameter_file = /usr/sap/<SID>/SYS/global/hdb/opt/hdbconfig/aws-backint-agent-config.yaml log_backup_parameter_file = /usr/sap/<SID>/SYS/global/hdb/opt/hdbconfig/aws-backint-agent-config.yaml catalog_backup_using_backint = true log_backup_using_backint = true parallel_data_backup_backint_channels = 8 data_backup_buffer_size = 4096 max_recovery_backint_channels = 1 [communication] tcp_backlog = 2048 [persistence] enable_auto_log_backup = yes verify_signature = yes input_signature_filepath = https://s3.amazonaws.com/awssap-backint-agent/binary/latest/aws-backint-agent.sig
注意

更改 tcp_backlog 参数需要重新启动 SAP HANA 才能生效。

max_recovery_backint_channels 确定恢复过程中并行还原/恢复的日志文件数。恢复多流备份时,SAP HANA 始终使用与备份过程相同的通道数。有关更多详细信息,请参阅 SAP 文档中的使用第三方备份工具进行多流数据备份

修改AmazonBackint 代理配置参数

这些区域有:AmazonBackint 代理配置参数保留在/<installation directory>/aws-backint-agent/目录。配置文件的名称是 aws-backint-agent-config.yaml。以下各表总结了作为一部分添加的配置参数:AmazonBackint 代理安装过程以及可以添加或更改的其他参数。

在初始设置期间添加到 aws-backint-agent-config.yaml 的参数

参数的名称 描述 默认值

S3BucketName

用于存储 SAP HANA 备份文件的 Amazon S3 存储桶的名称。例如 awsdoc-example-bucket 不适用

S3BucketAwsRegion

Amazon您的 Amazon S3 存储桶的区域。例如 us-east-1 不适用

S3BucketFolder

Amazon S3 存储桶中要存储 SAP HANA 备份文件的文件夹的名称。例如 my-folder Empty

S3BucketOwnerAccountID

Amazon S3 存储桶拥有者的 12 位账户 ID。例如 111122223333 不适用

LogFile

的位置AmazonBackint 代理日志文件。 /hana/shared/aws-backint-agent/aws-backint-agent.log

S3SseKmsArn

关于 kms-key 的 ARNAmazonBackint 代理可以用于对 Amazon S3 中存储的备份文件进行加密。例如 arn:aws:kms:us-east-1: 111122223333:key/5bfbc9b9-ab12-ab12-a123-11111xxx22xx Empty

S3SseEnabled

指定是否启用 KMS 加密。 如果 S3SseKmsArn 参数为空,则设置为 false。否则,设置为 true

可以添加到 aws-backint-agent-config.yaml 文件以更新默认值的参数

参数的名称 描述 默认值 因此受支持

BackupObjectTags

启用对其他 S3 对象标签的支持。

EnableTagging必须将其设为true为了使用BackupObjectTags.

允许的值:必须是使用以下语法的有效 JSON 字符串:

-BackupObjectTags: "[{Key=string,Value=string},{Key=string,Value=string},...]

有关适用的标签限制,请参阅标签限制中的Amazon EC2 用户指南.

不适用 1.03 版本

EnableTagging

启用或禁用 S3 中存储的备份文件的默认对象标记。标记有助于识别Amazon备份过程中使用的 Backint 版本和 SAP HANA 版本。

允许的值:truefalse

true 1.03 版本

LogLevel

指定代理日志的日志记录级别。

允许的值:infodebug

info 版本 1.0

LogRotationFrequency

指定aws-backint-agent.log文件轮换频率。

允许的值:minutehourday,或者never.

never 1.03 版本

S3StorageClass

指定 S3 存储类类型Amazon在存储备份文件时,Backint 代理可以使用。

允许的值:STANDARDSTANDARD_IAONEZONE_IA,或者INTELLIGENT_TIERING.

STANDARD 版本 1.0(自 1.05 版以来的智能分层)

UploadConcurrency

指定备份期间可以并行工作的 S3 线程数。

允许的值:1200

100 版本 1.0

UploadChannelSize

指定备份期间可与 S3 存储桶并行上传的文件数。

允许的值:132

10 版本 1.0

MaximumConcurrentFilesForRestore

指定还原期间可从 S3 并行下载的文件数。

允许的值:132

5 版本 1.0

S3ShortenBackupDestinationEnabled

指定是否使用较短的 Amazon S3 路径。

允许的值:truefalse

false 1.05 版本

将 SAP HANA 配置为使用不同的 Amazon S3 存储桶和文件夹进行数据和日志备份

Amazon默认情况下,Backint 代理对数据和日志备份使用相同的参数。它将数据和日志备份存储在同一 Amazon S3 存储桶和文件夹中。

data_backup_parameter_file = /usr/sap/<SID>/SYS/global/hdb/opt/hdbconfig/aws-backint-agent-config.yaml log_backup_parameter_file = /usr/sap/<SID>/SYS/global/hdb/opt/hdbconfig/aws-backint-agent-config.yaml

要使用不同的 Amazon S3 存储桶和文件夹进行数据和日志备份,请执行下列步骤。

  1. 查看 SAP HANA 备份参数

    找到data_backup_parameter_filelog_backup_parameter_file参数。这些参数的默认值应为/<installation directory>/aws-backint-agent/aws-backint-agent-config.yaml. 如果未看到此默认值,请检查配置文件以确认其显示的 Amazon S3 位置相同。

  2. 保留对存储在之前 Amazon S3 位置的日志备份的访问权限

    如果这是新设置或者您不想保留以前的日志备份,请跳过此步骤并继续步骤 3。

    使用源类型移动以前的日志备份volume转到新的 Amazon S3 位置仅用于日志备份。可以通过运行以下 SQL 命令来确认源类型。

    select SOURCE_TYPE_NAME, DESTINATION_PATH from M_BACKUP_CATALOG_FILES

    将采用以下格式为备份目录分配名称:log_backup_0_0_0_0.<BackupID>. 这种类型的备份由不同的 SAP HANA 参数管理,具有源类型catalog,并应留在数据备份位置。此文件包含存储所有备份历史记录的备份目录文件。只有具有源类型的日志备份volume应移到新的 Amazon S3 位置。要更改目录备份的 Amazon S3 位置,请参阅将 SAP HANA 配置为使用不同的 Amazon S3 存储桶和文件夹进行目录备份.

    下表提供了 SYSTEM DB 文件夹结构的示例:

    Backup 文件夹 描述

    完整_data_Backup_dataackup_0_1/

    具有源类型 “拓扑” 的名称服务器数据备份

    完整_data_Backup_dataackup_1_1/

    具有源类型 “卷” 的名称服务器数据备份

    log_backup_0_0_0_0_0_0/

    源类型为 “目录” 的日志文件

    log_backup_1_0_ <backup ID>_ <backup ID>

    源类型为 “卷” 的日志文件

    下表提供了 TENNER 数据库文件夹结构的示例:

    Backup 文件夹 描述

    完整_data_Backup_dataackup_0_1/

    源类型 “拓扑” 的索引服务器数据备份

    完整_data_Backup_dataackup_2_1/

    使用源类型 “卷” 进行索引服务器数据备份

    完整_data_Backup_dataackup_3_1/

    具有源类型 “卷” 的 Xsengine 数据备份

    log_backup_0_0_0_0_0_0/

    源类型为 “目录” 的日志文件

    log_backup_2_0_ <backup ID>_ <backup ID>

    源类型为 “卷” 的日志文件

    log_backup_3_0_ <backup ID>_ <backup ID>

    源类型为 “卷” 的日志文件

    注意

    在执行步骤 a 和 b 之前,请确保没有运行备份进程。

    1. 更改 SYSTEM DB 的日志备份位置

      运行以下命令移动 SYSTEM DB 日志的卷类型。在示例中,我们使用相同的 Amazon S3 存储桶,但为日志备份创建另一个文件夹。

      # Create the folder structure aws s3api put-object --bucket <S3 bucket> --key <S3 folder for logs>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/SYSTEMDB/ # Execute a Dry Run to check aws s3 cp s3://<S3 bucket>/<S3 folder>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/SYSTEMDB/ s3://<S3 bucket>/<S3 folder for logs>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/SYSTEMDB/ --exclude "*" --include "log_backup_1_0*" --recursive --dryrun # Run the command to move the logs to the new S3 location aws s3 cp s3://<S3 bucket>/<S3 folder>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/SYSTEMDB/ s3://<S3 bucket>/<S3 folder for logs>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/SYSTEMDB/ --exclude "*" --include "log_backup_1_0*" --recursive # Check the output of the S3 location for logs aws s3 ls s3://<S3 bucket>/<S3 folder for logs>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/SYSTEMDB/
    2. 更改 TENNER DB 的日志备份位置

      运行以下命令以移动卷类型 TENNER DB 日志。在示例中,我们使用相同的 Amazon S3 存储桶,然后为日志备份创建另一个文件夹。您需要对每个租户数据库重复此步骤。

      #Create the folder structure aws s3api put-object --bucket <S3 bucket> --key <S3 folder for logs>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/DB_<SID>/ #Execute a Dry Run aws s3 cp s3://<S3 bucket>/<S3 folder>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/DB_<SID>/ s3://<S3 bucket>/<S3 bucket for logs>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/DB_<SID>/ --exclude "" --include "log_backup_2_0" --include "log_backup_3_0" —recursive —dryrun #Run the command to move the logs to the new S3 location aws s3 cp s3://<S3 bucket>/<S3 folder>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/DB_<SID>/ s3://<S3 bucket>/<S3 bucket for logs>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/DB_<SID>/ --exclude "" --include "log_backup_2_0" --include "log_backup_3_0" —recursive #Check the output of the S3 location for logs aws s3 ls s3://<S3 bucket>/<S3 bucket for logs>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/DB_<SID>/
  3. 创建aws-backint-agent-config-logs.yaml参数文件

    1. 创建现有的Amazon用于日志备份的 Backint 代理配置。

      cp /hana/shared/aws-backint-agent/aws-backint-agent-config.yaml \ /hana/shared/aws-backint-agent/aws-backint-agent-config-logs.yaml
    2. 修改S3BucketNameS3BucketFolder, 和LogFile中的参数aws-backint-agent-config-logs.yaml,使用您喜欢的编辑器。

      S3BucketName: "<Amazon S3 bucket for SAP HANA logs>" S3BucketFolder: "<Amazon S3 folder for SAP HANA logs>" LogFile: "/hana/shared/aws-backint-agent/aws-backint-agent-logs.log"
    3. 创建hdbbackint来自的软链接/usr/sap/<SID>/SYS/global/hdb/opt/hdbconfig//hana/shared/aws-backint-agent/.

      ln -s /hana/shared/aws-backint-agent/aws-backint-agent-config-logs.yaml \ /usr/sap/<SID>/SYS/global/hdb/opt/hdbconfig/aws-backint-agent-config-logs.yaml
  4. 将参数更改为指向新的AmazonBACKINT 配置文件

    将更改为log_backup_parameter_file/hana/shared/aws-backint-agent-config-logs.yaml.

  5. 验证以确保所有步骤都已正确处理

    1. 运行时间点恢复到以前的状态,以确保您可以访问新 Amazon S3 位置中的以前的日志文件。

    2. 验证新日志是否已上传到新 S3 位置。

  6. 删除以前的备份

    成功验证后,我们建议至少等待一周后再删除之前的日志。

    在做好准备之后,使用以下命令删除之前的日志。

    # Delete previous backups in SYSTEMDB aws s3 rm s3://<S3 bucket>/<S3 folder>/<SID/usr/sap/<SID/SYS/global/hdb/backint/SYSTEMDB/ --exclude "" --include "log_backup_1_0" —recursive —dryrun aws s3 rm s3://<S3 bucket>/<S3 folder>/<SID/usr/sap/<SID/SYS/global/hdb/backint/SYSTEMDB/ --exclude "" --include "log_backup_1_0" —recursive # Delete previous backups in the TENANT database (Repeat for each tenant) aws s3 rm s3://<S3 bucket>/<S3 folder>/<SID/usr/sap/<SID/SYS/global/hdb/backint/DB_<SID/ --exclude "" --include --include "log_backup_2_0" --include "log_backup_3_0" —recursive —dryrun aws s3 rm s3://<S3 bucket>/<S3 folder>/<SID/usr/sap/<SID/SYS/global/hdb/backint/DB_<SID/ --exclude "" --include "log_backup_2_0" --include "log_backup_3_0" —recursive

将 SAP HANA 配置为使用不同的 Amazon S3 存储桶和文件夹进行目录备份

Amazon默认情况下,Backint 代理对数据、日志和目录备份使用相同的参数。它将所有备份存储在同一 Amazon S3 存储桶和文件夹中。

data_backup_parameter_file = /usr/sap/<SID>/SYS/global/hdb/opt/hdbconfig/aws-backint-agent-config.yaml log_backup_parameter_file = /usr/sap/<SID>/SYS/global/hdb/opt/hdbconfig/aws-backint-agent-config.yaml catalog_backup_parameter_file = /usr/sap/<SID>/SYS/global/hdb/opt/hdbconfig/aws-backint-agent-config.yaml

要使用其他 Amazon S3 存储桶和文件夹进行目录备份,请按照以下步骤操作。

  1. 查看 SAP HANA 备份参数

    找到data_backup_parameter_filelog_backup_parameter_file, 和catalog_backup_parameter_file参数。这些参数的默认值应为/<installation directory>/aws-backint-agent/aws-backint-agent-config.yaml. 如果未看到此默认值,请检查配置文件以确认其显示的 Amazon S3 位置相同。

  2. 保留对存储在之前 Amazon S3 位置的日志备份的访问权限

    如果这是新设置或者您不想保留以前的目录备份,请跳过此步骤并继续步骤 3。

    使用源类型移动以前的目录备份catalog转到新的 Amazon S3 位置仅用于目录备份。可以通过运行以下 SQL 命令来确认源类型。

    select SOURCE_TYPE_NAME, DESTINATION_PATH from M_BACKUP_CATALOG_FILES

    将采用以下格式为备份目录分配名称:log_backup_0_0_0_0.<BackupID>. 这种类型的备份具有源类型catalog. 此文件包含存储所有备份历史记录的备份目录文件。只有具有源类型的目录备份catalog应移到新的 Amazon S3 位置。要更改日志备份的 Amazon S3 位置,请参阅将 SAP HANA 配置为使用不同的 Amazon S3 存储桶和文件夹进行数据和日志备份.

    下表提供了 SYSTEM DB 文件夹结构的示例:

    Backup 文件夹 描述

    完整_data_Backup_dataackup_0_1/

    具有源类型 “拓扑” 的名称服务器数据备份

    完整_data_Backup_dataackup_1_1/

    具有源类型 “卷” 的名称服务器数据备份

    log_backup_0_0_0_0_0_0/

    源类型为 “目录” 的日志文件

    log_backup_1_0_ <backup ID>_ <backup ID>

    源类型为 “卷” 的日志文件

    下表是 TENNER 数据库文件夹结构的示例:

    Backup 文件夹 描述

    完整_data_Backup_dataackup_0_1/

    源类型 “拓扑” 的索引服务器数据备份

    完整_data_Backup_dataackup_2_1/

    使用源类型 “卷” 进行索引服务器数据备份

    完整_data_Backup_dataackup_3_1/

    具有源类型 “卷” 的 Xsengine 数据备份

    log_backup_0_0_0_0_0_0/

    源类型为 “目录” 的日志文件

    log_backup_2_0_ <backup ID>_ <backup ID>

    源类型为 “卷” 的日志文件

    log_backup_3_0_ <backup ID>_ <backup ID>

    源类型为 “卷” 的日志文件

    注意

    在执行步骤 a 和 b 之前,请确保没有运行备份进程。

    1. 更改 SYSTEM DB 目录备份的位置

      运行以下命令移动catalogSYSTEM DB 日志的类型。在示例中,我们使用相同的 Amazon S3 存储桶,但创建另一个文件夹进行目录备份。

      # Create the folder structure aws s3api put-object --bucket <S3 bucket> --key <S3 folder for catalog>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/SYSTEMDB/ # Execute a Dry Run to check aws s3 cp s3://<S3 bucket>/<S3 folder>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/SYSTEMDB/ s3://<S3 bucket>/<S3 folder for catalog>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/SYSTEMDB/ --exclude "*" --include "log_backup_0_0_0_0*" --recursive --dryrun # Run the command to move the logs to the new S3 location aws s3 cp s3://<S3 bucket>/<S3 folder>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/SYSTEMDB/ s3://<S3 bucket>/<S3 folder for catalog>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/SYSTEMDB/ --exclude "*" --include "log_backup_0_0_0_0*" --recursive # Check the output of the S3 location for logs aws s3 ls s3://<S3 bucket>/<S3 folder for catalog>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/SYSTEMDB/
    2. 更改租户数据库的目录备份位置

      运行以下命令移动catalog键入租户数据库日志。在示例中,我们使用相同的 Amazon S3 存储桶,并创建另一个文件夹进行目录备份。您需要对每个租户数据库重复此步骤。

      #Create the folder structure aws s3api put-object --bucket <S3 bucket> --key <S3 folder for catalog>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/DB_<SID>/ #Execute a Dry Run aws s3 cp s3://<S3 bucket>/<S3 folder>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/DB_<SID>/ s3://<S3 bucket>/<S3 bucket for catalog>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/DB_<SID>/ --exclude "" --include "log_backup_0_0_0_0*" —recursive —dryrun #Run the command to move the catalog to the new S3 location aws s3 cp s3://<S3 bucket>/<S3 folder>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/DB_<SID>/ s3://<S3 bucket>/<S3 bucket for catalog>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/DB_<SID>/ --exclude "" --include "log_backup_0_0_0_0*" —recursive #Check the output of the S3 location for catalog
  3. 创建aws-backint-agent-config-catalog.yaml参数文件

    1. 创建现有的Amazon用于目录备份的 Backint 代理配置。

      cp /hana/shared/aws-backint-agent/aws-backint-agent-config.yaml \ /hana/shared/aws-backint-agent/aws-backint-agent-config-catalog.yaml
    2. 修改S3BucketNameS3BucketFolder, 和LogFile中的参数aws-backint-agent-config-catalog.yaml,使用您喜欢的编辑器。

      S3BucketName: "<Amazon S3 bucket for SAP HANA catalog>" S3BucketFolder: "<Amazon S3 folder for SAP HANA catalog>" LogFile: "/hana/shared/aws-backint-agent/aws-backint-agent-catalog.log"
    3. 创建hdbbackint来自的软链接/usr/sap/<SID>/SYS/global/hdb/opt/hdbconfig//hana/shared/aws-backint-agent/.

      ln -s /hana/shared/aws-backint-agent/aws-backint-agent-config-catalog.yaml \ /usr/sap/<SID>/SYS/global/hdb/opt/hdbconfig/aws-backint-agent-config-catalog.yaml
  4. 将参数更改为指向新的AmazonBACKINT 配置文件

    将更改为catalog_backup_parameter_file/hana/shared/aws-backint-agent-config-catalog.yaml.

  5. 验证以确保所有步骤都已正确处理

    1. 运行时间点恢复到以前的状态,以确保您可以访问新 Amazon S3 位置中的以前的日志文件。

    2. 验证新日志是否已上传到新 S3 位置。

  6. 删除以前的备份

    成功验证后,我们建议至少等待一周后再删除之前的目录。

    在做好准备之后,使用以下命令删除之前的日志。

    # Delete previous backups in SYSTEMDB aws s3 rm s3://<S3 bucket>/<S3 folder>/<SID/usr/sap/<SID/SYS/global/hdb/backint/SYSTEMDB/ --exclude "" --include "log_backup_0_0_0_0" —recursive —dryrun aws s3 rm s3://<S3 bucket>/<S3 folder>/<SID/usr/sap/<SID/SYS/global/hdb/backint/SYSTEMDB/ --exclude "" --include "log_backup_0_0_0_0" —recursive # Delete previous backups in the TENANT database (Repeat for each tenant) aws s3 rm s3://<S3 bucket>/<S3 folder>/<SID/usr/sap/<SID/SYS/global/hdb/backint/DB_<SID/ --exclude "" --include --include "log_backup_0_0_0_0" —recursive —dryrun aws s3 rm s3://<S3 bucket>/<S3 folder>/<SID/usr/sap/<SID/SYS/global/hdb/backint/DB_<SID/ --exclude "" --include "log_backup_0_0_0_0" —recursive

配置AmazonBackint 代理使用较短的 Amazon S3 路径

AmazonBackint 代理使用 SAP HANA 操作系统路径作为备份的默认位置,但是您可以将其配置为使用较短的路径。

默认路径

s3://<Amazon-s3-bucket><Amazon-s3-folder>/<SID>/usr/sap/ <SID>/sys/全局/HDB/Backint/

新路径 s3://<Amazon-s3-bucket>/<Amazon-s3-folder>/<SID>/

要使用较短的路径,请完成以下步骤。

  1. 查看 SAP HANA 备份参数

    找到data_backup_parameter_filelog_backup_parameter_file, 和catalog_backup_parameter_file参数。如果对数据、日志和目录备份使用相同的参数,则只需在aws-backint-agent-config.yaml文件。如果您使用的是不同的文件,则需要在两个文件中进行这些更改。

  2. 保留对存储在之前 Amazon S3 位置的备份的访问权限

    如果这是新设置或者您不想保留以前的目录备份,请跳过此步骤并继续步骤 3。

    确保没有运行备份进程,然后运行以下命令将之前的所有备份移动到新的 Amazon S3 位置。此步骤假定您对数据和日志都使用相同的配置参数。下面的示例使用相同的 S3 存储桶,但是您可以使用新存储桶。

    # Execute a Dry Run to check aws s3 cp s3://<S3 bucket>/<S3 folder>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/ s3://<S3 bucket>/<S3 folder>/<SID>/ --recursive --dryrun # Run the command to move the backups to new S3 location aws s3 cp s3://<S3 bucket>/<S3 folder>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/ s3://<S3 bucket>/<S3 folder>/<SID>/ --recursive # Check the output of both S3 location aws s3 ls s3://<S3 bucket>/<S3 folder>/<SID>/
  3. 修改 aws-backint-agent-config.yaml

    vi /hana/shared/aws-backint-agent/aws-backint-agent-config.yaml

    添加S3ShortenDestinationBackupEnabled中的参数aws-backint-agent-config.yaml,使用您喜欢的编辑器。

    S3ShortenBackupDestinationEnabled: "true"
  4. 验证以确保所有步骤都已正确处理

    1. 运行时间点恢复到以前的状态,以确保您可以访问新 Amazon S3 位置中的以前的日志文件。

    2. 验证新日志是否已上传到新 S3 位置。

  5. 删除以前的备份

    成功验证后,我们建议至少等待一周后再删除之前的目录。

    在做好准备之后,使用以下命令删除之前的日志。

    # Execute a Dry Run to make sure aws s3 rm s3://<S3 bucket>/<S3 folder>/<SID>/usr --recursive --dryrun # Run the command to delete it in the previous S3 location aws s3 rm s3://<S3 bucket>/<S3 folder>/<SID>/usr --recursive # Check the output of both S3 location aws s3 ls s3://<S3 bucket>/<S3 folder>/<SID>/

查看AmazonBackint 代理日志

当AmazonSAP HANA 为备份和还原相关操作调用 Backint 代理,日志写入为aws-backint-agent.log<installation directory>/aws-backint-agent/folder。如果要更改的位置AmazonBackint 代理日志,你可以更新参数LogFile中的aws-backint-agent-config.yaml文件。

获取当前安装的AmazonBackint 代理版本

显示 backint 版本和当前版本Amazon它支持的 Backint 代理版本,运行hdbbackint命令使用–v安装目录中的参数作为<SID>adm用户,如以下示例所示。

/usr/sap/<SID>/SYS/global/hdb/opt/hdbbackint -v

例如,在系统上运行前面的命令SID如同HDB返回AmazonBackint 代理版本为 1.05,如下图所示。

/usr/sap/<SID>/SYS/global/hdb/opt/hdbbackint -v

更新或安装以前版本的AmazonBackint 代理

代理程序和安装程序一起发布,它们的版本将始终匹配。安装程序的最新版本和早期版本可以在以下 S3 存储桶位置找到:

  • 最新版本 s3://awssap-backint-agent-cn-north-1/binary/latest/install-aws-backint-agent

  • 先前版本 s3://awssap-backint-agent-cn-north-1/binary/agent-version/install-aws-backint-agent

要安装以前版本的安装程序,请从包含以前版本的 S3 文件夹下载要安装的版本。

注意

安装程序将下载并安装与安装程序版本对应的代理版本。

使用 SSM 文档安装代理时,可以输入要安装的版本。

性能优化

Amazon使用优化备份和还原操作性能的默认值安装 Backint 代理。如果要进一步优化备份和还原操作的性能,可以调整 UploadChannelSizeMaximumConcurrentFilesForRestore 参数。确保使用正确的实例类型和存储配置以获得最佳性能。AmazonBackint 代理受实例中可用资源的限制。

UploadChannelSize 参数用于确定备份期间可以将多少个文件并行上传到 S3 存储桶。此参数的默认值为 10,它在大多数情况下可提供最佳性能。

这些区域有:UploadConcurrency参数用于确定备份期间可以并行工作多少个 S3 线程。此参数的默认值为 100,它在大多数情况下可提供最佳性能。

MaximumConcurrentFilesForRestore 参数用于确定在还原操作期间可以从 S3 并行下载多少个文件。此参数的默认值为 5,它为大多数使用案例提供最佳性能。

如果要调整这些参数,可以将它们添加到 aws-backint-agent-config.yaml 文件并调整值(最多可达到允许的最大值)。我们强烈建议您在更改后测试备份和恢复操作,以确保不会对您的备份和还原操作以及其他标准操作产生意想不到的影响。

此外,要在备份和还原操作期间获得最佳性能,请确保按照以下最佳实践配置 SAP HANA 数据和日志卷。Amazon. 请参阅SAP HANA 的存储配置部分上的 SAP HANAAmazon有关详细信息的文档。

订阅AmazonBackint 代理通知

Amazon Simple Notification Service (Amazon SNS) 可以在新版本时通知您AmazonBackint 代理或AmazonBackint 安装程序已发布。以下过程显示了如何订阅这些通知。

订阅AmazonBackint 代理通知

  1. 通过以下网址打开 Amazon SNS 控制台:https://console.aws.amazon.com/sns/v3/home

  2. 从导航栏的区域选择器中,如果尚未选中美国东部(弗吉尼亚北部),请选择它。您必须选择此区域,因为Amazon您订阅的 Backint 代理仅在此区域中生成。

  3. 在导航窗格中,选择 Subscriptions

  4. 选择 Create subscription

  5. 对于创建订阅,请执行以下操作:

    1. 对于 Topic ARN,请使用以下 Amazon Resource Name (ARN):

      arn:aws-cn:sns:cn-north-1:476271213511:Amazon-Backint-Agent-Update

    2. 对于 Protocol (协议),选择 Email (电子邮件)SMS

    3. 对于终端节点,输入可以用于接收通知的电子邮件地址。如果您选择 SMS,请输入区号和号码。

    4. 选择 Create subscription(创建订阅)

  6. 如果选择电子邮件,则您会收到一封要求确认订阅的电子邮件。打开电子邮件,然后按照说明操作以完成订阅。

    每当新版本AmazonBackint 代理或AmazonBackint 安装程序已发布,我们会向订户发送通知。如果您不希望再收到这些通知,请通过以下步骤取消订阅。

要从取消订阅AmazonBackint 代理通知

  1. 打开 Amazon SNS 控制台。

  2. 在导航窗格中,选择 Subscriptions

  3. 选择订阅,然后依次选择操作删除订阅。当系统提示进行确认时,选择 Delete