这些说明介绍了如何安装和配置适用于 SAP HANA 的 Cloud Storage Backint 代理(Backint 代理)。
如需了解 Backint 代理的配置选项,请参阅适用于 SAP HANA 的 Cloud Storage Backint 代理概览。
前提条件
您必须先安装 SAP HANA,然后才能安装 Backint 代理。如需在 Google Cloud 上安装 SAP HANA,请参阅 SAP HANA 部署指南。
如需了解如何在 Bare Metal 解决方案上安装 SAP HANA,请参阅 Bare Metal 解决方案上的 SAP HANA 规划指南。
如果主机虚拟机无法访问互联网,您需要配置专用 Google 访问通道,以便 Backint 代理可以访问 Google Cloud API。如需配置专用 Google 访问通道,请参阅配置专用 Google 访问通道。
创建 Cloud Storage 存储桶以进行备份
在配置 Backint 代理之前,您需要创建一个 Cloud Storage 存储分区来保存备份。
如需创建 Cloud Storage 存储桶,请使用 Google Cloud 控制台。
如需了解存储桶选项,请参阅将备份存储在 Cloud Storage 存储桶中。
在 Google Cloud 控制台中打开 Cloud Storage 浏览器。
点击创建存储桶。
为您的存储桶命名,然后点击继续。
按照提示选择您的存储分区选项。
点击创建。
要配置存储桶权限,请点击“权限”标签。默认情况下,您作为存储桶的所有者,拥有存储桶的读写权限。您还可以允许其他主账号访问您的存储桶。
在 SAP HANA 主机上安装 Backint 代理
Backint 代理安装在与 SAP HANA 数据库相同的共享文件系统中。
在 SAP HANA 横向扩容部署中,在 SAP HANA 系统的每个节点上安装 Backint 代理。为了简化管理,您可以将配置文件存储在可供部署中的所有节点访问的共享位置,例如 /hana/shared
。
使用 SSH 连接到您的 SAP HANA 主机。如果您的主机是 Compute Engine 虚拟机,您可以在“虚拟机实例”页面中点击虚拟机实例对应的 SSH 按钮,也可以使用自己偏好的 SSH 方法。
切换到 SAP HANA 系统管理员。
sudo su - SID_LCadm
下载并安装 Backint 代理。
curl -O https://storage.googleapis.com/cloudsapdeploy/backint-gcs/install.sh chmod +x install.sh ./install.sh
install.sh
脚本会执行以下操作:- 在
/usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs
中以 JAR 文件的形式安装 Backint 代理。 - 下载兼容的 Java 运行时环境版本。
- 设置调用 Backint 代理的
backint
脚本。除非收到 Cloud Customer Care 指示,否则请勿修改backint
脚本。 - 完成后,发出一条消息提示您更新 parameters.txt 文件并设置身份验证。 如需了解详情,请参阅配置 Backint 代理和 SAP HANA。
- 在
如果您属于以下任一情况,则需要为 Backint 代理创建服务账号:
- 您需要 Backint 代理使用与主机 Compute Engine 虚拟机所用资源集不同的资源权限。
- SAP HANA 在裸机解决方案上运行。
- SAP HANA 不在 Google Cloud 上运行。
要为 Backint 代理创建服务账号:
在 Google Cloud 控制台中,转到服务账号页面。
选择您的 Google Cloud 项目。
点击创建服务账号。
为服务账号指定名称并提供说明(可选)。
点击创建并继续。
点击继续以创建没有权限的服务账号。
根据具体情况授予其他用户访问服务账号的权限。
点击完成。
在 Google Cloud 控制台中的服务账号页面上,点击您刚创建的服务账号的电子邮件地址。
在服务账号名称下,点击密钥标签页。
点击添加密钥下拉菜单,然后选择创建新密钥以创建服务账号密钥。
接受 JSON 作为密钥类型,然后点击创建。私钥已保存到您的计算机。
将 JSON 密钥文件上传到 SAP HANA 主机。
- 将
.json
文件存储在SID_LCadm
用户可以访问的目录中,例如/usr/sap/SID/home
- 确保
SID_LCadm
用户有权读取该文件。
- 将
更新 Cloud Storage 存储桶,以向服务账号授予使用存储桶的权限:
在 Cloud Storage 浏览器中点击您的存储桶名称。
点击权限标签页。
点击添加主账号。
在新的主账号字段中,输入服务账号的完整电子邮件地址。例如:
backint-test@my-project.iam.gserviceaccount.com
点击选择角色下拉列表,然后输入 Storage Object Admin。
点击保存。
配置 Backint 代理和 SAP HANA
您可以通过在纯文本配置文件中指定参数来配置 Backint 代理。
您可以为所有备份类型(数据、日志和目录)使用相同的配置,也可以为每种备份类型使用不同的配置,为每个备份类型使用不同的配置。
您可以通过指定 global.ini
文件中的参数来指定 SAP HANA 中每个 Backint 代理配置文件的路径。
通过在
parameters.txt
文件中指定参数来配置 Backint 代理。您可以根据需要重命名文件。使用您的首选方式修改
parameters.txt
文件。该文件安装在以下目录中。/usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs/parameters.txt
您可以重命名
parameters.txt
文件,并为数据、日志和目录备份使用不同的配置文件。如需了解配置参数的说明和性能建议,请参阅 Backint 代理的配置选项。
指定用于备份的 Cloud Storage 存储桶的名称。
#BUCKET bucket-name
如果您为 Backint 代理创建了服务账号和私钥,请将 JSON 密钥文件的路径添加到。
#SERVICE_ACCOUNT /path/key-file-name.json
以下示例展示了有效的
parameters.txt
文件的内容。 请注意,示例中的#
是语法的一部分,并不表示该行是注释。#BUCKET hana-backups #DISABLE_COMPRESSION #SERVICE_ACCOUNT /usr/sap/ABC/home/example-project-123456-d591d63bba6f.json
可选:将 Backint 代理配置为在备份和恢复时绕过或使用代理。默认情况下,Backint 代理将绕过 HTTP 代理。
对实例元数据服务器的查询必须始终绕过 HTTP 代理服务器。根据代理服务器的要求,使用
http
或https
代理参数。如需为 Backint 代理指定代理服务器设置,请修改文件
/usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs/jre/conf/net.properties
。例如,以下配置指定了 HTTPS 代理服务器:
http.proxyHost=proxy-host http.proxyPort=proxy-port http.nonProxyHosts=localhost|127.*|[::1]|169.254.169.254|metadata.google.internal https.proxyHost=proxy-host https.proxyPort=proxy-port
如需详细了解如何将 Backint 代理与代理服务器搭配使用,请参阅代理服务器和 Backint 代理。
配置 SAP HANA 以使用 Backint 代理:
使用 SAP HANA Studio 或 SAP HANA Cockpit 将
global.ini
配置文件的backup
部分中的以下参数设置为表中显示的值。进行这些更改后,您无需重启 SAP HANA。如果您要为不同类型的备份使用不同的配置文件,请指定下表介绍的不同配置文件。否则,请针对所有类型指定相同的配置文件。
参数 值 catalog_backup_parameter_file
/usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs/parameters-catalog.txt
catalog_backup_using_backint
true
data_backup_parameter_file
/usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs/parameters-data.txt
log_backup_parameter_file
/usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs/parameters-log.txt
log_backup_using_backint
true
使用 SAP HANA Studio 为
global.ini
文件的persistence
部分中的basepath_catalogbackup
和basepath_logbackup
指定相同的值。例如:
通过在 Cloud Storage 存储桶中创建备份并从备份恢复来测试安装。
如需支持 Backint 代理自动更新功能,请启用从 SAP HANA 虚拟机到
https://www.googleapis.com/
的远程 HTTP 请求。您也可以选择启用 Cloud Logging。
- 如果 SAP HANA 在 Compute Engine 虚拟机上运行,请将
com.google.cloud.logging.LoggingHandler
处理程序添加到/usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs/logging.properties
文件的com.google.cloud.partners.handlers
属性。 - 如果 SAP HANA 在 Google Cloud 之外运行,请安装 Google Cloud CLI 并使用
gcloud auth application-default login
命令配置应用默认登录。
- 如果 SAP HANA 在 Compute Engine 虚拟机上运行,请将
将 Backint 代理更新到新版本
在生产环境中将 Backint 代理更新到新版本之前,请务必在非生产环境中测试新版本。如需了解 Backint 代理提供的版本,请参阅该版本的版本说明。
如需将 Backint 代理更新到新版本,请执行以下操作:
确保在与更新重叠的时间段内没有正在进行或已预定的数据备份。
通过将 SAP HANA
enable_auto_log_backup
参数设置为no
来停用自动日志备份。如需查看相关说明,请参阅 SAP HANA 文档启用和停用自动日志备份。启用从 SAP HANA 主机到
https://www.googleapis.com/
的远程 HTTP 请求。以
SID_LCadm
身份在 SAP HANA 主机上安装新版本:curl -O https://storage.googleapis.com/cloudsapdeploy/backint-gcs/update.sh chmod +x update.sh ./update.sh
update.sh
脚本会执行以下操作:- 在
/usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs
中安装新版本的 Backint 代理。 - 更新
backint
脚本以调用新的 Backint 代理版本。 - 更新
VERSION.txt
中的版本号。 - 将
update.sh
脚本存储在本地的/usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs
中。 - 完成后发送消息。
更新过程不会修改或替换现有
parameters.txt
文件。如需使用新版本中引入的任何新选项,您需要将相应的参数添加到现有parameters.txt
文件中。更新过程会在
/usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs
目录中保留早期版本的 Backint 代理,以便您可以在需要时回退到早期版本。- 在
通过将 SAP HANA
enable_auto_log_backup
参数设置为yes
来启用自动日志备份。如需查看相关说明,请参阅 SAP HANA 文档启用和停用自动日志备份。监控您的系统是否成功备份。
回退到之前的版本
如果您的新版本的 Backint 代理出现问题,并且 Google Cloud 或 SAP 支持团队建议您回退到之前的版本,您可以通过修改 backint
脚本文件来完成。
您无需移除可能已在 parameters.txt 文件中为新版本添加的任何参数。之前版本的 Backint 代理会忽略来自较新版本的参数。
要回退到之前的版本,请执行以下操作:
以
SID_LCadm
身份打开backint
脚本进行修改。例如:vi /usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs/backint
将 Backint 代理 JAR 文件的名称更改为之前版本的 JAR 文件的名称。
例如,如果您要从版本 1.0.6 回退到版本 1.0.4,则需要进行如下更改:
更改为:-jar /usr/sap/ABC/SYS/global/hdb/opt/backint/backint-gcs/sap-backint-gcs-1.0.6.jar
-jar /usr/sap/ABC/SYS/global/hdb/opt/backint/backint-gcs/sap-backint-gcs-1.0.4.jar
打开
VERSION.txt
文件进行修改,并指定之前的版本号。这样做的目的是使更新机制了解您运行的是哪个版本。vi /usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs/VERSION.txt
通过触发备份来测试 Backint 代理。
问题排查
如需排查适用于 SAP HANA 的 Backint 代理的相关问题,请参阅适用于 SAP HANA 的 Backint 代理问题排查。
获取 Backint 代理支持
如果您在解决适用于 SAP HANA 的 Backint 代理问题时需要帮助,请收集所需的诊断信息并联系 Cloud Customer Care。如需了解详情,请参阅适用于 SAP HANA 的 Backint 代理诊断信息。