你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文介绍如何部署虚拟机、配置虚拟机、安装群集框架,以及安装高可用性 SAP NetWeaver 或基于 SAP ABAP 平台的系统。 在示例配置中,使用了 ASCS 实例编号 00、ERS 实例编号 02 和 SAP 系统 ID NW1。
对于 SLES for SAP Applications 15 的新实施,建议在简单的装载配置中部署 SAP ASCS/ERS 的高可用性。 本文中介绍的基于 SAP 中心服务目录的群集控制文件系统的经典 Pacemaker 配置仍受支持。
请先阅读以下 SAP 说明和文档
- SAP 注释 1928533,其中包含:
- 部署 SAP 软件支持的Azure VM 大小列表
- Azure VM 大小的重要容量信息
- 支持的 SAP 软件、操作系统 (OS) 和数据库组合
- Microsoft Azure上的 Windows 和 Linux 所需的 SAP 内核版本
- SAP 说明 2015553 列出了 Azure 中 SAP 支持的 SAP 软件部署的先决条件。
- SAP 说明 2205917 建议使用适用于 SAP 应用程序的 SUSE Linux Enterprise Server 的 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 Virtual Machines 部署
- 适用于 Linux 上的 SAP 的 Azure Virtual Machines DBMS 部署
- SUSE SAP HA 最佳做法指南本指南包含设置 Netweaver HA 和本地 SAP HANA系统复制所需的所有信息。 请使用上述指南作为常规基准。 它们提供更多详细信息。
- SUSE 高可用性扩展 12 SP3 发行说明
概述
若要实现高可用性,SAP NetWeaver 需要 NFS 服务器。 NFS 服务器在单独的群集中配置,多个 SAP 系统可以使用它。
NFS 服务器、SAP NetWeaver ASCS、SAP NetWeaver SCS、SAP NetWeaver ERS 和 SAP HANA 数据库使用虚拟主机名和虚拟 IP 地址。 在Azure,需要使用虚拟 IP 地址的负载均衡器。 建议使用标准负载均衡器。 显示的配置展示了一个负载均衡器,其中:
- ASCS 的前端 IP 地址 10.0.0.7
- ERS 的前端 IP 地址 10.0.0.8
- ASCS 的探测端口 62000
- ERS 的探测端口 62101
设置高度可用的 NFS 服务器
注意
我们建议部署 Azure 的第一方 NFS 服务之一:Azure Files 上的 NFS 或 NFS ANF 卷 来存储在高可用性 SAP 系统中共享的数据。 请注意,我们正在减少对 SAP 参考架构的重视,并使用 NFS 集群。
使用原生 NFS 服务的 SAP NW 高可用性 SAP 系统的 SAP 配置指南包括:
SAP NetWeaver 要求对传输和配置文件目录使用共享存储。 有关如何为 SAP NetWeaver 设置 NFS 服务器,请阅读 SUSE Linux Enterprise Server 上的 Azure VM 上的 NFS 的 高可用性。
准备基础结构
SAP 实例的资源代理包含在 SUSE Linux Enterprise Server for SAP Applications 中。 在 Azure Marketplace 上提供了适用于 SAP 应用的 SUSE Linux Enterprise Server 12 或 15 映像。 可使用该映像来部署新的 VM。
通过 Azure 门户手动部署 Linux VM
本文档假定已部署资源组、Azure Virtual Network 和子网。
使用 SLES for SAP Applications 映像部署虚拟机。 选择 SAP 系统支持的、合适的 SLES 映像版本。 可以通过任何一个可用性选项(虚拟机规模集、可用性区域或可用性集)来部署 VM。
配置Azure负载均衡器
在 VM 配置期间,可以在网络部分创建或选择退出的负载均衡器。 按照概述的步骤为 SAP ASCS 和 SAP ERS 的高可用性设置配置标准负载均衡器。
按照 创建负载均衡器指南,使用 Azure 门户为高可用性 SAP 系统设置标准负载均衡器。 在设置负载均衡器期间,请考虑以下几点。
- 前端 IP 配置:创建两个前端 IP,一个用于 ASCS,另一个用于 ERS。 选择与你的 ASCS/ERS 虚拟机相同的虚拟网络和子网。
- 后端池:创建后端池并添加 ASCS 和 ERS VM。
-
入站规则:创建两个负载均衡规则,一个用于 ASCS,另一个用于 ERS。 对两个负载均衡规则执行相同步骤。
- 前端 IP 地址:选择前端 IP
- 后端池:选择后端池
- 检查“高可用性端口”
- 协议:TCP
- 运行状况探测:创建具有以下详细信息的运行状况探测(适用于 ASCS 或 ERS)
- 协议:TCP
- 端口:[例如:对于 ASCS,为 620<Instance-no.>;对于 ERS,为 621<Instance-no.>]
- 间隔: 5
- 探测阈值: 2
- 空闲超时 (分钟):30
- 选中“启用浮动 IP”
注意
未遵循运行状况探测配置属性 numberOfProbes(在门户中也称为“不正常的阈值”)。 因此,要控制成功或失败的连续探测数量,请将属性“probeThreshold”设置为 2。 目前无法使用 Azure 门户设置此属性,因此请使用 Azure CLI 或 PowerShell 命令。
注意
当没有公共 IP 地址的 VM 放置在内部(无公共 IP 地址)标准Azure负载均衡器的后端池中时,它们缺少出站 Internet 连接。 需要进一步配置才能将路由到公共终结点。 有关如何实现出站连接的详细信息,请参阅 在 SAP 高可用性方案中使用 Azure 标准负载均衡器的虚拟机的公用终结点连接。
重要
- 不要在位于 Azure Load Balancer 后面的 Azure VM 上启用 TCP 时间戳。 启用 TCP 时间戳会导致运行状况探测失败。 将
net.ipv4.tcp_timestamps参数设置为0。 有关详细信息,请参阅负载均衡器运行状况探测。 - 若要防止
saptune将手动设置的net.ipv4.tcp_timestamps值从0恢复为1,应将saptune版本更新至3.1.1或更高。 有关详细信息,请参阅 saptune 3.1.1 – 是否需要更新?
设置 (A)SCS
下一步是准备并安装 SAP ASCS 和 ERS 实例。
创建 Pacemaker 群集
若要为 SAP ASCS 创建基本 Pacemaker 群集,请按照 在 Azure 中的 SUSE Linux Enterprise Server 上设置 Pacemaker 中的步骤操作。
安装
以下各项带有前缀 [A] - 适用于所有节点、[1] - 仅适用于节点 1,或 [2] - 仅适用于节点 2。
[A] 安装 SUSE 连接器
sudo zypper install sap-suse-cluster-connector注意
在 sap-suse-cluster-connector 包的版本 3.1.1 中,已修复在主机名中使用破折号的已知问题。 如果使用主机名中包含短划线的群集节点,请确保至少使用 sap-suse-cluster-connector 软件包的 3.1.1 版本。 否则群集启动可能会失败。
请确保安装 SAP SUSE 群集连接器的新版本。 旧版本称为 sap_suse_cluster_connector,新版本称为 sap-suse-cluster-connector。
sudo zypper info sap-suse-cluster-connector Information for package sap-suse-cluster-connector: --------------------------------------------------- Repository : SLE-12-SP3-SAP-Updates Name : sap-suse-cluster-connector <b>Version : 3.0.0-2.2</b> Arch : noarch Vendor : SUSE LLC <https://www.suse.com/> Support Level : Level 3 Installed Size : 41.6 KiB <b>Installed : Yes</b> Status : up-to-date Source package : sap-suse-cluster-connector-3.0.0-2.2.src Summary : SUSE High Availability Setup for SAP Products[A] 更新 SAP 资源代理
使用本文中所述的新配置需要安装资源代理包的一个修补程序。 可以通过以下命令检查是否已安装了修补程序
sudo grep 'parameter name="IS_ERS"' /usr/lib/ocf/resource.d/heartbeat/SAPInstance输出应类似于
<parameter name="IS_ERS" unique="0" required="0">如果 grep 命令未找到 IS_ERS 参数,则需要安装 SUSE 下载页上列出的修补程序。
# example for patch for SLES 12 SP1 sudo zypper in -t patch SUSE-SLE-HA-12-SP1-2017-885=1 # example for patch for SLES 12 SP2 sudo zypper in -t patch SUSE-SLE-HA-12-SP2-2017-886=1[A] 设置主机名称解析
可以使用 DNS 服务器,或修改所有节点上的 /etc/hosts。 此示例演示如何使用 /etc/hosts 文件。 请替换以下命令中的 IP 地址和主机名。
sudo vi /etc/hosts # Insert the following lines to /etc/hosts. Change the IP address and hostname to match your environment # IP address of the load balancer frontend configuration for NFS 10.0.0.4 nw1-nfs # IP address of the load balancer frontend configuration for SAP NetWeaver ASCS 10.0.0.7 nw1-ascs # IP address of the load balancer frontend configuration for SAP NetWeaver ASCS ERS 10.0.0.8 nw1-aers # IP address of the load balancer frontend configuration for database 10.0.0.13 nw1-db
准备 SAP NetWeaver 安装
[A] 创建共享目录
sudo mkdir -p /sapmnt/NW1 sudo mkdir -p /usr/sap/trans sudo mkdir -p /usr/sap/NW1/SYS sudo mkdir -p /usr/sap/NW1/ASCS00 sudo mkdir -p /usr/sap/NW1/ERS02 sudo chattr +i /sapmnt/NW1 sudo chattr +i /usr/sap/trans sudo chattr +i /usr/sap/NW1/SYS sudo chattr +i /usr/sap/NW1/ASCS00 sudo chattr +i /usr/sap/NW1/ERS02[A] 配置 autofs
sudo vi /etc/auto.master # Add the following line to the file, save and exit +auto.master /- /etc/auto.direct创建文件
sudo vi /etc/auto.direct # Add the following lines to the file, save and exit /sapmnt/NW1 -nfsvers=4,nosymlink,sync nw1-nfs:/NW1/sapmntsid /usr/sap/trans -nfsvers=4,nosymlink,sync nw1-nfs:/NW1/trans /usr/sap/NW1/SYS -nfsvers=4,nosymlink,sync nw1-nfs:/NW1/sidsys重新启动 autofs 以装载新的共享
sudo systemctl enable autofs sudo service autofs restart[A] 配置交换文件
根据 为 Azure Linux VM 创建 SWAP 文件 中的定义创建交换文件。
#!/bin/sh # Percent of space on the ephemeral disk to dedicate to swap. Here 30% is being used. Modify as appropriate. PCT=0.3 # Location of swap file. Modify as appropriate based on location of ephemeral disk. LOCATION=/mnt if [ ! -f ${LOCATION}/swapfile ] then # Get size of the ephemeral disk and multiply it by the percent of space to allocate size=$(/bin/df -m --output=target,avail | /usr/bin/awk -v percent="$PCT" -v pattern=${LOCATION} '$0 ~ pattern {SIZE=int($2*percent);print SIZE}') echo "$size MB of space allocated to swap file" # Create an empty file first and set correct permissions /bin/dd if=/dev/zero of=${LOCATION}/swapfile bs=1M count=$size /bin/chmod 0600 ${LOCATION}/swapfile # Make the file available to use as swap /sbin/mkswap ${LOCATION}/swapfile fi # Enable swap /sbin/swapon ${LOCATION}/swapfile /sbin/swapon -a # Display current swap status /sbin/swapon -s使文件可执行。
chmod +x /var/lib/cloud/scripts/per-boot/swap.sh停止并启动 VM。 只有在创建 SWAP 文件后的首次才需要停止和启动 VM。
安装 SAP NetWeaver ASCS/ERS
[1] 为 ASCS 实例创建虚拟 IP 资源和运行状况探测
重要
最近的测试揭示了 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 群集,如果配置已更改为使用 socat,如 Azure Load-Balancer Detection Hardening 中所述,则无需立即切换到 azure-lb 资源代理。sudo crm node standby nw1-cl-1 sudo crm configure primitive fs_NW1_ASCS Filesystem device='nw1-nfs:/NW1/ASCS' directory='/usr/sap/NW1/ASCS00' 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_NW1_ASCS IPaddr2 \ params ip=10.0.0.7 \ op monitor interval=10 timeout=20 sudo crm configure primitive nc_NW1_ASCS azure-lb port=62000 \ op monitor timeout=20s interval=10 sudo crm configure group g-NW1_ASCS fs_NW1_ASCS nc_NW1_ASCS vip_NW1_ASCS \ meta resource-stickiness=3000请确保群集状态正常,并且所有资源都已启动。 资源在哪个节点上运行并不重要。
sudo crm_mon -r # Node nw1-cl-1: standby # Online: [ nw1-cl-0 ] # # Full list of resources: # # stonith-sbd (stonith:external/sbd): Started nw1-cl-0 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-0 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-0 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-0[1] 安装 SAP NetWeaver ASCS
使用映射到适用于 ASCS 的负载均衡器前端配置的 IP 地址(例如 nw1-ascs、10.0.0.7)以及用于负载均衡器探测的实例编号(例如 00)的虚拟主机名,在第一个节点上以 root 身份安装 SAP NetWeaver ASCS。
可以使用 sapinst 参数 SAPINST_REMOTE_ACCESS_USER 允许非根用户连接到 sapinst。
sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname如果安装过程无法在 /usr/sap/NW1/ASCS00 中创建子文件夹,请尝试设置 ASCS00 文件夹的所有者和组,然后重试。
chown nw1adm /usr/sap/NW1/ASCS00 chgrp sapsys /usr/sap/NW1/ASCS00[1] 为 ERS 实例创建虚拟 IP 资源和运行状况探测
sudo crm node online nw1-cl-1 sudo crm node standby nw1-cl-0 sudo crm configure primitive fs_NW1_ERS Filesystem device='nw1-nfs:/NW1/ASCSERS' directory='/usr/sap/NW1/ERS02' 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_NW1_ERS IPaddr2 \ params ip=10.0.0.8 \ op monitor interval=10 timeout=20 sudo crm configure primitive nc_NW1_ERS azure-lb port=62102 \ op monitor timeout=20s interval=10 sudo crm configure group g-NW1_ERS fs_NW1_ERS nc_NW1_ERS vip_NW1_ERS请确保群集状态正常,并且所有资源都已启动。 资源在哪个节点上运行并不重要。
sudo crm_mon -r # Node nw1-cl-0: standby # Online: [ nw1-cl-1 ] # # Full list of resources: # # stonith-sbd (stonith:external/sbd): Started nw1-cl-1 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 # Resource Group: g-NW1_ERS # fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-1 # nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-1 # vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-1[2] 安装 SAP NetWeaver ERS
使用映射到适用于 ERS 的负载均衡器前端配置的 IP 地址(例如 nw1-ers、10.0.0.8)以及用于负载均衡器探测的实例编号(例如 02)的虚拟主机名,在第二个节点上以 root 身份安装 SAP NetWeaver ERS。
可以使用 sapinst 参数 SAPINST_REMOTE_ACCESS_USER 允许非根用户连接到 sapinst。
sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname注意
使用 SWPM SP 20 PL 05 或更高版本。 较低版本错误地设置权限,安装失败。
如果安装过程无法在 /usr/sap/NW1/ERS02 中创建子文件夹,请尝试设置 ERS02 文件夹的所有者和组,然后重试。
chown nw1adm /usr/sap/NW1/ERS02 chgrp sapsys /usr/sap/NW1/ERS02[1] 调整 ASCS/SCS 和 ERS 实例配置文件
ASCS/SCS 配置文件
sudo vi /sapmnt/NW1/profile/NW1_ASCS00_nw1-ascs # 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_EXECUTABLE)/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 = TRUEERS 配置文件
sudo vi /sapmnt/NW1/profile/NW1_ERS02_nw1-aers # 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_EXECUTABLE)/saphascriptco.so service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector # remove Autostart from ERS profile # Autostart = 1
[A] 配置“保持连接”
SAP NetWeaver 应用程序服务器和 ASCS/SCS 之间的通信是通过软件负载均衡器进行路由的。 负载均衡器在可配置的超时后将断开非活动连接。 若要防止这种断开连接,需要在 SAP NetWeaver ASCS/SCS 配置文件中设置参数(如果使用 ENSA1),并在 ENSA1/ENSA2 的所有 SAP 服务器上更改 Linux 系统
keepalive设置。 有关详细信息,请参阅 SAP 说明 1410736。# Change the Linux system configuration sudo sysctl net.ipv4.tcp_keepalive_time=300[A] 在安装后配置 SAP 用户
# Add sidadm to the haclient group sudo usermod -aG haclient nw1adm[1] 将 ASCS 和 ERS SAP 服务添加到 sapservice 文件
将 ASCS 服务入口添加到第二个节点,并将 ERS 服务入口复制到第一个节点。
cat /usr/sap/sapservices | grep ASCS00 | sudo ssh nw1-cl-1 "cat >>/usr/sap/sapservices" sudo ssh nw1-cl-1 "cat /usr/sap/sapservices" | grep ERS02 | sudo tee -a /usr/sap/sapservices[A] 禁用 ASCS 和 ERS SAP 实例的
systemd服务。 仅当 systemd 根据 SAP 说明3115048管理 SAP 启动框架时,此步骤才适用注意
使用 SLES 群集配置管理 SAP ASCS 和 SAP ERS 等 SAP 实例时,需要进行其他修改,以便将群集与基于本机系统的 SAP 启动框架集成,以确保维护过程不会损害群集稳定性。 按照 SAP 说明 3115048 安装 SAP 启动框架或将其切换到启用 systemd 的设置后,应该为 ASCS 和 ERS SAP 实例禁用
systemd服务。# Stop ASCS and ERS instances using <sid>adm sapcontrol -nr 00 -function Stop sapcontrol -nr 00 -function StopService sapcontrol -nr 01 -function Stop sapcontrol -nr 01 -function StopService # Execute below command on VM where you have performed ASCS instance installation (e.g. nw1-cl-0) sudo systemctl disable SAPNW1_00 # Execute below command on VM where you have performed ERS instance installation (e.g. nw1-cl-1) sudo systemctl disable SAPNW1_01[1] 创建 SAP 群集资源
根据是运行 ENSA1 还是 ENSA2 系统,选择相应的选项卡来定义资源。 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_NW1_ASCS00 SAPInstance \ operations \$id=rsc_sap_NW1_ASCS00-operations \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=NW1_ASCS00_nw1-ascs START_PROFILE="/sapmnt/NW1/profile/NW1_ASCS00_nw1-ascs" \ AUTOMATIC_RECOVER=false \ meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10 sudo crm configure primitive rsc_sap_NW1_ERS02 SAPInstance \ operations \$id=rsc_sap_NW1_ERS02-operations \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=NW1_ERS02_nw1-aers START_PROFILE="/sapmnt/NW1/profile/NW1_ERS02_nw1-aers" AUTOMATIC_RECOVER=false IS_ERS=true \ meta priority=1000 sudo crm configure modgroup g-NW1_ASCS add rsc_sap_NW1_ASCS00 sudo crm configure modgroup g-NW1_ERS add rsc_sap_NW1_ERS02 sudo crm configure colocation col_sap_NW1_no_both -5000: g-NW1_ERS g-NW1_ASCS sudo crm configure location loc_sap_NW1_failover_to_ers rsc_sap_NW1_ASCS00 rule 2000: runs_ers_NW1 eq 1 sudo crm configure order ord_sap_NW1_first_start_ascs Optional: rsc_sap_NW1_ASCS00:start rsc_sap_NW1_ERS02:stop symmetrical=false sudo crm_attribute --delete --name priority-fencing-delay sudo crm node online nw1-cl-0 sudo crm configure property maintenance-mode="false"
如果要从旧版本升级并切换到排队服务器 2,请参阅 SAP 说明 2641019。
请确保群集状态正常,并且所有资源都已启动。 资源在哪个节点上运行并不重要。
sudo crm_mon -r
# Online: [ nw1-cl-0 nw1-cl-1 ]
#
# Full list of resources:
#
# stonith-sbd (stonith:external/sbd): Started nw1-cl-1
# Resource Group: g-NW1_ASCS
# fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1
# nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1
# vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1
# rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1
# Resource Group: g-NW1_ERS
# fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0
# nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0
# vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0
# rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0
注意
可将 SAP ASCS/ERS 群集从 2 节点扩展到 3 节点群集,第三个节点作为 ASCS 或 ERS 服务的故障转移的备用节点。
- 3 节点设置仅适用于使用 SAP Enqueue Replication Server 2 (ENSA2) 的 SAP 系统。
- 群集属性
priority-fencing-delay不应在 3 节点群集中使用。
SAP NetWeaver 应用程序服务器准备
某些数据库要求在应用程序服务器上执行数据库实例安装。 准备应用程序服务器虚拟机,以便能够执行数据库安装。
以下常见步骤假定在不同于 ASCS 和 HANA 服务器的服务器上安装应用程序服务器。
配置操作系统
减小脏缓存的大小。 有关详细信息,请参阅 较大 RAM 容量的 SLES 11/12 服务器写入性能不佳。
sudo vi /etc/sysctl.conf # Change/set the following settings vm.dirty_bytes = 629145600 vm.dirty_background_bytes = 314572800设置主机名解析
可以使用 DNS 服务器,或修改所有节点上的 /etc/hosts。 此示例演示如何使用 /etc/hosts 文件。 请替换以下命令中的 IP 地址和主机名
sudo vi /etc/hosts将以下行插入 /etc/hosts。 根据环境更改 IP 地址和主机名
# IP address of the load balancer frontend configuration for NFS 10.0.0.4 nw1-nfs # IP address of the load balancer frontend configuration for SAP NetWeaver ASCS/SCS 10.0.0.7 nw1-ascs # IP address of the load balancer frontend configuration for SAP NetWeaver ERS 10.0.0.8 nw1-aers # IP address of the load balancer frontend configuration for database 10.0.0.13 nw1-db # IP address of all application servers 10.0.0.20 nw1-di-0 10.0.0.21 nw1-di-1创建 sapmnt 目录
sudo mkdir -p /sapmnt/NW1 sudo mkdir -p /usr/sap/trans sudo chattr +i /sapmnt/NW1 sudo chattr +i /usr/sap/trans配置 autofs
sudo vi /etc/auto.master # Add the following line to the file, save and exit +auto.master /- /etc/auto.direct创建新文件
sudo vi /etc/auto.direct # Add the following lines to the file, save and exit /sapmnt/NW1 -nfsvers=4,nosymlink,sync nw1-nfs:/NW1/sapmntsid /usr/sap/trans -nfsvers=4,nosymlink,sync nw1-nfs:/NW1/trans重新启动 autofs 以装载新的共享
sudo systemctl enable autofs sudo service autofs restart配置交换文件
sudo vi /etc/waagent.conf # Set the property ResourceDisk.EnableSwap to y # Create and use swapfile on resource disk. ResourceDisk.EnableSwap=y # Set the size of the SWAP file with property ResourceDisk.SwapSizeMB # The free space of resource disk varies by virtual machine size. Make sure that you do not set a value that is too big. You can check the SWAP space with command swapon # Size of the swapfile. ResourceDisk.SwapSizeMB=2000若要激活更改,请重启代理。
sudo service waagent restart
安装数据库
在此示例中,SAP NetWeaver 安装在SAP HANA上。 可以使用每个受支持的数据库完成此安装。 有关如何在 Azure 中安装SAP HANA的详细信息,请参阅
运行 SAP 数据库实例安装
使用映射到适用于数据库的负载均衡器前端配置的 IP 地址(例如 nw1-db 和 10.0.0.13)的虚拟主机名以 root 身份安装 SAP NetWeaver 数据库实例。
可以使用 sapinst 参数 SAPINST_REMOTE_ACCESS_USER 允许非根用户连接到 sapinst。
sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
SAP NetWeaver 应用程序服务器安装
请按照这些步骤安装 SAP 应用程序服务器。
准备应用程序服务器
按照 SAP NetWeaver 应用程序服务器准备中的步骤操作。
安装 SAP NetWeaver 应用程序服务器
安装主服务器或其他的 SAP NetWeaver 应用程序服务器。
可以使用 sapinst 参数 SAPINST_REMOTE_ACCESS_USER 允许非根用户连接到 sapinst。
sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname更新SAP HANA安全存储
更新 SAP HANA 安全存储以指向 SAP HANA 系统复制设置的虚拟名称。
若要列出条目,请运行以下命令:
hdbuserstore List该命令应该列出所有条目,看起来应与以下示例相似。
DATA FILE : /home/nw1adm/.hdb/nw1-di-0/SSFS_HDB.DAT KEY FILE : /home/nw1adm/.hdb/nw1-di-0/SSFS_HDB.KEY KEY DEFAULT ENV : 10.0.0.14:30313 USER: SAPABAP1 DATABASE: HN1在此示例中,默认入口的 IP 地址指向虚拟机,而不是指向负载均衡器。 请更改此设置,使其指向负载均衡器的虚拟主机名。 请确保使用相同的端口和数据库名称。 例如,在示例输出中为
30313和HN1。su - nw1adm hdbuserstore SET DEFAULT nw1-db:30313@HN1 SAPABAP1 <password of ABAP schema>
测试群集设置
以下测试为 SUSE 最佳做法指南中的测试用例。 因方便您的使用,它们已被复制。 始终阅读最佳做法指南,并执行可能已添加的所有额外测试。
测试 HAGetFailoverConfig、HACheckConfig 和 HACheckFailoverConfig
在当前运行 ASCS 实例的节点上运行以下命令作为 <sapsid>adm。 如果命令失败,并显示“失败: 内存不足”消息,则原因可能是主机名中存在短划线。 此错误是一个已知问题,SUSE 将在 sap-suse-cluster-connector 包中修复此问题。
nw1-cl-0:nw1adm 54> sapcontrol -nr 00 -function HAGetFailoverConfig # 15.08.2018 13:50:36 # HAGetFailoverConfig # OK # HAActive: TRUE # HAProductVersion: Toolchain Module # HASAPInterfaceVersion: Toolchain Module (sap_suse_cluster_connector 3.0.1) # HADocumentation: https://www.suse.com/products/sles-for-sap/resource-library/sap-best-practices/ # HAActiveNode: # HANodes: nw1-cl-0, nw1-cl-1 nw1-cl-0:nw1adm 55> sapcontrol -nr 00 -function HACheckConfig # 15.08.2018 14:00:04 # HACheckConfig # OK # state, category, description, comment # SUCCESS, SAP CONFIGURATION, Redundant ABAP instance configuration, 2 ABAP instances detected # SUCCESS, SAP CONFIGURATION, Redundant Java instance configuration, 0 Java instances detected # SUCCESS, SAP CONFIGURATION, Enqueue separation, All Enqueue server separated from application server # SUCCESS, SAP CONFIGURATION, MessageServer separation, All MessageServer separated from application server # SUCCESS, SAP CONFIGURATION, ABAP instances on multiple hosts, ABAP instances on multiple hosts detected # SUCCESS, SAP CONFIGURATION, Redundant ABAP SPOOL service configuration, 2 ABAP instances with SPOOL service detected # SUCCESS, SAP STATE, Redundant ABAP SPOOL service state, 2 ABAP instances with active SPOOL service detected # SUCCESS, SAP STATE, ABAP instances with ABAP SPOOL service on multiple hosts, ABAP instances with active ABAP SPOOL service on multiple hosts detected # SUCCESS, SAP CONFIGURATION, Redundant ABAP BATCH service configuration, 2 ABAP instances with BATCH service detected # SUCCESS, SAP STATE, Redundant ABAP BATCH service state, 2 ABAP instances with active BATCH service detected # SUCCESS, SAP STATE, ABAP instances with ABAP BATCH service on multiple hosts, ABAP instances with active ABAP BATCH service on multiple hosts detected # SUCCESS, SAP CONFIGURATION, Redundant ABAP DIALOG service configuration, 2 ABAP instances with DIALOG service detected # SUCCESS, SAP STATE, Redundant ABAP DIALOG service state, 2 ABAP instances with active DIALOG service detected # SUCCESS, SAP STATE, ABAP instances with ABAP DIALOG service on multiple hosts, ABAP instances with active ABAP DIALOG service on multiple hosts detected # SUCCESS, SAP CONFIGURATION, Redundant ABAP UPDATE service configuration, 2 ABAP instances with UPDATE service detected # SUCCESS, SAP STATE, Redundant ABAP UPDATE service state, 2 ABAP instances with active UPDATE service detected # SUCCESS, SAP STATE, ABAP instances with ABAP UPDATE service on multiple hosts, ABAP instances with active ABAP UPDATE service on multiple hosts detected # SUCCESS, SAP STATE, SCS instance running, SCS instance status ok # SUCCESS, SAP CONFIGURATION, SAPInstance RA sufficient version (nw1-ascs_NW1_00), SAPInstance includes is-ers patch # SUCCESS, SAP CONFIGURATION, Enqueue replication (nw1-ascs_NW1_00), Enqueue replication enabled # SUCCESS, SAP STATE, Enqueue replication state (nw1-ascs_NW1_00), Enqueue replication active nw1-cl-0:nw1adm 56> sapcontrol -nr 00 -function HACheckFailoverConfig # 15.08.2018 14:04:08 # HACheckFailoverConfig # OK # state, category, description, comment # SUCCESS, SAP CONFIGURATION, SAPInstance RA sufficient version, SAPInstance includes is-ers patch手动迁移 ASCS 实例
开始测试之前的资源状态:
stonith-sbd (stonith:external/sbd): Started nw1-cl-0 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-0 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-1运行以下命令以 root 身份迁移 ASCS 实例。
nw1-cl-0:~ # crm resource migrate rsc_sap_NW1_ASCS00 force # INFO: Move constraint created for rsc_sap_NW1_ASCS00 nw1-cl-0:~ # crm resource unmigrate rsc_sap_NW1_ASCS00 # INFO: Removed migration constraints for rsc_sap_NW1_ASCS00 # Remove failed actions for the ERS that occurred as part of the migration nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ERS02测试之后的资源状态:
stonith-sbd (stonith:external/sbd): Started nw1-cl-0 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0测试 HAFailoverToNode
开始测试之前的资源状态:
stonith-sbd (stonith:external/sbd): Started nw1-cl-0 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0若要迁移 ASCS 实例,请运行以下命令作为 <sapsid>adm。
nw1-cl-0:nw1adm 55> sapcontrol -nr 00 -host nw1-ascs -user nw1adm <password> -function HAFailoverToNode "" # run as root # Remove failed actions for the ERS that occurred as part of the migration nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ERS02 # Remove migration constraints nw1-cl-0:~ # crm resource clear rsc_sap_NW1_ASCS00 #INFO: Removed migration constraints for rsc_sap_NW1_ASCS00测试之后的资源状态:
stonith-sbd (stonith:external/sbd): Started nw1-cl-0 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-0 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-1模拟节点故障
开始测试之前的资源状态:
stonith-sbd (stonith:external/sbd): Started nw1-cl-0 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-0 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-1在运行 ASCS 实例的节点上以 root 身份运行以下命令
nw1-cl-0:~ # echo b > /proc/sysrq-trigger如果使用 SBD,则 Pacemaker 不应在已终止的节点上自动启动。 节点再次启动后的状态应类似如下所示。
Online: [ nw1-cl-1 ] OFFLINE: [ nw1-cl-0 ] Full list of resources: stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Failed Actions: * rsc_sap_NW1_ERS02_monitor_11000 on nw1-cl-1 'not running' (7): call=219, status=complete, exitreason='none', last-rc-change='Wed Aug 15 14:38:38 2018', queued=0ms, exec=0ms运行以下命令在已终止的节点上启动 Pacemaker,并清理 SBD 消息和已失败的资源。
# run as root # list the SBD device(s) nw1-cl-0:~ # cat /etc/sysconfig/sbd | grep SBD_DEVICE= # SBD_DEVICE="/dev/disk/by-id/scsi-36001405772fe8401e6240c985857e116;/dev/disk/by-id/scsi-36001405034a84428af24ddd8c3a3e9e1;/dev/disk/by-id/scsi-36001405cdd5ac8d40e548449318510c3" nw1-cl-0:~ # sbd -d /dev/disk/by-id/scsi-36001405772fe8401e6240c985857e116 -d /dev/disk/by-id/scsi-36001405034a84428af24ddd8c3a3e9e1 -d /dev/disk/by-id/scsi-36001405cdd5ac8d40e548449318510c3 message nw1-cl-0 clear nw1-cl-0:~ # systemctl start pacemaker nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ASCS00 nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ERS02测试之后的资源状态:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0阻止网络通信
开始测试之前的资源状态:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0执行防火墙规则以阻止其中一个节点上的通信。
# Execute iptable rule on nw1-cl-0 (10.0.0.5) to block the incoming and outgoing traffic to nw1-cl-1 (10.0.0.6) iptables -A INPUT -s 10.0.0.6 -j DROP; iptables -A OUTPUT -d 10.0.0.6 -j DROP当群集节点无法相互通信时,存在脑裂情况的风险。 在这种情况下,群集节点尝试同时相互隔离,从而导致围栏竞争。
配置隔离设备时,建议配置
pcmk_delay_max属性。 因此,在脑裂场景中,群集会向每个节点上的隔离操作引入随机延迟,最高为pcmk_delay_max值。 选择具有最短延迟的节点进行隔离。此外,在 ENSA 2 配置中,若要在拆分大脑方案中将托管 ASCS 资源的节点优先于其他节点,建议在群集中配置
priority-fencing-delay属性。 启用 priority-fencing-delay 属性允许集群在托管 ASCS 资源的节点上引入一个专门的额外延迟,从而使 ASCS 节点能够在隔离操作的竞争中获胜。注意
该
priority-fencing-delay属性仅适用于使用 ENSA2 运行的双节点群集配置。执行以下命令以删除防火墙规则。
# If the iptables rule set on the server gets reset after a reboot, the rules will be cleared out. In case they have not been reset, please proceed to remove the iptables rule using the following command. iptables -D INPUT -s 10.0.0.6 -j DROP; iptables -D OUTPUT -d 10.0.0.6 -j DROP测试 ASCS 实例的手动重启
开始测试之前的资源状态:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0通过编辑事务 su01 中的用户等方式创建一个排队锁。 在运行 ASCS 实例的节点上,以 <sapsid>adm 身份运行以下命令。 这些命令停止 ASCS 实例,并再次启动它。 如果使用排队服务器 1 体系结构,则排队锁预计会在此测试中丢失。 如果使用排队服务器 2 体系结构,则将保留该排队。
nw1-cl-1:nw1adm 54> sapcontrol -nr 00 -function StopWait 600 2ASCS 实例在 Pacemaker 中现在应为禁用状态
rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Stopped (disabled)在同一节点上再次启动 ASCS 实例。
nw1-cl-1:nw1adm 54> sapcontrol -nr 00 -function StartWait 600 2事务 su01 的排队锁应会丢失,且后端应已重置。 测试之后的资源状态:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0终止消息服务器进程
开始测试之前的资源状态:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0运行以下命令作为根,确定消息服务器的进程并将其终止。
nw1-cl-1:~ # pgrep -f ms.sapNW1 | xargs kill -9如果仅停止消息服务器一次,sapstart 会重启它。 如果频繁终止,Pacemaker 最终会将 ASCS 实例移动到另一个节点(适用于 ENSA1)。 运行以下命令作为根,清除测试后的 ASCS 和 ERS 实例的资源状态。
nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ASCS00 nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ERS02测试之后的资源状态:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-0 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-1终止队列服务器进程
开始测试之前的资源状态:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-0 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-1在运行 ASCS 实例的节点上,以 root 用户身份运行以下命令以终止锁服务。
nw1-cl-0:~ # #If using ENSA1 pgrep -f en.sapNW1 | xargs kill -9 #If using ENSA2 pgrep -f enq.sapNW1 | xargs kill -9ASCS 实例应立即切换到另一个节点(适用于 ENSA1)。 ASCS 实例启动后,ERS 实例也会进行故障转移。 运行以下命令作为根,清除测试后的 ASCS 和 ERS 实例的资源状态。
nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ASCS00 nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ERS02测试之后的资源状态:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0终止排队复制服务器进程
开始测试之前的资源状态:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0在运行 ERS 实例的节点上,以 root 身份运行以下命令以杀死排队复制服务器进程。
nw1-cl-0:~ # pgrep -f er.sapNW1 | xargs kill -9如果仅运行该命令一次,则 sapstart 会重启该进程。 如果经常运行此命令,则 sapstart 不会重启该进程,且资源会处于停止状态。 运行以下命令作为根,清除测试后的 ERS 实例的资源状态。
nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ERS02测试之后的资源状态:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0终止排队 sapstartsrv 进程
开始测试之前的资源状态:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0在运行 ASCS 的节点上以 root 身份运行以下命令。
nw1-cl-1:~ # pgrep -fl ASCS00.*sapstartsrv # 59545 sapstartsrv nw1-cl-1:~ # kill -9 59545Pacemaker 资源代理应始终重启 sapstartsrv 进程。 测试之后的资源状态:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0
后续步骤
- 适用于 SAP 应用程序多 SID 的 SLES 上 Azure VM 中的 SAP NW 的 HA 指南
- 用于 SAP 的 Azure 虚拟机的规划和实施
- 适用于 SAP 的 Azure Virtual Machines 部署
- 适用于 SAP 的 Azure Virtual Machines DBMS 部署
- 若要了解如何在 Azure VM 上建立SAP HANA灾难恢复的高可用性和计划,请参阅 Azure Virtual Machines 上SAP HANA的 高可用性