配置SAP HANA节点的HA功能
操作场景
通过配置脚本,实现SAP HANA节点的HA功能(即HAE功能),提高SAP HANA节点的可靠性。
仅在SAP HANA节点的操作系统为SUSE Linux Enterprise Server (SLES) 12 SP1 for SAP和SUSE Linux Enterprise Server (SLES) 12 SP2 for SAP时支持自动切换,才需要配置该脚本。
前提条件
已在SAP HANA节点之间进行过相互的SSH跳转操作。
操作步骤
- 将SBD卷绑定给另外一台SAP HANA节点。
因为在创建其中一台SAP HANA节点时,绑定了SBD卷,因此需要将这个SBD卷,绑定给另外一台SAP HANA节点。
- 在管理控制台,单击 后,单击左侧 ,在右侧可看到裸金属服务器。
- 根据裸金属服务器名称,找到已绑定SBD卷的裸金属服务器,并单击裸金属服务器的名称。
- 在弹出的详细信息列表中,在“云硬盘”页签上,找到SBD卷对应的磁盘,并单击数据盘。
- 在弹出的数据盘详细信息中,查看该数据盘的“挂载点”并记录,然后单击数据盘“ID”上的超链接。
- 在弹出的界面中,单击“挂载点”,单击“挂载”,弹出“挂载磁盘”界面。
- 在“挂载磁盘”界面上,在左侧勾选要绑定到的另外一个SAP HANA节点,并确保绑定到该裸金属服务器的“挂载点”与1.d中的“挂载点”一致,单击“确定”,完成磁盘的绑定。
- 创建浮动IP。
- 使用PuTTY软件,以“root”帐号和密钥文件(“.ppk”文件)为鉴权方式,登录绑定了弹性IP的NAT Server,并通过SSH协议,跳转到待作为主节点的SAP HANA节点。
- 执行以下命令,检查是否已安装了依赖包patterns-ha-ha_sles和sap-suse-cluster-connector。
rpm -qa | grep patterns-ha-ha_sles
rpm -qa | grep sap-suse-cluster-connector
- 已安装,请执行5。
- 未安装,请执行以下命令安装。
zypper in -y patterns-ha-ha_sles
zypper in -y sap-suse-cluster-connector
- 下载脚本和配置文件。
- 下载脚本和配置文件。
wget https://obs-sap.obs.cn-east-2.myhuaweicloud.com/ha_auto_script/ha_auto_script.zip -P /hana/shared
- 修改配置文件。
vi /hana/shared/ha_auto_script/ha_auto.cfg
配置文件示例及说明如下:
[masterNode] # Host name of the active node masterName=hana001 # Heartbeat IP address of the active node masterHeartbeatIP=10.0.4.2 [slaveNode] # Host name of the standby node slaveName=hana002 # Heartbeat IP address of the standby node slaveHeartbeatIP=10.0.4.3 [trunkInfo] # Network segment of the heartbeat plane heartbeatNetworkSegment=10.0.4.0 # Floating IP address of SAP HANA hanaBusinessIP=10.0.3.103 [hanaInfo] # SBD volume path diskPath=/dev/sdc,/dev/sdd,/dev/sde # SAP HANA system ID SID=S00 # SAP HANA administrator account hanaUser=s00adm # SAP HANA instance number InstanceNumber=00
- 检查配置文件填写是否符合要求。
所有检查项的检查结果为“OK”,表示配置文件填写正确。
cd ha_auto_script
chmod +x ha_auto.sh
./ha_auto.sh check cfg
- 检查主备节点相互之间的SSH跳转是否正常。
检查结果为“SSH Trust OK”表示正常。
为了保证脚本运行正常,要求从主节点SSH跳转到备节点,以及从备节点SSH跳转到主节点时,可以直接跳转不需要输入密码。
./ha_auto.sh check ssh
- 检查主备节点上的SAP HANA是否正常运行。
主备节点上的SAP HANA检查结果为“running”表示已经正常运行。
./ha_auto.sh check hana
- 执行配置。
./ha_auto.sh config all
- 脚本运行出错时会报错并退出,再次运行脚本之前,请务必使用 ./ha_auto.sh unconfig all 命令进行手动回退,且需要根据SBD卷的最新盘符配置“ha_auto.cfg”文件。
- 可使用./ha_auto.sh help查看帮助信息。
- 主备节点发生切换后,需要在切换后的备节点重新配置才能使HA机制生效,方法如下:
su - <SID>adm
2 停止备节点。
./HDB stop
3 将备节点注册到主节点上。
参数“secondary”配置为当前主节点的主机名,参数“site_name”与切换前主节点定义(在配置System Replication时定义)的名称保持一致。
hdbnsutil -sr_register --remoteHost=<secondary> --remoteInstance=<instance_number> --replicationMode=sync --name=<site_name>
3 清理原主节点(即当前备节点)上的资源。
“rsc_SAPHana_SLE_HDB00”为资源名称举例,可通过crm_mon - rl查询获取,参数“primary”配置为当前备节点的主机名。
exit
crm resource cleanup <rsc_SAPHana_SLE_HDB00> <primary>
配置成功后,返回报文如下:
Online: [ hana001 hana002 ] Full list of resources: Clone Set: cln_SAPHanaTopology_SLE_HDB00 [rsc_SAPHanaTopology_SLE_HDB00] Started: [ hana001 hana002 ] rsc_ip_SLE_HDB00?(ocf::heartbeat:IPaddr2):?Started hana001 stonith-sbd?(stonith:external/sbd):?Started hana001 Master/Slave Set: msl_SAPHana_SLE_HDB00 [rsc_SAPHana_SLE_HDB00] Masters: [ hana001 ] Slaves: [ hana002 ] All Complete!
- 在SAP HANA Studio上重新接入SAP HANA。
- 在SAP HANA Studio上,将已接入的两个SAP HANA节点删除,重新通过SAP HANA节点的浮动IP地址,将SAP HANA节点接入,并配置备份路径。