更新时间:2021-08-24 GMT+08:00
分享

配置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跳转操作。

操作步骤

  1. 将SBD卷绑定给另外一台SAP HANA节点。

    因为在创建其中一台SAP HANA节点时,绑定了SBD卷,因此需要将这个SBD卷,绑定给另外一台SAP HANA节点。

    1. 在管理控制台,单击服务列表 > 计算 > 裸金属服务器后,单击左侧裸金属服务器,在右侧可看到裸金属服务器。
    2. 根据裸金属服务器名称,找到已绑定SBD卷的裸金属服务器,并单击裸金属服务器的名称。
    3. 在弹出的详细信息列表中,在“云硬盘”页签上,找到SBD卷对应的磁盘,并单击数据盘。
    4. 在弹出的数据盘详细信息中,查看该数据盘的“挂载点”并记录,然后单击数据盘“ID”上的超链接。
    5. 在弹出的界面中,单击“挂载点”,单击“挂载”,弹出“挂载磁盘”界面。
    6. “挂载磁盘”界面上,在左侧勾选要绑定到的另外一个SAP HANA节点,并确保绑定到该裸金属服务器的“挂载点”1.d中的“挂载点”一致,单击“确定”,完成磁盘的绑定。

  2. 创建浮动IP。

    1. 在管理控制台,单击服务列表 > 计算 > 裸金属服务器,并单击左侧的裸金属服务器,进裸金属服务器管理界面。
    2. 找到一台SAP HANA节点,并单击名称,弹出详细信息。
    3. 单击“网卡”页签,在业务/管理平面网卡后,单击“管理私有IP地址”,弹出“管理私有IP地址”界面。
    4. 勾选“配置虚拟IP地址”,并在“IP地址”中输入规划的浮动IP地址,单击“确定”完成配置。
    5. 参见2.b2.d,完成另外一台SAP HANA节点的浮动IP地址的配置。

  3. 使用PuTTY软件,以“root”帐号和密钥文件(“.ppk”文件)为鉴权方式,登录绑定了弹性IP的NAT Server,并通过SSH协议,跳转到待作为主节点的SAP HANA节点。
  4. 执行以下命令,检查是否已安装了依赖包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

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

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

    wget https://obs-sap.obs.cn-east-2.myhuaweicloud.com/ha_auto_script/ha_auto_script.zip -P /hana/shared

    1. 解压文件

      cd /hana/shared

      unzip ha_auto_script.zip

  6. 修改配置文件。

    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

  7. 检查配置文件填写是否符合要求。

    所有检查项的检查结果为“OK”,表示配置文件填写正确。

    cd ha_auto_script

    chmod +x ha_auto.sh

    ./ha_auto.sh check cfg

  8. 检查主备节点相互之间的SSH跳转是否正常。

    检查结果为“SSH Trust OK”表示正常。

    为了保证脚本运行正常,要求从主节点SSH跳转到备节点,以及从备节点SSH跳转到主节点时,可以直接跳转不需要输入密码。

    ./ha_auto.sh check ssh

  9. 检查主备节点上的SAP HANA是否正常运行。

    主备节点上的SAP HANA检查结果为“running”表示已经正常运行。

    ./ha_auto.sh check hana

  10. 执行配置。

    ./ha_auto.sh config all

    • 脚本运行出错时会报错并退出,再次运行脚本之前,请务必使用 ./ha_auto.sh unconfig all 命令进行手动回退,且需要根据SBD卷的最新盘符配置“ha_auto.cfg”文件。
    • 可使用./ha_auto.sh help查看帮助信息。
    • 主备节点发生切换后,需要在切换后的备节点重新配置才能使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>

      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!
    

  11. 在SAP HANA Studio上重新接入SAP HANA。
  12. 在SAP HANA Studio上,将已接入的两个SAP HANA节点删除,重新通过SAP HANA节点的浮动IP地址,将SAP HANA节点接入,并配置备份路径。

相关文档