3.2. 启用 SAP HANA srConnectionChanged () hook
如 SAP 实施 HA/DR 提供程序 中所述,SAP HANA 的最新版本提供了所谓的"hooks",允许 SAP HANA 向某些事件发送通知。srConnectionChanged () hook 可用于改进 HA 集群在发生 SAP HANA 系统复制状态更改时检测的能力,这需要 HA 集群采取行动,并避免数据丢失/数据损坏,防止意外接管这种情况。
当使用 SAP HANA 2.0 SPS0 或更高版本以及 resource-agents-sap-hana 软件包的版本时,提供用于支持 srConnectionChanged () hook 的组件,在继续 HA 集群设置前,必须启用 hook。
3.2.1. 验证 resource-agents-sap-hana 软件包的版本 复制链接链接已复制到粘贴板!
请验证是否安装了 RHEL 9 版本所需的 resource-agents-sap-hana 软件包的正确版本,以便在 Red Hat Pacemaker 集群中为 RHEL 9 启用 srConnectionChanged () hook,如 How can can can the srConnectionChanged ()hook 可用于改进需要接管的情况的检测,在 Red Hat Pacemaker 集群中,管理 HANA Scale-up 或 Scale-out 系统复制?
3.2.2. 在所有 SAP HANA 实例上激活 srConnectionChanged () hook 复制链接链接已复制到粘贴板!
需要为所有 HA 集群节点上的每个 SAP HANA 实例执行 srConnectionChanged () hook 的步骤。
停止两个节点上的 HA 集群(只需要在一个 HA 集群节点上运行):
pcs cluster stop --all
[root]# pcs cluster stop --allCopy to Clipboard Copied! Toggle word wrap Toggle overflow 验证所有 SAP HANA 实例都已完全停止。
更新每个节点上的 SAP HANA
global.ini文件,以启用 SAP HANA 实例(例如,在/hana/shared/RH1/global/hdb/custom/config/global.ini文件中)使用 hook 脚本:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在每个 HA 集群节点上,运行以下命令来创建文件
/etc/sudoers.d/20-saphana,并添加以下内容以允许 hook 脚本在调用srConnectionChanged ()hook 时更新节点属性。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
rh1替换为您的 SAP HANA 安装的小写 SID,并将DC1和DC2替换为您的 SAP HANA 站点名称。有关为什么需要
Defaults设置的更多信息,请参阅 srHook 属性在管理 SAP HANA 系统复制的 Pacemaker 集群中设置为 SFAIL,即使复制处于健康状态。在两个 HA 集群节点上手动启动 SAP HANA 实例,而无需启动 HA 集群:
HDB start
[rh1adm]$ HDB startCopy to Clipboard Copied! Toggle word wrap Toggle overflow 验证 hook 脚本是否按预期工作。执行一些操作来触发 hook,如停止 SAP HANA 实例。然后,使用如下方法检查 hook 是否记录任何内容:
cdtrace awk '/ha_dr_SAPHanaSR.*crm_attribute/ { printf "%s %s %s %s\n",$2,$3,$5,$16 }' nameserver_* grep ha_dr_ *[rh1adm]$ cdtrace [rh1adm]$ awk '/ha_dr_SAPHanaSR.*crm_attribute/ { printf "%s %s %s %s\n",$2,$3,$5,$16 }' nameserver_* 2018-05-04 12:34:04.476445 ha_dr_SAPHanaSR SFAIL 2018-05-04 12:53:06.316973 ha_dr_SAPHanaSR SOK [rh1adm]# grep ha_dr_ *Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意有关如何验证 SAP HANA hook 是否正常工作的更多信息,请参阅 SAP 文档: 安装和配置 HA/DR 提供程序脚本。
验证 hook 的功能后,可以再次启动 HA 集群。
pcs cluster start --all
[root]# pcs cluster start --allCopy to Clipboard Copied! Toggle word wrap Toggle overflow