配置SAP HANA节点的HA功能
通过配置脚本,实现SAP HANA节点的HA功能(即HAE功能),提高SAP HANA节点的可靠性。仅在SAP HANA节点的操作系统为SUSE Linux Enterprise Server (SLES) 12 SP1 for SAP及以上时支持自动切换,才需要配置该脚本。
前提条件
- 已在SAP HANA节点之间进行过相互的SSH跳转操作。
- 已将SBD卷绑定给SAP HANA的两台云服务器。
- 已经创建了浮动IP,并且绑定给SAP HANA的两台云服务器。
操作步骤
- 登录主节点的SAP HANA云服务器“hana001”。
- 执行以下命令,检查是否已安装了依赖包patterns-ha-ha_sles和sap-suse-cluster-connector。
rpm -qa | grep patterns-ha-ha_sles
rpm -qa | grep sap-suse-cluster-connector
- 下载脚本和配置文件。
- 选择安装SAP HANA软件所在的Region,下载脚本,
wget https://obs-sap-cn-north-4.obs.cn-north-4.myhuaweicloud.com/ha_auto_script/ha_auto_script.zip -P /hana/shared
不同Region对应的脚本下载地址如下:- 华北-北京一:https://obs-sap-cn-north-1.obs.cn-north-1.myhuaweicloud.com/ha_auto_script/ha_auto_script.zip
- 华北-北京四:https://obs-sap-cn-north-4.obs.cn-north-4.myhuaweicloud.com/ha_auto_script/ha_auto_script.zip
- 华东-上海二:https://obs-sap.obs.cn-east-2.myhuaweicloud.com/ha_auto_script/ha_auto_script.zip
- 华南-广州:https://obs-sap-cn-south-1.obs.cn-south-1.myhuaweicloud.com/ha_auto_script/ha_auto_script.zip
- 解压压缩包:
unzip ha_auto_script.zip
- 选择安装SAP HANA软件所在的Region,下载脚本,
- 执行以下命令,修改配置文件。
vi /hana/shared/ha_auto_script/hana_ha.cfg
配置文件参数请根据实际信息进行填写。
此脚本支持配置双心跳网络平面功能,在配置此功能时需要将业务/客户端平面IP地址分别添加到脚本中的“masterHeartbeatIP2”和“slaveHeartbeatIP2”参数后。
- 执行脚本。
sh hana_auto_ha.sh
- 脚本运行出错时会报错并退出,再次运行脚本之前,请务必使用sh hana_auto_ha.sh unconf命令进行手动回退,且需要根据SBD卷的最新盘符配置“ha_auto.cfg”文件。
- 主备节点发生切换后,需要在切换后的备节点重新配置才能使HA机制生效,方法如下:
- 在备节点上,切换到管理员模式。
- 停止备节点数据库。
- 将备节点注册到主节点上。
参数“secondary”配置为当前主节点的主机名,参数“site_name”与切换前主节点定义(在配置System Replication时定义)的名称保持一致。
hdbnsutil -sr_register --remoteHost=<secondary> --remoteInstance=<instance_number> --replicationMode=sync --name=<site_name>
- 启动备节点数据库,然后退出管理员模式。
exit
- 在主备节点分别执行以下命令来启动HAE服务。
- 清理原主节点(即当前备节点)上的资源。
“rsc_SAPHana_SLE_HDB00”为资源名称举例,可通过crm_mon - r1查询获取,参数“primary”配置为当前备节点的主机名。
crm resource cleanup <rsc_SAPHana_SLE_HDB00> <primary>
- 在SAP HANA Studio上重新接入SAP HANA。
在SAP HANA Studio上,将已接入的两个SAP HANA节点删除,重新通过SAP HANA节点的浮动IP地址,将SAP HANA节点接入,并配置备份路径。
HA功能配置完成后,HAE会管理资源,请不要使用其他方式启动或停止资源。如果需要手动执行一些测试或者修改操作,请先将集群进入维护模式。
crm configure property maintenance-mode=true
修改完成后再退出维护模式。
crm configure property maintenance-mode=false
如果需要对节点进行关机或者重启等操作,请先手动关闭集群服务。
systemctl stop pacemaker
虚拟机启动或者重启完成后,需要手动执行以下命令来启动集群服务。
systemctl start pacemaker