你当前正在访问 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 说明和文章:
- SAP 说明 1928533,其中包含:
- SAP 软件部署支持的 Azure VM 大小的列表
- Azure VM 大小的重要容量信息
- 支持的 SAP 软件、操作系统 (OS) 和数据库组合
- Microsoft Azure 上 Windows 和 Linux 所需的 SAP 内核版本
- SAP 说明 2015553 列出了在 Azure 中 SAP 支持的 SAP 软件部署的先决条件。
- SAP 说明 2205917 包含适用于 SUSE Linux Enterprise Server for SAP Applications 的推荐 OS 设置
- SAP 说明 1944799 包含适用于 SUSE Linux Enterprise Server for SAP Applications 的 SAP HANA 准则
- SAP 说明 2178632 包含为 Azure 中的 SAP 报告的所有监控指标的详细信息。
- SAP 说明 2191498 包含 Azure 中的 Linux 所需的 SAP 主机代理版本。
- SAP 说明 2243692 包含 Azure 中的 Linux 上的 SAP 许可的相关信息。
- SAP 说明 1984787 包含有关 SUSE Linux Enterprise Server 12 的一般信息。
- SAP 说明 1999351 包含适用于 SAP 的 Azure 增强型监视扩展的其他故障排除信息。
- SAP Community WIKI 包含适用于 Linux 的所有必需 SAP 说明。
- 适用于 Linux 上的 SAP 的 Azure 虚拟机规划和实施
- 适用于 Linux 上的 SAP 的 Azure 虚拟机部署
- 适用于 Linux 上的 SAP 的 Azure 虚拟机 DBMS 部署
- SUSE SAP HA 最佳做法指南 - 这些指南包含在本地设置 Netweaver HA 和 SAP HANA 系统复制所需的所有信息。 请使用上述指南作为常规基准。 它们提供更多详细信息。
- SUSE 高可用性扩展 12 SP3 发行说明
- 适用于 SLES 12 和 SLES 15 的 SUSE 多 SID 群集指南
- 使用 Azure NetApp 文件的 Microsoft Azure 上的 NetApp SAP 应用程序
概述
如果发生故障转移,则必须调整加入群集的虚拟机的大小,使其能够运行所有资源。 在多 SID 高可用性群集中,每个 SAP SID 都可以相互独立地进行故障转移。 如果使用 SBD 隔离,则可以在多个群集之间共享 SBD 设备。
为了实现高可用性,SAP NetWeaver 需要高度可用的 NFS 共享。 在此示例中,我们假设 SAP NFS 共享托管在高度可用的 NFS 文件服务器上,可供多个 SAP 系统使用。 或者假设这些共享部署在 Azure NetApp 文件 NFS 卷上。
重要
对于 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
注意
如果没有公共 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 系统。
- 如果使用高度可用的 NFS 服务器,请参阅 SUSE Linux Enterprise Server for SAP Applications 上 Azure VM 中的 SAP NetWeaver 高可用性。
- 如果使用 Azure NetApp 文件 NFS 卷,请参阅 具有 Azure NetApp 文件的 SUSE Linux Enterprise Server for SAP Applications 上 Azure VM 中的 SAP NetWeaver 高可用性
以上列出的文档将指导你完成准备所需基础结构、构建群集、为运行 SAP 应用程序准备 OS 的步骤。
提示
部署第一个系统后,请始终测试该群集的故障转移功能,再将其他 SAP SID 添加到该群集。 这样,在将其他 SAP 系统的复杂性添加到群集之前,就可以了解群集功能的运行状况。
在群集中部署其他 SAP 系统
在此示例中,我们假定已在群集中部署了系统 NW1。 我们将演示如何在群集 SAP 系统 NW2 和 NW3 中进行部署 。
以下各项带有前缀 [A] - 适用于所有节点、[1] - 仅适用于节点 1,或 [2] - 仅适用于节点 2 。
先决条件
重要
在按照说明在群集中部署其他 SAP 系统之前,请按照说明在群集中部署第一个 SAP 系统,因为有些步骤只需在部署第一个系统中执行。
本文假设:
- 已配置 Pacemaker 群集,且它正在运行。
- 已部署至少一个 SAP 系统(ASCS/ERS 实例),且它正在群集中运行。
- 已测试群集故障转移功能。
- 所有 SAP 系统的 NFS 共享均已部署。
准备 SAP Netweaver 安装
按照通过 Azure 门户手动配置 Azure 负载均衡器中的说明,将新部署的系统(即 NW2、NW3)的配置添加到现有 Azure 负载均衡器。 调整配置的 IP 地址、运行状况探测端口和负载均衡规则。
[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
[A] 为要部署到群集的其他 NW2 和 NW3 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
[A] 配置
autofs
以装载要部署到群集的其他 SAP 系统的 /sapmnt/SID 和 /usr/sap/SID/SYS 文件系统。 在此示例中为 NW2 和 NW3 。使用要部署到群集的其他 SAP 系统的文件系统来更新文件
/etc/auto.direct
。- 如果使用 NFS 文件服务器,请按照 SLES 上 SAP NetWeaver 的 Azure VM 高可用性页上的说明进行操作
- 如果使用 Azure NetApp 文件,请按照具有 Azure NetApp 文件的 SLES 上 SAP NW 的 Azure VM 高可用性页中的说明执行操作
需要重启
autofs
服务来装载新添加的共享。
安装 ASCS/ERS
为要部署到群集的其他 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
创建资源时,可以将它们分配给不同的群集资源。 对它们进行分组时,它们将迁移到其中一个群集节点。 请确保群集状态正常,并且所有资源都已启动。 资源在哪个节点上运行并不重要。
[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,然后重试 。
[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
[2] 安装 SAP Netweaver ERS
使用映射到 ERS 负载均衡器前端配置的 IP 地址的虚拟主机名以 root 身份在其他节点上安装 SAP NetWeaver ERS。 例如,对于系统 NW2,虚拟主机名为 msnw2ers, 10.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
[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
[A] 为新部署的 SAP 系统(此示例为 NW2 和 NW3)配置 SAP 用户 。
# Add sidadm to the haclient group sudo usermod -aG haclient nw2adm sudo usermod -aG haclient nw3adm
将新安装的 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
[A] 禁用 ASCS 和 ERS SAP 实例的
systemd
服务。 仅当 SAP 启动框架由 systemd 管理(如 SAP 说明 3115048 中描述的那样)时,此步骤才适用注意
使用 SLES 群集配置来管理 SAP ASCS 和 SAP ERS 之类的 SAP 实例时,需要进行额外的修改以将群集与基于 systemd 的原生 SAP 启动框架集成。 这可以确保维护过程不会损害群集稳定性。 按照 SAP 说明 3115048 安装 SAP 启动框架或将其切换到启用 systemd 的设置后,应该为 ASCS 和 ERS SAP 实例禁用
systemd
服务。# Stop all ASCS and ERS instances using <sid>adm sapcontrol -nr 10 -function Stop sapcontrol -nr 10 -function StopService sapcontrol -nr 12 -function Stop sapcontrol -nr 12 -function StopService # Execute below command on VM where you have performed ASCS instance installation for each SAP system (e.g. slesmsscl1) sudo systemctl disable SAPNW2_10 sudo systemctl disable SAPNW3_20 # Execute below command on VM where you have performed ERS instance installation for each SAP system (e.g. slesmsscl2) sudo systemctl disable SAPNW2_12 sudo systemctl disable SAPNW2_22
[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
通过执行以下内容来完成 SAP 安装:
- 准备 SAP NetWeaver 应用程序服务器
- 安装 DBMS 实例
- 安装主 SAP 应用程序服务器
- 安装一个或多个其他 SAP 应用程序实例
测试多 SID 群集设置
以下测试属于 SUSE 最佳做法指南中的测试用例。 为方便起见,已将其包括在内。 有关群集测试的完整列表,请参阅以下文档:
- 如果使用高度可用的 NFS 服务器,请参阅 SUSE Linux Enterprise Server for SAP Applications 上 Azure VM 中的 SAP NetWeaver 高可用性。
- 如果使用 Azure NetApp 文件 NFS 卷,请参阅 具有 Azure NetApp 文件的 SUSE Linux Enterprise Server for SAP Applications 上 Azure VM 中的 SAP NetWeaver 高可用性
请务必阅读 SUSE 最佳做法指南,并执行可能已经添加的所有其他测试。
提供的测试位于安装了三个 SAP 系统的双节点多 SID 群集中。
测试 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
手动迁移 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
测试 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
模拟节点故障
开始测试之前的资源状态:
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
后续步骤
- 适用于 SAP 的 Azure 虚拟机规划和实施
- 适用于 SAP 的 Azure 虚拟机部署
- 适用于 SAP 的 Azure 虚拟机 DBMS 部署
- 若要了解如何在 Azure VM 上建立 SAP HANA 高可用性以及规划灾难恢复,请参阅 Azure 虚拟机 (VM) 上的 SAP HANA 高可用性