你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

适用于 SAP 应用程序多 SID 的 SUSE Linux Enterprise Server 上 Azure VM 中的 SAP NetWeaver 的高可用性指南

本文介绍如何在使用 SUSE Linux Enterprise Server for SAP Applications 的 Azure VM 上,在双节点群集中部署多个 SAP NetWeaver 或 S4HANA 高度可用的系统(即多 SID)。

在示例配置、安装命令等内容中,在单个双节点高可用性群集中部署了三个 SAP NetWeaver 7.50 系统。 SAP 系统 SID 包括:

  • NW1:ASCS 实例号 00 和虚拟主机名 msnw1ascs;ERS 实例号 02 和虚拟主机名 msnw1ers 。
  • NW2:ASCS 实例号 10 和虚拟主机名 msnw2ascs;ERS 实例号 12 和虚拟主机名 msnw2ers 。
  • NW3:ASCS 实例号 20 和虚拟主机名 msnw3ascs;ERS 实例号 22 和虚拟主机名 msnw3ers 。

本文不涉及 SAP NFS 共享的数据库层和部署。 本文中的示例使用 NW2 NFS 共享的虚拟名称 nw2-nfs,NW3 NFS 共享使用 nw3-nfs,假设部署了 NFS 群集。

在开始之前,请先参阅以下 SAP 说明和文章:

概述

如果发生故障转移,则必须调整加入群集的虚拟机的大小,使其能够运行所有资源。 在多 SID 高可用性群集中,每个 SAP SID 都可以相互独立地进行故障转移。 如果使用 SBD 隔离,则可以在多个群集之间共享 SBD 设备。

为了实现高可用性,SAP NetWeaver 需要高度可用的 NFS 共享。 在此示例中,我们假设 SAP NFS 共享托管在高度可用的 NFS 文件服务器上,可供多个 SAP 系统使用。 或者假设这些共享部署在 Azure NetApp 文件 NFS 卷上。

Pacemaker cluster shows detailed information about two multi-SID clusters, msidcl1 and msidcl2.

重要

对于 Azure VM 中将 SUSE Linux 作为来宾操作系统的 SAP ASCS/ERS 的多 SID 群集的支持仅限于在同一群集上提供五个 SAP SID。 每个新 SID 都增加了复杂性。 不支持在同一个群集中混合使用 SAP 排队复制服务器 1 和排队复制服务器 2。 多 SID 群集介绍了如何在一个 Pacemaker 群集中安装多个具有不同 SID 的 SAP ASCS/ERS 实例。 目前仅 ASCS/ERS 支持多 SID 群集。

提示

SAP ASCS/ERS 的多 SID 群集是更为复杂的解决方案。 它实现起来更为复杂。 执行 OS 修补等维护活动时,它还涉及更多的管理工作。 开始实际执行之前,请花些时间仔细规划部署和所有涉及的组件,如 VM、NFS 装载、VIP、负载平衡器配置等。

NFS 服务器、SAP NetWeaver ASCS、SAP NetWeaver SCS、SAP NetWeaver ERS 和 SAP HANA 数据库使用虚拟主机名和虚拟 IP 地址。 在 Azure 上,需要负载均衡器才能使用虚拟 IP 地址。 建议使用标准负载均衡器

这个包含三个 SAP 系统的多 SID 群集示例的演示配置显示了一个负载均衡器,其中具有:

  • ASCS 的前端 IP 地址:10.3.1.14 (NW1)、10.3.1.16 (NW2) 和 10.3.1.13 (NW3)
  • ERS 的前端 IP 地址:10.3.1.15 (NW1)、10.3.1.17 (NW2) 和 10.3.1.19 (NW3)
  • NW1 ASCS 的探测端口 62000、NW2 ASCS 的探测端口 62010 和 NW3 ASCS 的探测端口 62020
  • NW1 ASCS 的探测端口 62102、NW2 ASCS 的探测端口 62112 和 NW3 ASCS 的探测端口 62122

重要

负载均衡方案中的 NIC 辅助 IP 配置不支持浮动 IP。 有关详细信息,请参阅 Azure 负载均衡器限制。 如果你需要为 VM 提供其他 IP 地址,请部署第二个 NIC。

注意

如果没有公共 IP 地址的 VM 被放在内部(无公共 IP 地址)标准 Azure 负载均衡器的后端池中,就不会有出站 Internet 连接,除非执行额外的配置来允许路由到公共终结点。 有关如何实现出站连接的详细信息,请参阅 SAP 高可用性方案中使用 Azure 标准负载均衡器的虚拟机的公共终结点连接

重要

  • 不要在放置于 Azure 负载均衡器之后的 Azure VM 上启用 TCP 时间戳。 启用 TCP 时间戳将导致运行状况探测失败。 将 net.ipv4.tcp_timestamps 参数设置为 0。 有关详细信息,请参阅负载均衡器运行状况探测
  • 若要防止 saptune 将手动设置 net.ipv4.tcp_timestamps 的值更改 0 回去 1,应将 saptune 版本更新为 3.1.1 或更高版本。 有关详细信息,请参阅 saptune 3.1.1 – 是否需要更新?

SAP NFS 共享

SAP NetWeaver 要求对传输和配置文件目录等使用共享的存储。 对于高度可用的 SAP 系统,必须拥有高度可用的 NFS 共享。 需要确定 SAP NFS 共享的体系结构。 一个选项是在 SUSE Linux Enterprise Server 上 Azure VM 中构建高度可用的 NFS 群集,它可在多个 SAP 系统之间进行共享。

另一个选项是在 Azure NetApp 文件 NFS 卷上部署共享。 使用 Azure NetApp 文档,可以获取 SAP NFS 共享的内置高可用性。

在群集中部署首个 SAP 系统

根据 SAP NFS 共享的体系结构,按照相应的文档在群集中部署第一个 SAP 系统。

上面列出的文档将指导你完成准备必要的基础结构、生成群集、准备 OS 以运行 SAP 应用程序的步骤。

提示

部署第一个系统后,请始终测试该群集的故障转移功能,再将其他 SAP SID 添加到该群集。 这样,在将其他 SAP 系统的复杂性添加到群集之前,就可以了解群集功能的运行状况。

在群集中部署其他 SAP 系统

在此示例中,我们假定已在群集中部署了系统 NW1。 我们将演示如何在群集 SAP 系统 NW2 和 NW3 中进行部署 。

以下各项带有前缀 [A] - 适用于所有节点、[1] - 仅适用于节点 1,或 [2] - 仅适用于节点 2 。

先决条件

重要

在按照说明在群集中部署其他 SAP 系统之前,请按照说明在群集中部署第一个 SAP 系统,因为有些步骤只需在部署第一个系统中执行。

本文假设:

  • 已配置 Pacemaker 群集,且它正在运行。
  • 已部署至少一个 SAP 系统(ASCS/ERS 实例),且它正在群集中运行。
  • 已测试群集故障转移功能。
  • 所有 SAP 系统的 NFS 共享均已部署。

准备 SAP Netweaver 安装

  1. 按照说明通过Azure 门户手动 Azure 负载均衡器配置新部署的系统(即 NW2NW3)添加到现有Azure 负载均衡器。 调整配置的 IP 地址、运行状况探测端口和负载均衡规则。

  2. [A] 设置其他 SAP 系统的名称解析。 可以使用 DNS 服务器,或修改所有节点上的 /etc/hosts。 此示例演示如何使用 /etc/hosts 文件。 根据环境调整 IP 地址和主机名。

    sudo vi /etc/hosts
    
    # IP address of the load balancer frontend configuration for NW2 ASCS
    10.3.1.16 msnw2ascs
    # IP address of the load balancer frontend configuration for NW3 ASCS
    10.3.1.13 msnw3ascs
    # IP address of the load balancer frontend configuration for NW2 ERS
    10.3.1.17 msnw2ers
    # IP address of the load balancer frontend configuration for NW3 ERS
    10.3.1.19 msnw3ers
    # IP address for virtual host name for the NFS server for NW2
    10.3.1.31 nw2-nfs
    # IP address for virtual host name for the NFS server for NW3
    10.3.1.32 nw3-nfs
    
  3. [A] 为要部署到群集的其他 NW2NW3 SAP 系统创建共享目录。

    sudo mkdir -p /sapmnt/NW2
    sudo mkdir -p /usr/sap/NW2/SYS
    sudo mkdir -p /usr/sap/NW2/ASCS10
    sudo mkdir -p /usr/sap/NW2/ERS12
    sudo mkdir -p /sapmnt/NW3
    sudo mkdir -p /usr/sap/NW3/SYS
    sudo mkdir -p /usr/sap/NW3/ASCS20
    sudo mkdir -p /usr/sap/NW3/ERS22
    
    sudo chattr +i /sapmnt/NW2
    sudo chattr +i /usr/sap/NW2/SYS
    sudo chattr +i /usr/sap/NW2/ASCS10
    sudo chattr +i /usr/sap/NW2/ERS12
    sudo chattr +i /sapmnt/NW3
    sudo chattr +i /usr/sap/NW3/SYS
    sudo chattr +i /usr/sap/NW3/ASCS20
    sudo chattr +i /usr/sap/NW3/ERS22
    
  4. [A] 配置为 autofs 为要部署到群集的其他 SAP 系统装载 /sapmnt/SID 和 /usr/sap/SID/SYS 文件系统。 在此示例中为 NW2 和 NW3 。

    使用要部署到群集的其他 SAP 系统的文件系统更新文件 /etc/auto.direct

    需要重启 autofs 服务才能装载新添加的共享。

安装 ASCS/ERS

  1. 为要部署到群集的其他 SAP 系统的 ASCS 实例创建虚拟 IP 和运行状况探测群集资源。 此处显示的示例针对使用高度可用 NFS 服务器的 NW2 和 NW3 ASCS 。

    重要

    最近的测试表明,由于积压工作 (backlog) 及其仅处理一个连接的限制,netcat 停止响应请求。 netcat 资源停止侦听 Azure 负载均衡器请求,并且浮动 IP 变为不可用。
    对于现有 Pacemaker 群集,我们过去建议将 netcat 替换为 socat。 当前,我们建议使用 azure-lb 资源代理,它是包 resource-agents 的一部分,具有以下包版本要求:

    • 对于 SLES 12 SP4/SP5,版本必须至少为 resource-agents-4.3.018.a7fb5035-3.30.1。
    • 对于 SLES 15/15 SP1,版本必须至少为 resource-agents-4.3.0184.6ee15eb2-4.13.1。

    请注意,更改将需要短暂的停机时间。
    对于现有的 Pacemaker 群集,如果已经按照 Azure 负载平衡器检测强化中所述将配置更改为使用 socat,则无需立即切换到 azure-lb 资源代理。

    sudo crm configure primitive fs_NW2_ASCS Filesystem device='nw2-nfs:/NW2/ASCS' directory='/usr/sap/NW2/ASCS10' fstype='nfs4' \
       op start timeout=60s interval=0 \
       op stop timeout=60s interval=0 \
       op monitor interval=20s timeout=40s
    
    sudo crm configure primitive vip_NW2_ASCS IPaddr2 \
        params ip=10.3.1.16 \
        op monitor interval=10 timeout=20
    
    sudo crm configure primitive nc_NW2_ASCS azure-lb port=62010 \
        op monitor timeout=20s interval=10
    
    sudo crm configure group g-NW2_ASCS fs_NW2_ASCS nc_NW2_ASCS vip_NW2_ASCS \
         meta resource-stickiness=3000
    
    sudo crm configure primitive fs_NW3_ASCS Filesystem device='nw3-nfs:/NW3/ASCS' directory='/usr/sap/NW3/ASCS20' fstype='nfs4' \
        op start timeout=60s interval=0 \
        op stop timeout=60s interval=0 \
        op monitor interval=20s timeout=40s
    
    sudo crm configure primitive vip_NW3_ASCS IPaddr2 \
       params ip=10.3.1.13 \
       op monitor interval=10 timeout=20
    
    sudo crm configure primitive nc_NW3_ASCS azure-lb port=62020 \
       op monitor timeout=20s interval=10
    
    sudo crm configure group g-NW3_ASCS fs_NW3_ASCS nc_NW3_ASCS vip_NW3_ASCS \
        meta resource-stickiness=3000
    

    创建资源时,可以将它们分配给不同的群集资源。 对它们进行分组时,它们将迁移到群集节点之一。 请确保群集状态正常,并且所有资源都已启动。 资源在哪个节点上运行并不重要。

  2. [1] 安装 SAP NetWeaver ASCS

    使用映射到 ASCS 负载均衡器前端配置的 IP 地址的虚拟主机名以 root 身份安装 SAP NetWeaver ASCS。 例如,对于系统 NW2,虚拟主机名为 msnw2ascs, 10.3.1.16,而用于负载均衡器探测的实例号为 10。 对于系统 NW3,虚拟主机名为 msnw3ascs, 10.3.1.13,而用于负载均衡器探测的实例号为 20

    可以使用 sapinst 参数 SAPINST_REMOTE_ACCESS_USER 允许非根用户连接到 sapinst。 可以使用参数 SAPINST_USE_HOSTNAME,以通过使用虚拟主机名来安装 SAP。

    sudo swpm/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
    

    如果安装过程无法在 /usr/sap/SID/ASCSInstance# 中创建子文件夹,请尝试将所有者设置为 sidadm 并将组设置为 ASCSInstance# 的 sapsys,然后重试 。

  3. [1] 为要部署到群集的其他 SAP 系统的 ERS 实例创建虚拟 IP 和运行状况探测群集资源。 此处显示的示例针对使用高度可用 NFS 服务器的 NW2 和 NW3 ERS 。

     sudo crm configure primitive fs_NW2_ERS Filesystem device='nw2-nfs:/NW2/ASCSERS' directory='/usr/sap/NW2/ERS12' fstype='nfs4' \
       op start timeout=60s interval=0 \
       op stop timeout=60s interval=0 \
       op monitor interval=20s timeout=40s
    
     sudo crm configure primitive vip_NW2_ERS IPaddr2 \
       params ip=10.3.1.17 \
       op monitor interval=10 timeout=20
    
     sudo crm configure primitive nc_NW2_ERS azure-lb port=62112 \
       op monitor timeout=20s interval=10
    
     sudo crm configure group g-NW2_ERS fs_NW2_ERS nc_NW2_ERS vip_NW2_ERS
    
     sudo crm configure primitive fs_NW3_ERS Filesystem device='nw3-nfs:/NW3/ASCSERS' directory='/usr/sap/NW3/ERS22' fstype='nfs4' \
       op start timeout=60s interval=0 \
       op stop timeout=60s interval=0 \
       op monitor interval=20s timeout=40s
    
     sudo crm configure primitive vip_NW3_ERS IPaddr2 \
       params ip=10.3.1.19 \
       op monitor interval=10 timeout=20
    
     sudo crm configure primitive nc_NW3_ERS azure-lb port=62122 \
       op monitor timeout=20s interval=10
    
     sudo crm configure group g-NW3_ERS fs_NW3_ERS nc_NW3_ERS vip_NW3_ERS
    

    创建资源时,可以将它们分配给不同的群集节点。 对它们进行分组时,它们将迁移到群集节点之一。 请确保群集状态正常,并且所有资源都已启动。

    接下来,请确保新创建的 ERS 组的资源在群集节点上运行,这与安装了同一 SAP 系统的 ASCS 实例的群集节点相反。 例如,如果在 slesmsscl1 上安装了 NW2 ASCS,请确保 NW2 ERS 组在 slesmsscl2 上运行。 可以通过运行以下命令将 NW2 ERS 组迁移到 slesmsscl2

    crm resource migrate g-NW2_ERS slesmsscl2 force
    
  4. [2] 安装 SAP Netweaver ERS

    使用映射到 ERS 负载均衡器前端配置的 IP 地址的虚拟主机名以 root 身份在其他节点上安装 SAP NetWeaver ERS。 例如,对于系统 NW2,虚拟主机名为 msnw2ers10.3.1.17 和用于负载均衡器探测的实例编号,例如 12。 对于系统 NW3,虚拟主机名为 msnw3ers, 10.3.1.19,而用于负载均衡器探测的实例号为 22

    可以使用 sapinst 参数 SAPINST_REMOTE_ACCESS_USER 允许非根用户连接到 sapinst。 可以使用参数 SAPINST_USE_HOSTNAME,以通过使用虚拟主机名来安装 SAP。

    sudo swpm/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
    

    注意

    使用 SWPM SP 20 PL 05 或更高版本。 较低版本不会正确设置权限,安装将失败。

    如果安装过程无法在 /usr/sap/NW2/ERSInstance# 中创建子文件夹,请尝试将所有者设置为 sidadm 并将组设置为 ERSInstance# 文件夹的 sapsys,然后重试 。

    如果需要将新部署的 SAP 系统的 ERS 组迁移到其他群集节点,请不要忘记删除 ERS 组的位置约束。 可以通过运行以下命令来删除约束(示例针对 SAP 系统 NW2 和 NW3) 。

    crm resource unmigrate g-NW2_ERS
    crm resource unmigrate g-NW3_ERS
    
  5. [1] 为新安装的 SAP 系统调整 ASCS/SCS 和 ERS 实例配置文件。 下面显示的示例针对 NW2。 需要针对添加到群集的所有 SAP 实例调整 ASCS/SCS 和 ERS 配置文件。

    • ASCS/SCS 配置文件
    sudo vi /sapmnt/NW2/profile/NW2_ASCS10_msnw2ascs
    
    # Change the restart command to a start command
    #Restart_Program_01 = local $(_EN) pf=$(_PF)
    Start_Program_01 = local $(_EN) pf=$(_PF)
    
    # Add the following lines
    service/halib = $(DIR_CT_RUN)/saphascriptco.so
    service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector
    
    # Add the keep alive parameter, if using ENSA1
    enque/encni/set_so_keepalive = true
    

    对于 ENSA1 和 ENSA2,请确保按 SAP 说明 1410736 中所述设置 keepalive OS 参数。

    • ERS 配置文件
    sudo vi /sapmnt/NW2/profile/NW2_ERS12_msnw2ers
    
    # Change the restart command to a start command
    #Restart_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID)
    Start_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID)
    
    # Add the following lines
    service/halib = $(DIR_CT_RUN)/saphascriptco.so
    service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector
    
    # remove Autostart from ERS profile
    # Autostart = 1
    
  6. [A] 为新部署的 SAP 系统(此示例为 NW2 和 NW3)配置 SAP 用户 。

    # Add sidadm to the haclient group
    sudo usermod -aG haclient nw2adm
    sudo usermod -aG haclient nw3adm
    
  7. 将新安装的 SAP 系统的 ASCS 和 ERS SAP 服务添加到 sapservice 文件。 下面显示的示例针对 SAP 系统 NW2 和 NW3 。

    将 ASCS 服务入口添加到第二个节点,并将 ERS 服务入口复制到第一个节点。 在安装了 SAP 系统的 ASCS 实例的节点上执行每个 SAP 系统的命令。

    # Execute the following commands on slesmsscl1,assuming the NW2 ASCS instance was installed on slesmsscl1
    cat /usr/sap/sapservices | grep ASCS10 | sudo ssh slesmsscl2 "cat >>/usr/sap/sapservices"
    sudo ssh slesmsscl2 "cat /usr/sap/sapservices" | grep ERS12 | sudo tee -a /usr/sap/sapservices
    # Execute the following commands on slesmsscl2, assuming the NW3 ASCS instance was installed on slesmsscl2
    cat /usr/sap/sapservices | grep ASCS20 | sudo ssh slesmsscl1 "cat >>/usr/sap/sapservices"
    sudo ssh slesmsscl1 "cat /usr/sap/sapservices" | grep ERS22 | sudo tee -a /usr/sap/sapservices
    
  8. [1] 为新安装的 SAP 系统创建 SAP 群集资源。

    根据是运行 ENSA1 还是 ENSA2 系统,选择相应的选项卡来定义 NW2 和 NW3 系统的资源。 SAP 在 SAP NetWeaver 7.52 中引入了对 ENSA2 的支持,包括复制。 从 ABAP 平台 1809 开始,默认会安装 ENSA2。 有关 ENSA2 支持,请参阅 SAP 说明 2630416

    sudo crm configure property maintenance-mode="true"
    
    sudo crm configure primitive rsc_sap_NW2_ASCS10 SAPInstance \
      operations \$id=rsc_sap_NW2_ASCS10-operations \
      op monitor interval=11 timeout=60 on-fail=restart \
      params InstanceName=NW2_ASCS10_msnw2ascs START_PROFILE="/sapmnt/NW2/profile/NW2_ASCS10_msnw2ascs" \
      AUTOMATIC_RECOVER=false \
      meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10
    
    sudo crm configure primitive rsc_sap_NW2_ERS12 SAPInstance \
      operations \$id=rsc_sap_NW2_ERS12-operations \
      op monitor interval=11 timeout=60 on-fail=restart \
      params InstanceName=NW2_ERS12_msnw2ers START_PROFILE="/sapmnt/NW2/profile/NW2_ERS12_msnw2ers" AUTOMATIC_RECOVER=false IS_ERS=true \
      meta priority=1000
    
    sudo crm configure modgroup g-NW2_ASCS add rsc_sap_NW2_ASCS10
    sudo crm configure modgroup g-NW2_ERS add rsc_sap_NW2_ERS12
    
    sudo crm configure colocation col_sap_NW2_no_both -5000: g-NW2_ERS g-NW2_ASCS
    sudo crm configure location loc_sap_NW2_failover_to_ers rsc_sap_NW2_ASCS10 rule 2000: runs_ers_NW2 eq 1
    sudo crm configure order ord_sap_NW2_first_start_ascs Optional: rsc_sap_NW2_ASCS10:start rsc_sap_NW2_ERS12:stop symmetrical=false
    
    sudo crm configure primitive rsc_sap_NW3_ASCS20 SAPInstance \
      operations \$id=rsc_sap_NW3_ASCS20-operations \
      op monitor interval=11 timeout=60 on-fail=restart \
      params InstanceName=NW3_ASCS10_msnw3ascs START_PROFILE="/sapmnt/NW3/profile/NW3_ASCS20_msnw3ascs" \
      AUTOMATIC_RECOVER=false \
      meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10
    
    sudo crm configure primitive rsc_sap_NW3_ERS22 SAPInstance \
      operations \$id=rsc_sap_NW3_ERS22-operations \
      op monitor interval=11 timeout=60 on-fail=restart \
      params InstanceName=NW3_ERS22_msnw3ers START_PROFILE="/sapmnt/NW3/profile/NW3_ERS22_msnw2ers" AUTOMATIC_RECOVER=false IS_ERS=true \
      meta priority=1000
    
    sudo crm configure modgroup g-NW3_ASCS add rsc_sap_NW3_ASCS20
    sudo crm configure modgroup g-NW3_ERS add rsc_sap_NW3_ERS22
    
    sudo crm configure colocation col_sap_NW3_no_both -5000: g-NW3_ERS g-NW3_ASCS
    sudo crm configure location loc_sap_NW3_failover_to_ers rsc_sap_NW3_ASCS10 rule 2000: runs_ers_NW3 eq 1
    sudo crm configure order ord_sap_NW3_first_start_ascs Optional: rsc_sap_NW3_ASCS20:start rsc_sap_NW3_ERS22:stop symmetrical=false
    sudo crm configure property maintenance-mode="false"
    

如果要从旧版本升级并切换到排队服务器 2,请参阅 SAP 说明 2641019

请确保群集状态正常,并且所有资源都已启动。 资源在哪个节点上运行并不重要。

以下示例显示了将 SAP 系统 NW2 和 NW3 添加到群集之后群集资源状态 。

sudo crm_mon -r
  
# Online: [ slesmsscl1 slesmsscl2 ]
 
#Full list of resources:
   
#stonith-sbd     (stonith:external/sbd): Started slesmsscl1
# Resource Group: g-NW1_ASCS
#     fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl2
#     nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl2
#     vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl2
#     rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started slesmsscl2
# Resource Group: g-NW1_ERS
#     fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl1
#     nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl1
#     vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl1
#     rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started slesmsscl1
# Resource Group: g-NW2_ASCS
#     fs_NW2_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl1
#     nc_NW2_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl1
#     vip_NW2_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl1
#     rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance):   Started slesmsscl1
# Resource Group: g-NW2_ERS
#     fs_NW2_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl2
#     nc_NW2_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl2
#     vip_NW2_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl2
#     rsc_sap_NW2_ERS12  (ocf::heartbeat:SAPInstance):   Started slesmsscl2
# Resource Group: g-NW3_ASCS
#     fs_NW3_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl1
#     nc_NW3_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl1
#     vip_NW3_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl1
#     rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance):   Started slesmsscl1
# Resource Group: g-NW3_ERS
#     fs_NW3_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl2
#     nc_NW3_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl2
#     vip_NW3_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl2
#     rsc_sap_NW3_ERS22  (ocf::heartbeat:SAPInstance):   Started slesmsscl2

下图显示了资源在 HA Web Konsole(Hawk) 中的外观,其中扩展了 SAP 系统 NW2 的资源。

SAP NetWeaver High Availability overview

继续安装 SAP

通过执行以下内容来完成 SAP 安装:

测试多 SID 群集设置

以下测试属于 SUSE 最佳做法指南中的测试用例。 为方便起见,已将其包括在内。 有关群集测试的完整列表,请参阅以下文档:

请务必阅读 SUSE 最佳做法指南,并执行可能已经添加的所有其他测试。
提供的测试位于两个节点(安装了三个 SAP 系统的多 SID 群集)中。

  1. 测试 HAGetFailoverConfig 和 HACheckFailoverConfig

    在当前运行 ASCS 实例的节点上运行以下命令作为 <sapsid>adm。 如果命令失败,并显示“失败: 内存不足”消息,则原因可能是主机名中存在短划线。 这是一个已知问题,将由 SUSE 在 sap-suse-cluster-connector 包中进行修复。

     slesmsscl1:nw1adm 57> sapcontrol -nr 00 -function HAGetFailoverConfig
    
    # 10.12.2019 21:33:08
    # HAGetFailoverConfig
    # OK
    # HAActive: TRUE
    # HAProductVersion: SUSE Linux Enterprise Server for SAP Applications 12 SP4
    # HASAPInterfaceVersion: SUSE Linux Enterprise Server for SAP Applications 12 SP4 (sap_suse_cluster_connector 3.1.0)
    # HADocumentation: https://www.suse.com/products/sles-for-sap/resource-library/sap-best-practices/
    # HAActiveNode: slesmsscl1
    # HANodes: slesmsscl1, slesmsscl2
    
     slesmsscl1:nw1adm 53> sapcontrol -nr 00 -function HACheckFailoverConfig
    
     # 19.12.2019 21:19:58
     # HACheckFailoverConfig
     # OK
     # state, category, description, comment
     # SUCCESS, SAP CONFIGURATION, SAPInstance RA sufficient version, SAPInstance includes is-ers patch
    
     slesmsscl2:nw2adm 35> sapcontrol -nr 10 -function HAGetFailoverConfig
    
    # 10.12.2019 21:37:09
    # HAGetFailoverConfig
    # OK
    # HAActive: TRUE
    # HAProductVersion: SUSE Linux Enterprise Server for SAP Applications 12 SP4
    # HASAPInterfaceVersion: SUSE Linux Enterprise Server for SAP Applications 12 SP4 (sap_suse_cluster_connector 3.1.0)
    # HADocumentation: https://www.suse.com/products/sles-for-sap/resource-library/sap-best-practices/
    # HAActiveNode: slesmsscl2
    # HANodes: slesmsscl2, slesmsscl1
    
     slesmsscl2:nw2adm 52> sapcontrol -nr 10 -function HACheckFailoverConfig
    
     # 19.12.2019 21:17:39
     # HACheckFailoverConfig
     # OK
     # state, category, description, comment
     # SUCCESS, SAP CONFIGURATION, SAPInstance RA sufficient version, SAPInstance includes is-ers patch
    
     slesmsscl1:nw3adm 49> sapcontrol -nr 20 -function HAGetFailoverConfig
    
    # 10.12.2019 23:35:36
    # HAGetFailoverConfig
    # OK
    # HAActive: TRUE
    # HAProductVersion: SUSE Linux Enterprise Server for SAP Applications 12 SP4
    # HASAPInterfaceVersion: SUSE Linux Enterprise Server for SAP Applications 12 SP4 (sap_suse_cluster_connector 3.1.0)
    # HADocumentation: https://www.suse.com/products/sles-for-sap/resource-library/sap-best-practices/
    # HAActiveNode: slesmsscl1
    # HANodes: slesmsscl1, slesmsscl2
    
     slesmsscl1:nw3adm 52> sapcontrol -nr 20 -function HACheckFailoverConfig
    
     # 19.12.2019 21:10:42
     # HACheckFailoverConfig
     # OK
     # state, category, description, comment
     # SUCCESS, SAP CONFIGURATION, SAPInstance RA sufficient version, SAPInstance includes is-ers patch
    
  2. 手动迁移 ASCS 实例。 该示例演示了如何迁移 SAP 系统 NW2 的 ASCS 实例。

    开始测试之前的资源状态:

     Full list of resources:
     stonith-sbd     (stonith:external/sbd): Started slesmsscl1
      Resource Group: g-NW1_ASCS
          fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW1_ERS
          fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW2_ASCS
          fs_NW2_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW2_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW2_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW2_ERS
          fs_NW2_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW2_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW2_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW2_ERS12  (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW3_ASCS
          fs_NW3_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW3_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW3_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW3_ERS
          fs_NW3_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW3_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW3_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW3_ERS22  (ocf::heartbeat:SAPInstance):   Started slesmsscl1
    

    以 root 身份运行以下命令来迁移 NW2 ASCS 实例。

     crm resource migrate rsc_sap_NW2_ASCS10 force
     # INFO: Move constraint created for rsc_sap_NW2_ASCS10
    
     crm resource unmigrate rsc_sap_NW2_ASCS10
     # INFO: Removed migration constraints for rsc_sap_NW2_ASCS10
    
     # Remove failed actions for the ERS that occurred as part of the migration
     crm resource cleanup rsc_sap_NW2_ERS12
    

    测试之后的资源状态:

     Full list of resources:
     stonith-sbd     (stonith:external/sbd): Started slesmsscl1
      Resource Group: g-NW1_ASCS
          fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW1_ERS
          fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW2_ASCS
          fs_NW2_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW2_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW2_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW2_ERS
          fs_NW2_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW2_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW2_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW2_ERS12  (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW3_ASCS
          fs_NW3_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW3_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW3_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW3_ERS
          fs_NW3_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW3_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW3_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW3_ERS22  (ocf::heartbeat:SAPInstance):   Started slesmsscl1
    
  3. 测试 HAFailoverToNode。 此处提供的测试演示了如何迁移 SAP 系统 NW2 的 ASCS 实例。

    开始测试之前的资源状态:

     Full list of resources:
     stonith-sbd     (stonith:external/sbd): Started slesmsscl1
      Resource Group: g-NW1_ASCS
          fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW1_ERS
          fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW2_ASCS
          fs_NW2_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW2_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW2_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW2_ERS
          fs_NW2_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW2_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW2_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW2_ERS12  (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW3_ASCS
          fs_NW3_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW3_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW3_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW3_ERS
          fs_NW3_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW3_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW3_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW3_ERS22  (ocf::heartbeat:SAPInstance):   Started slesmsscl1
    

    以 nw2adm 身份运行以下命令来迁移 NW2 ASCS 实例。

     slesmsscl2:nw2adm 53> sapcontrol -nr 10 -host msnw2ascs -user nw2adm password -function HAFailoverToNode ""
    
    # run as root
    # Remove failed actions for the ERS that occurred as part of the migration
    crm resource cleanup rsc_sap_NW2_ERS12
    # Remove migration constraints
    crm resource clear rsc_sap_NW2_ASCS10
    #INFO: Removed migration constraints for rsc_sap_NW2_ASCS10
    

    测试之后的资源状态:

     Full list of resources:
     stonith-sbd     (stonith:external/sbd): Started slesmsscl1
      Resource Group: g-NW1_ASCS
          fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW1_ERS
          fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW2_ASCS
          fs_NW2_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW2_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW2_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW2_ERS
          fs_NW2_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW2_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW2_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW2_ERS12  (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW3_ASCS
          fs_NW3_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW3_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW3_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW3_ERS
          fs_NW3_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW3_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW3_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW3_ERS22  (ocf::heartbeat:SAPInstance):   Started slesmsscl1
    
  4. 模拟节点故障

    开始测试之前的资源状态:

     Full list of resources:
     stonith-sbd     (stonith:external/sbd): Started slesmsscl1
      Resource Group: g-NW1_ASCS
          fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW1_ERS
          fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW2_ASCS
          fs_NW2_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW2_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW2_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW2_ERS
          fs_NW2_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW2_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW2_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW2_ERS12  (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW3_ASCS
          fs_NW3_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW3_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW3_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW3_ERS
          fs_NW3_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW3_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW3_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW3_ERS22  (ocf::heartbeat:SAPInstance):   Started slesmsscl1
    

    以 root 身份在运行有至少一个 ASCS 实例的节点上运行以下命令。 在此示例中,我们在运行 NW1 和 NW3 的 ASCS 实例的 slesmsscl2 上执行了命令。

     slesmsscl2:~ # echo b > /proc/sysrq-trigger
    

    如果使用 SBD,Pacemaker 不应在已终止的节点上自动启动。 节点再次启动后的状态应类似如下所示。

     Online: [ slesmsscl1 ]
     OFFLINE: [ slesmsscl2 ]
     Full list of resources:
    
     stonith-sbd     (stonith:external/sbd): Started slesmsscl1
      Resource Group: g-NW1_ASCS
          fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW1_ERS
          fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW2_ASCS
          fs_NW2_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW2_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW2_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW2_ERS
          fs_NW2_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW2_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW2_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW2_ERS12  (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW3_ASCS
          fs_NW3_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW3_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW3_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW3_ERS
          fs_NW3_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW3_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW3_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW3_ERS22  (ocf::heartbeat:SAPInstance):   Started slesmsscl1
    
     Failed Resource Actions:
     * rsc_sap_NW1_ERS02_monitor_11000 on slesmsscl1 'not running' (7): call=125, status=complete, exitreason='',
         last-rc-change='Fri Dec 13 19:32:10 2019', queued=0ms, exec=0ms
     * rsc_sap_NW2_ERS12_monitor_11000 on slesmsscl1 'not running' (7): call=126, status=complete, exitreason='',
         last-rc-change='Fri Dec 13 19:32:10 2019', queued=0ms, exec=0ms
     * rsc_sap_NW3_ERS22_monitor_11000 on slesmsscl1 'not running' (7): call=127, status=complete, exitreason='',
         last-rc-change='Fri Dec 13 19:32:10 2019', queued=0ms, exec=0ms
    

    运行以下命令在已终止的节点上启动 Pacemaker,并清理 SBD 消息和已失败的资源。

    # run as root
    # list the SBD device(s)
    cat /etc/sysconfig/sbd | grep SBD_DEVICE=
    
    # output is like:
    # SBD_DEVICE="/dev/disk/by-id/scsi-36001405772fe8401e6240c985857e116;/dev/disk/by-id/scsi-36001405034a84428af24ddd8c3a3e9e1;/dev/disk/by-id/scsi-36001405cdd5ac8d40e548449318510c3"
    
    sbd -d /dev/disk/by-id/scsi-36001405772fe8401e6240c985857e116 -d /dev/disk/by-id/scsi-36001405034a84428af24ddd8c3a3e9e1 -d /dev/disk/by-id/scsi-36001405cdd5ac8d40e548449318510c3 message slesmsscl2 clear
    
    systemctl start pacemaker
    crm resource cleanup rsc_sap_NW1_ERS02
    crm resource cleanup rsc_sap_NW2_ERS12
    crm resource cleanup rsc_sap_NW3_ERS22
    

    测试之后的资源状态:

     Full list of resources:
     stonith-sbd     (stonith:external/sbd): Started slesmsscl1
      Resource Group: g-NW1_ASCS
          fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW1_ERS
          fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW2_ASCS
          fs_NW2_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW2_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW2_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW2_ERS
          fs_NW2_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW2_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW2_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW2_ERS12  (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW3_ASCS
          fs_NW3_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW3_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW3_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW3_ERS
          fs_NW3_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW3_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW3_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW3_ERS22  (ocf::heartbeat:SAPInstance):   Started slesmsscl2
    

后续步骤