本指南介绍如何配置 Google Cloud 的 Agent for SAP,以便为 SAP HANA 执行基于 Backint 的备份和恢复。
如需了解此功能,请参阅使用 Backint 为 SAP HANA 执行备份和恢复。
如需了解如何使用 Backint 为 SAP HANA 执行备份和恢复操作,请参阅使用 Backint 备份和恢复 SAP HANA。
准备工作
- 验证已安装 Google Cloud 的 Agent for SAP 3.5 版(最新版)。如需查看相关说明,请参阅适合您的场景的安装指南。
- 如果您已在裸金属解决方案服务器上安装代理,请确保已满足所需的前提条件并设置服务账号。如需查看相关说明,请参阅在 Linux 上配置 Google Cloud 的 Agent for SAP。
- 如果您需要为在 Compute Engine 虚拟机 (VM) 实例或裸金属解决方案服务器以外的主机上运行的 Google Cloud 的 Agent for SAP 实例启用此功能,则您必须在组件
BC-OP-LNX-GOOGLE
中创建一个支持 SAP 的突发事件,以便 SAP 和 Google Cloud 都可以评估您的配置。 - 安装 SAP HANA:
- 如需了解如何使用 Terraform 在 Google Cloud 上自动安装 SAP HANA,请参阅适合您的场景的部署指南。
- 如需了解如何在裸金属解决方案上安装 SAP HANA,请参阅裸金属解决方案上的 SAP HANA 规划指南。
创建 Cloud Storage 存储桶
在启用 Google Cloud 的 Agent for SAP 的 Backint 功能之前,请确保存在一个用于存储备份的 Cloud Storage 存储桶。如果您有 Cloud Storage 存储桶,则可以跳过本部分。
如需了解如何将备份存储在 Cloud Storage 存储桶中,请参阅将备份存储在 Cloud Storage 存储桶中。
要创建 Cloud Storage 存储桶,请执行以下操作:
Google Cloud 控制台
- In the Google Cloud console, go to the Cloud Storage Buckets page.
- Click Create bucket.
- On the Create a bucket page, enter your bucket information. To go to the next
step, click Continue.
- For Name your bucket, enter a name that meets the bucket naming requirements.
-
For Choose where to store your data, do the following:
- Select a Location type option.
- Select a Location option.
- For Choose a default storage class for your data, select a storage class.
- For Choose how to control access to objects, select an Access control option.
- For Advanced settings (optional), specify an encryption method, a retention policy, or bucket labels.
- Click Create.
命令行
设置 IAM 角色
如需允许 Google Cloud 的 SAP for Agent 为 SAP HANA 执行备份和恢复操作,您必须确保 Compute Engine 虚拟机或裸金属解决方案服务器使用的服务账号包含 IAM 角色 Storage Object Admin (storage.objectAdmin
)。
如需将此角色添加到您的服务账号,请按以下步骤操作:
在 Google Cloud 控制台中,转到 IAM 页面。
选择您的 Google Cloud 项目。
识别要添加角色的服务账号。
- 如果该服务账号不在主账号列表中,则表明还没有为它分配任何角色。点击添加,然后输入该服务账号的电子邮件地址。
- 如果该服务账号已经在主账号列表中,则表明它已具有角色。点击要修改的服务账号对应的修改按钮。
从可用角色列表中,选择 Storage Object Admin。
点击添加或保存,将相应角色应用于该服务账号。
启用对 Cloud API 和元数据服务器的访问权限
在备份和恢复操作期间,Google Cloud 的 Agent for SAP 需要访问以下 Google Cloud IP 地址和主机:
- 用于访问 Cloud Storage:
storage.googleapis.com
。 - 用于访问 Compute Engine 虚拟机实例元数据服务器:
oauth2.googleapis.com
(用于进行身份验证)169.254.169.254
metadata.google.internal
如果 Google Cloud 的 SAP for SAP 和 SAP HANA 系统在无法访问互联网的 Compute Engine 虚拟机上运行,则需要配置专用 Google 访问通道,以便代理可以与 Cloud Storage 交互;如果使用专用服务账号,则可向 Google Cloud 验证自己的身份。如需了解说明,请参阅配置专用 Google 访问通道。
启用 Backint 功能
如需启用 Google Cloud 的 Agent for SAP 的 Backint 功能,请完成以下步骤:
使用 SSH 连接到您的 SAP HANA 主机。
如果您的主机是 Compute Engine 虚拟机,则可在 Google Cloud 控制台中的虚拟机实例页面针对您的虚拟机实例点击 SSH 按钮,或使用您偏好的 SSH 方法。
切换到 SAP HANA 系统管理员:
sudo su - SID_LCadm
将
SID_LC
替换为 SID。对于任何字母,请使用小写字母。此命令还会设置多个环境变量,包括使用 SAP HANA 数据库 SID 设置的
$SAPSYSTEMNAME
。为 Google Cloud 的 Agent for SAP 启用 Backint 功能:
/usr/bin/google_cloud_sap_agent installbackint
或者,如需在具有不同 SID 的主机上安装 Backint 相关文件,请添加
sid
标志:/usr/bin/google_cloud_sap_agent installbackint -sid=DIFFERENT_SID_LC
将
DIFFERENT_SID_LC
替换为所需 SAP HANA 实例的 SID。对于任何字母,请使用小写字母。命令成功运行后,与 Google Cloud 的 Agent for SAP 的 Backint 功能相关的所有文件都将安装在
/usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs/
目录中。这包括将代理与 SAP HANA 集成所必需的文件。它还会在主机上检测适用于 SAP HANA 的 Cloud Storage Backint 代理,停用该代理,并将其文件复制到主机上的可恢复目录。如需了解详情,请参阅从 Backint 代理升级。配置 Backint 功能:
运行命令
如需配置代理的 Backint 功能,请运行
configurebackint
命令。我们建议使用此方法,而不是修改 Backint 配置文件。/usr/bin/google_cloud_sap_agent configurebackint \ -f="PATH_TO_PARAMETERS_FILE" \ -bucket="BUCKET_NAME"
替换以下内容:
PATH_TO_PARAMETERS_FILE
:PARAMETERS.json
Backint 配置文件的路径BUCKET_NAME
:指定存储 SAP HANA 备份的 Cloud Storage 存储桶的名称您可以选择在运行此命令时设置更多参数。如需了解这些参数,请参阅配置参数。
修改配置文件
作为运行代理的
configurebackint
命令的替代方法,您可以按如下方式修改 Backint 配置文件:打开 Backint 配置文件:
/usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs/parameters.json
将
SID
替换为安装 Backint 相关文件的 SAP 系统的 SID。以下是配置文件所包含内容的示例:
{ "bucket": "", "log_to_cloud": true }
如需允许 Google Cloud 的 Agent for SAP 为 SAP HANA 系统执行基于 Backint 的备份和恢复操作,请修改配置文件,然后指定以下参数:
bucket
:指定存储 SAP HANA 备份的 Cloud Storage 存储桶的名称service_account_key
:如果您已为 Google Cloud 的 Agent for SAP 创建服务账号,请指定主机上用于上传相应 JSON 编码服务账号密钥的目录的绝对路径
如需了解详情,请参阅服务账号注意事项。
(可选)您可以修改其他配置参数。如需了解这些参数,请参阅配置参数。
保存配置文件。
自定义 Backint 配置文件
(可选)启用 Google Cloud 的 Agent for SAP 的 Backint 功能后,您可以执行以下自定义操作:
重命名
parameters.json
文件。为了指明此重命名操作,该文件在 Google Cloud 的 SAP for Agent 文档中称为
PARAMETERS.json
。为以下各项创建单独的配置文件:SAP HANA 数据卷、SAP HANA 日志卷和 SAP HANA 备份目录。
请确保为每个配置文件设置唯一的名称。
将这些配置文件移动到其他目录。例如,在横向扩容部署中,您可以将所有节点的 Backint 相关配置文件存储在可供节点访问的共享目录中。这样,您就可以更轻松地管理这些文件。
如果要执行上述任一自定义操作,请务必为 SAP HANA 的 global.ini
文件中的参数指定适当的文件名和路径。如需查看相关说明,请参阅配置 SAP HANA 以使用 Backint 功能。
配置 SAP HANA 以使用 Backint 功能
启用 Google Cloud 的 Agent for SAP 的 Backint 功能后,需要配置 SAP HANA 系统以使用此功能:
使用 SAP HANA Studio 或 SAP HANA Cockpit 修改
global.ini
配置文件。在
global.ini
文件的backup
部分中,为以下参数指定值:参数 值 data_backup_parameter_file
/usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs/PARAMETERS_DATA.json
。parallel_data_backup_backint_channels
对于多流处理数据备份,请根据您使用的 Cloud Storage 存储桶类型、所需的性能和磁盘吞吐量指定通道数量。 log_backup_using_backint
如果要为 SAP HANA 备份日志卷使用单独的配置文件,请指定值 true
。log_backup_parameter_file
如果要为 SAP HANA 备份日志卷使用单独的配置文件,请指定以下值:
/usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs/PARAMETERS_LOG.json
。将
PARAMETERS_LOG
替换为用于 SAP HANA 日志卷备份的配置文件的名称。catalog_backup_using_backint
如果要为 SAP HANA 备份目录使用单独的配置文件,请指定值 true
。catalog_backup_parameter_file
如果要为 SAP HANA 备份目录使用单独的配置文件,请指定以下值:
/usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs/PARAMETERS_CATALOG.json
。将
PARAMETERS_CATALOG
替换为用于 SAP HANA 备份目录备份的配置文件的名称。以下是一个
global.ini
文件的示例,该文件配置为使用 Google Cloud 的 Agent for SAP 的 Backint 功能:[backup] log_backup_using_backint = true catalog_backup_using_backint = true parallel_data_backup_backint_channels = 16 catalog_backup_parameter_file = /usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs/parameters-catalog.json data_backup_parameter_file = /usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs/parameters-data.json log_backup_parameter_file = /usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs/parameters-log.json
在
global.ini
文件的persistence
部分中,为以下参数指定值:basepath_logbackup
:指定 SAP HANA 无法连接到 Cloud Storage 存储桶时文件系统中 SAP HANA 可用于存储日志备份的目录;确保此目录有足够的空间来存储备份。basepath_catalogbackup
:指定 SAP HANA 无法连接到 Cloud Storage 存储桶时文件系统中 SAP HANA 可用于存储 SAP HANA 备份目录的备份的目录;确保此目录有足够的空间来存储备份。
验证备份和恢复
启用 Google Cloud 的 Agent for SAP 的 Backint 功能后,请务必通过在测试系统中创建和恢复备份来验证此功能。
如需进行测试,您可以使用代理的内置自身诊断工具。您的文件系统中至少需要有 18 GB 的可用磁盘空间才能运行此内置工具。如需使用此内置工具验证备份和恢复,请运行以下命令:
sudo /usr/bin/google_cloud_sap_agent backint -u=IDENTIFIER -p=PATH_TO_PARAMETERS_FILE -f=diagnose
替换以下内容:
IDENTIFIER
:可标识命令执行的值。此标识符用于命名在执行诊断时在 Cloud Storage 存储桶中创建的临时文件夹。PATH_TO_PARAMETERS_FILE
:PARAMETERS.json
文件的路径
使用此工具时,您可以使用可选参数 diagnose_file_max_size_gb
和 diagnose_tmp_directory
。如需详细了解这些参数,请参阅配置参数中这些参数的说明。
如果您在主机上安装了 Backint 代理,则首次使用 Google Cloud 的 Agent for SAP 执行备份操作时,Google Cloud 的 Agent for SAP 会创建 JSON 版本的文本配置文件。如需了解详情,请参阅从 Backint 代理升级。
示例配置文件
以下是 Google Cloud 的 Agent for SAP 的 Backint 功能的已完成 PARAMETERS.json
配置文件:
{ "bucket": "example-bucket-backup", "recovery_bucket": "example-bucket-recovery", "parallel_streams": 8, "service_account_key": "path/to/key/file.json", "rate_limit_mb": 100, "log_to_cloud": true, "log_level": "DEBUG" }
配置参数
下表说明了 Google Cloud 的 Agent for SAP 的特定于 Backint 功能的配置参数。
如需了解 Backint 代理的配置参数与 Google Cloud 的 Agent for SAP 之间的映射,请参阅配置参数映射。
如需了解 Google Cloud 的 SAP for Agent 的配置参数(包括与指标收集相关的参数),请参阅适用于您的场景的安装指南。
参数 | |
---|---|
bucket |
指定 Google Cloud 的 Agent for SAP 对其执行读取操作的 Cloud Storage 存储桶的名称。代理使用存储桶的存储类创建备份对象,并支持所有存储类别。代理使用 Compute Engine 默认加密来加密静态数据。 |
recovery_bucket |
可选。指定代理在
虽然我们建议使用此参数来简化系统复制和系统刷新操作的配置管理,但在 SAP HANA 恢复操作期间,它与 |
log_to_cloud |
可选。如需将 Google Cloud 的 Agent for SAP 的 Backint 相关日志重定向到 Cloud Logging,请指定 如需了解与 Backint 相关的日志文件,请参阅日志记录。 |
log_level |
可选。指定 Google Cloud 的 Agent for SAP 的 Backint 功能的日志记录级别,设置所需的值。可用的日志级别如下:
默认值为 |
compress |
可选。指定 Google Cloud 的 SAP for Agent 是否在将备份写入 Cloud Storage 存储桶时启用压缩。默认值为 我们建议您不要启用压缩。尽管压缩减少了 Cloud Storage 中备份的存储费用,但它在备份操作期间需要更多的 CPU 处理,并且会减慢有效的备份吞吐量。 无论此参数如何,Google Cloud 的 Agent for SAP 在恢复操作期间都支持已压缩和未压缩的备份文件。 |
encryption_key |
可选。指定您已配置 Cloud Storage 存储桶用于加密备份的客户提供的加密密钥的路径。请务必指定 base64 编码的 AES-256 密钥的完全限定路径。 您不能使用 |
kms_key |
可选。指定您已配置 Cloud Storage 存储桶用于加密备份的客户管理的加密密钥的路径。使用
如果您的 SAP HANA 系统在 Compute Engine 虚拟机上运行,则该密钥必须可供虚拟机访问。如果您的 SAP HANA 系统在 Compute Engine 虚拟机以外的主机上运行,则 Cloud KMS 密钥必须可供 Google Cloud 的 Agent for SAP 使用的服务账号访问。 如需了解详情,请参阅服务账号。 您不能使用 |
folder_prefix |
可选。指定为 Cloud Storage 存储桶中 Google Cloud 的 Agent for SAP 读写的文件夹设置前缀。您可以使用此参数来整理同一 Cloud Storage 存储桶中不同 SAP HANA 实例的备份。您可以指定单个文件夹(例如 此前缀作为文件夹插入 Cloud Storage 中 SAP HANA 备份的路径中的 自 3.1 版代理起,可以使用此参数。 |
recovery_folder_prefix |
可选。指定为 自 3.1 版代理起,可以使用此参数。
虽然我们建议使用此参数来简化系统复制和系统刷新操作的配置管理,但在 SAP HANA 恢复操作期间,它与 |
shorten_folder_path |
可选。指定在所有 Backint 操作期间,代理在 Cloud Storage 存储桶中读取和写入的对象路径。如需了解详情,请参阅支持的自定义。 自 3.3 版代理起,可以使用此参数。 |
retries |
指定 Google Cloud 的 Agent for SAP 在对 Cloud Storage 进行读写操作失败后重试的次数上限。默认值为 |
parallel_streams |
可选。指定此参数可启用将备份并行上传到您的 Cloud Storage 存储桶。您为此参数指定的值是 Google Cloud 的 Agent for SAP 可以使用的并行上传流的最大数量。最大值为 32。任何超过此上限的值都将限制为 32。 默认值为 如果要为流式数据启用并行上传,或者您的 Cloud Storage 存储桶具有保留政策,则还必须将 如果存在以下任一情况,请勿启用并行上传:
如果满足上述任何条件,则代理会退出,并显示 |
xml_multipart_upload |
可选。指定在将备份写入 Cloud Storage 存储桶时是否使用 XML API 分段上传方法。默认值为 自 3.2 版代理起,可以使用此参数。 如需使用 XML API 分段上传方法, 我们建议仅将 如需了解如何为日志和数据备份创建单独的参数文件,以及如何为 如果发生任何失败情况,则系统会自动取消 XML 分段上传,并删除正在上传的数据。我们还建议您为 AbortIncompleteMultipartUpload 设置生命周期条件,以确保在上传操作失败时删除数据。 |
storage_class |
可选。指定在将备份写入 Cloud Storage 存储桶时使用的存储类别。可用的存储类别如下所示:
默认值为 自 3.2 版代理起,可以使用此参数。 |
metadata |
可选。指定在将备份写入 Cloud Storage 存储桶时要以对象元数据的形式存储的键值对字段。 自 3.3 版代理起,可以使用此参数。 示例 { "bucket": "example-bucket-backup", "metadata": {"key1": "value1", "key2": "value2"}, "log_to_cloud": true } 写入的默认元数据是 |
custom_time |
可选。为您上传到 Cloud Storage 的备份的 自 3.4 版代理起,可以使用此参数。 您可以为此参数设置值 { "bucket": "example-bucket-backup", "custom_time": "UTCNow", "log_to_cloud": true } 以下示例展示了如何使用 { "bucket": "example-bucket-backup", "custom_time": "2024-06-25T13:25:00Z", "log_to_cloud": true } |
rate_limit_mb |
可选。指定备份或恢复操作期间 Compute Engine 出站网络带宽的上限(以 MB 为单位)。默认情况下,Google Cloud 不会限制 Google Cloud 的 Agent for SAP 的网络带宽。当您设置此参数时,吞吐量可能会有所不同,但不会超过指定的限制。 |
service_account_key |
如果 Google Cloud 的 Agent for SAP 未在 Compute Engine 虚拟机上运行,请指定 JSON 编码的 Google Cloud 服务账号的完全限定路径。如果 Google Cloud 的 SAP for Agent 在 Compute Engine 虚拟机上运行,我们建议您不要指定此参数,而应使用 Compute Engine 默认身份验证。 指定此参数会指示 Google Cloud 的 Agent for SAP 在向 Cloud Storage 进行身份验证时使用服务账号密钥。 |
diagnose_file_max_size_gb |
可选。指定代理的自我诊断工具创建和删除的临时文件大小的上限(以 GB 为单位)。默认值为 16 GB。 自 3.3 版代理起,可以使用此参数。 为了让自我诊断工具正常运行,您必须确保文件系统的可用存储空间至少比 |
diagnose_tmp_directory |
可选。为代理的自身诊断工具指定用于读取和写入临时文件的目录。默认值为 自 3.3 版代理起,可以使用此参数。 |
send_metrics_to_monitoring |
可选。指定代理是否可以收集在 Backint 操作期间上传或下载的文件的状态和吞吐量的相关指标。代理会将收集的指标发送到 Cloud Monitoring。 自 3.3 版代理起,可以使用此参数。 默认值为 |
threads |
这是可选的高级调参。除非收到 Customer Care 指示,否则请勿修改此参数。它的默认值很少需要修改。 指定工作器线程数。默认值为主机中的处理器数量。 |
file_read_timeout_ms |
这是可选的高级调参。除非收到 Customer Care 指示,否则请勿修改此参数。它的默认值很少需要修改。 指定 Google Cloud 的 Agent for SAP 等待打开备份文件的最长时间(以毫秒为单位)。默认值为 |
buffer_size_mb |
这是可选的高级调参。除非收到 Customer Care 指示,否则请勿修改此参数。它的默认值很少需要修改。 指定此参数来控制备份或恢复操作期间发送到 Cloud Storage 的 HTTPS 请求的大小。默认缓冲区空间为 100 MB,这意味着往返 Cloud Storage 的单个 HTTPS 请求流将保持开启状态,直到传输了 100 MB 的数据为止。缓冲区空间上限为 250 MB。 由于 Google Cloud 的 Agent for SAP 会在操作失败之前多次重试失败的 HTTPS 请求,因此小于 100 MB 的缓冲区空间会减少请求失败时需要重新传输的数据。虽然更大的缓冲区空间可以提高吞吐量,但在请求失败时需要更多的内存用量和更多的时间来重新发送数据。 如果您使用的是 |
retry_backoff_initial |
这是可选的高级调参。除非收到 Customer Care 指示,否则请勿修改此参数。它的默认值很少需要修改。 指定指数退避算法网络重试中使用的重试期的初始值(以秒为单位)。默认值为 |
retry_backoff_max |
这是可选的高级调参。除非收到 Customer Care 指示,否则请勿修改此参数。它的默认值很少需要修改。 指定指数退避算法网络重试中使用的重试期的最大值(以秒为单位)。默认值为 |
retry_backoff_multiplier |
这是可选的高级调参。除非收到 Customer Care 指示,否则请勿修改此参数。它的默认值很少需要修改。 指定指数退避算法网络重试中使用的重试期的乘数。乘数必须大于 |
log_delay_sec |
这是可选的高级调参。除非收到 Customer Care 指示,否则请勿修改此参数。它的默认值很少需要修改。 指定对 Cloud Storage 存储桶进行读写操作期间进度更新的日志记录延迟时间(以秒为单位)。默认值为 |
client_endpoint |
这是可选的高级调参。除非收到 Customer Care 指示,否则请勿修改此参数。它的默认值很少需要修改。 指定 Cloud Storage 客户端的端点。默认值为 |
问题排查
如需排查 Google Cloud 的 Agent for SAP 3.5 版(最新版)的问题,请参阅 Google Cloud 的 Agent for SAP 问题排查指南。
获取支持
如果您在解决 Google Cloud 的 Agent for SAP 的问题时需要帮助,请收集所需的诊断信息并与 Cloud Customer Care 联系。如需了解详情,请参阅适用于 SAP HANA 的 Google Cloud 的 Agent for SAP 诊断信息。