本指南介绍如何配置 Google Cloud 的 Agent for SAP,以便为 SAP HANA 执行基于 Backint 的备份和恢复。
如需了解此功能,请参阅适用于 SAP HANA 的基于 Backint 的备份和恢复。
如需了解如何使用 Backint 为 SAP HANA 执行备份和恢复操作,请参阅使用 Backint 执行备份和恢复。
准备工作
- 验证已安装 Google Cloud 的 Agent for SAP 3.2 版(最新版)。如需查看相关说明,请参阅适合您的场景的安装指南。
- 如果您已在裸金属解决方案服务器上安装代理,请确保已满足所需的前提条件并设置服务账号。如需查看相关说明,请参阅在 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 功能后,请务必通过在测试系统中创建和恢复备份来验证此功能。
如需进行测试,您可以使用代理的内置自身诊断工具。如需使用此内置工具验证备份和恢复,请运行以下命令:
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
文件的路径
如果您在主机上安装了 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 |
可选。指定代理在 |
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 备份的路径中的 |
recovery_folder_prefix |
可选。指定为 |
retries |
指定 Google Cloud 的 Agent for SAP 在对 Cloud Storage 进行读写操作失败后重试的次数上限。默认值为 |
parallel_streams |
可选。指定启用并行上传,并指定 Google Cloud 的 Agent for SAP 可以使用的并行上传流的最大数量。默认值 如果要为流式数据启用并行上传,或者您的 Cloud Storage 存储桶具有保留政策,则还必须将 如果存在以下任一情况,请勿启用并行上传:
如果满足上述任何条件,则代理会退出,并显示 |
xml_multipart_upload |
可选。指定在将备份写入 Cloud Storage 存储桶时是否使用 XML API 分段上传方法。默认值为 如需使用 XML API 分段上传方法, 我们建议仅将 如需了解如何为日志和数据备份创建单独的参数文件,以及如何为 如果发生任何失败情况,则系统会自动取消 XML 分段上传,并删除正在上传的数据。我们还建议您为 AbortIncompleteMultipartUpload 设置生命周期条件,以确保在上传操作失败时删除数据。 |
storage_class |
可选。指定在将备份写入 Cloud Storage 存储桶时使用的存储类别。可用的存储类别如下所示:
默认值为 |
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 进行身份验证时使用服务账号密钥。 |
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 的单个 HTTP 请求流将保持开启状态,直到传输了 100 MB 的数据为止。 由于 Google Cloud 的 Agent for SAP 会在操作失败之前多次重试失败的 HTTP 请求,因此小于 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.2 版(最新版)的问题,请参阅 Google Cloud 的 Agent for SAP 问题排查指南。
获取支持
如果您在解决 Google Cloud 的 Agent for SAP 的问题时需要帮助,请收集所需的诊断信息并与 Cloud Customer Care 联系。如需了解详情,请参阅适用于 SAP HANA 的 Google Cloud 的 Agent for SAP 诊断信息。