更新时间:2022-02-10 GMT+08:00

配置SAP S/4HANA的HA功能

操作场景

为保护SAP S/4HANA免受单点故障的影响,提高SAP S/4HANA的可用性,需要为ASCS主备节点配置HA机制。若为同AZ HA场景,即主备节点在同一个AZ中,可直接配置HA功能。若为跨AZ HA场景,即主备节点不在同一个AZ中,在配置HA功能之前还需要另外规划三台ECS,并将磁盘配置iSCSI实现共享存储用作SBD。详情请参考配置iSCSI(跨AZ部署HA)

前提条件

  • ASCS主备节点之间已建立互信。
  • 已关闭操作系统防火墙。操作方法请参考修改操作系统配置
  • 为保证ASCS主备节点内部通信正常,在安装完SAP S/4HANA实例后需要修改hosts文件,增加虚拟IP与虚拟主机的映射关系。
    1. 登录ASCS主备节点,执行以下命令,修改“/etc/hosts”文件。

      vi /etc/hosts

    2. 将虚拟主机名对应的主机IP改为虚拟IP。
      10.0.3.52       S/4HANA-0001
      10.0.3.196      S/4HANA-0002
      10.0.3.220      ascsha
      10.0.3.2        ersha

      ascsha为ASCS主节点虚拟主机名,ersha为ASCS备节点虚拟主机名,虚拟机主机名可自定义。

  • 检查ASCS主备节点是否存在“/var/log/cluster”目录,不存在则创建这个目录。
  • 在ASCS主备节点上更新SAP resource agents。
    1. 执行以下命令,检查是否已安装resource-agents补丁包。

      sudo grep 'parameter name="IS_ERS"' /usr/lib/ocf/resource.d/heartbeat/SAPInstance

      • 输出如下,表示已安装补丁包,结束操作。
      • 未输出以下结果,则需要安装补丁包,执行2
      <parameter name="IS_ERS" unique="0" required="0">
    2. 执行以下命令,安装resource-agents补丁包。

      镜像为SLES 12 SP1时需执行以下命令:

      sudo zypper in -t patch SUSE-SLE-HA-12-SP1-2017-885=1

      镜像为SLES 12 SP2时需执行以下命令:

      sudo zypper in -t patch SUSE-SLE-HA-12-SP2-2018-1923=1

      镜像为SLES 12 SP3时需执行以下命令:

      sudo zypper in -t patch SUSE-SLE-HA-12-SP3-2018-1922=1

  • 在ASCS主备节点上更新sap_suse_cluster_connector。
    1. 卸载旧版connector,注意软件包名使用的是下划线”_”。

      zypper remove sap_suse_cluster_connector

    2. 安装新版connector,注意软件包名使用的是横线”-”。

      zypper install sap-suse-cluster-connector

    3. 获取新安装的sap-suse-cluster-connector软件包版本信息。

      /usr/bin/sap_suse_cluster_connector gvi --out version

    4. 查看version文件,确认connector版本号不低于3.1.0。

操作步骤

  1. 登录ASCS实例节点,获取ha_auto_script.zip压缩包,解压到任意目录。

    1. 获取ha_auto_script.zip压缩包
    2. 解压文件

      cd /sapmnt

      unzip ha_auto_script.zip

  2. 根据客户实际情况配置ascs_ha.cfg文件中的参数。各参数含义如表1所示。

    表1 ascs_ha.cfg配置文件参数含义

    参数类型

    参数名称

    参数解释

    masterNode

    masterName

    ASCS实例节点的主机名

    masterHeartbeatIP1

    ASCS实例节点心跳平面IP1

    masterHeartbeatIP2

    ASCS实例节点业务平面IP

    slaveNode

    slaveName

    ERS实例节点的主机名

    slaveHeartbeatIP1

    ERS实例节点心跳平面IP1

    slaveHeartbeatIP2

    ERS实例节点业务平面IP

    ASCSInstance

    ASCSFloatIP

    ASCS实例的业务IP

    ASCSInstanceDir

    ASCS实例的目录

    ASCSDevice

    ASCS实例目录所使用的磁盘分区

    ASCSProfile

    ASCS实例的profile文件

    ERSInstance

    说明:

    ERSInstanceDir、ERSDevice和ERSProfile参数信息需要登录ERS实例节点获取。

    ERSFloatIP

    ERS实例的业务IP

    ERSInstanceDir

    ERS实例的目录

    ERSDevice

    ERS实例目录所使用的磁盘分区

    ERSProfile

    ERS实例的profile文件

    trunkInfo

    SBDDevice

    SBD使用独立磁盘,支持1个或3个,多个磁盘之间使用英文逗号分隔,如/dev/sda, /dev/sdb, /dev/sdc

  3. 执行脚本进行HA自动部署。

    sh ascs_auto_ha.sh

  4. 执行crm status命令,查看资源状态。

    HA功能配置完成后,HAE会管理资源,请不要使用其他方式启动或停止资源。如果需要手动执行一些测试或者修改操作,请先将集群进入维护模式。

    crm configure property maintenance-mode=true

    修改完成后再退出维护模式。

    crm configure property maintenance-mode=false

    如果需要对节点进行关机或者重启等操作,请先手动关闭集群服务。

    systemctl stop pacemaker

    虚拟机启动或者重启完成后,需要手动执行以下命令来启动集群服务。

    systemctl start pacemaker

    如需清除HA功能配置,请在主节点(此处为在配置HA功能时的主节点,若已发生主备切换请先恢复到初始状态)手动执行以下命令。

    sh ascs_auto_ha.sh unconf

配置后验证

  1. 启动Web浏览器并确保JavaScript和cookie已启用。
  2. 输入主节点或备节点的IP地址或主机名作为URL,登录端口为7630。

    https://HOSTNAME_OR_IP_ADDRESS:7630/

    当您首次尝试访问URL时如果显示证书警告,则表示使用了自我签名证书。默认情况下,自我签名证书不被视为可信证书。

    要继续,可在浏览器中添加例外,以绕过警告。

  3. 在登录界面上,输入hacluster用户(或属于haclient组的任何其他用户)的用户名和密码。

    用户名为“hacluster”,初始密码为“linux”,请在首次登录后修改密码。

  4. 单击登录。随即会出现集群状态屏幕,显示集群节点和资源的状态。