更新时间:2024-03-12 GMT+08:00

配置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的两台云服务器。

操作步骤

  1. 登录主节点的SAP HANA云服务器“hana001”。
  2. 执行以下命令,检查是否已安装了依赖包patterns-ha-ha_sles和sap-suse-cluster-connector。

    rpm -qa | grep patterns-ha-ha_sles

    rpm -qa | grep sap-suse-cluster-connector

    • 云服务器“hana001”中已经安装了依赖包,无需再安装。
    • 如果服务器中没有安装这些依赖包,执行以下命令进行安装:

      zypper in -y patterns-ha-ha_sles

      zypper in -y sap-suse-cluster-connector

  3. 下载脚本和配置文件。

    1. 选择安装SAP HANA软件所在的Region,下载脚本,

      此处以“中国-香港”为例:

      wget https://obs-sap-ap-southeast-1.obs.ap-southeast-1.myhuaweicloud.com/ha_auto_script/ha_auto_script.zip -P /hana/shared

      不同Region对应的脚本下载地址如下:
      • 中国-香港:https://obs-sap-ap-southeast-1.obs.ap-southeast-1.myhuaweicloud.com/ha_auto_script/ha_auto_script.zip
      • 亚太-曼谷:https://obs-sap-ap-southeast-2.obs.ap-southeast-2.myhuaweicloud.com/ha_auto_script/ha_auto_script.zip
      • 南非-约翰内斯堡:https://obs-sap-af-south-1.obs.af-south-1.myhuaweicloud.com/ha_auto_script/ha_auto_script.zip
      • 圣地亚哥:https://obs-sap-la-south-2.obs.la-south-2.myhuaweicloud.com/ha_auto_script/ha_auto_script.zip
      • 圣保罗一:https://obs-sap-sa-brazil-11.obs.sa-brazil-1.myhuaweicloud.com/ha_auto_script/ha_auto_script.zip
      • 墨西哥一:https://obs-sap-na-mexico-1.obs.na-mexico-1.myhuaweicloud.com/ha_auto_script/ha_auto_script.zip
      • 墨西哥二:https://obs-sap-la-north-2.obs.la-north-2.myhuaweicloud.com/ha_auto_script/ha_auto_script.zip
    2. 解压压缩包:

      cd /hana/shared

      unzip ha_auto_script.zip

  4. 执行以下命令,修改配置文件。

    vi /hana/shared/ha_auto_script/hana_ha.cfg

    配置文件参数请根据实际信息进行填写。

    此脚本支持配置双心跳网络平面功能,在配置此功能时需要将业务/客户端平面IP地址分别添加到脚本中的“masterHeartbeatIP2”和“slaveHeartbeatIP2”参数后。

  5. 执行脚本。

    sh hana_auto_ha.sh

    • 脚本运行出错时会报错并退出,再次运行脚本之前,请务必使用sh hana_auto_ha.sh unconf命令进行手动回退,且需要根据SBD卷的最新盘符配置“ha_auto.cfg”文件。
    • 主备节点发生切换后,需要在切换后的备节点重新配置才能使HA机制生效,方法如下:
    1. 在备节点上,切换到管理员模式。

      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>

    4. 启动备节点数据库,然后退出管理员模式。

      HDB start

      exit

    5. 在主备节点分别执行以下命令来启动HAE服务。

      systemctl start pacemaker

    6. 清理原主节点(即当前备节点)上的资源。

      “rsc_SAPHana_SLE_HDB00”为资源名称举例,可通过crm_mon - r1查询获取,参数“primary”配置为当前备节点的主机名。

      crm resource cleanup <rsc_SAPHana_SLE_HDB00> <primary>

  6. 在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