IBM Cloud Docs
在 Red Hat Enterprise Linux High Availability Add-On 集群中为 SAP S/4HANA (ASCS 和 ERS)配置高可用性

在 Red Hat Enterprise Linux High Availability Add-On 集群中为 SAP S/4HANA (ASCS 和 ERS)配置高可用性

以下信息介绍了 Red Hat Enterprise Linux (RHEL) 高可用性附加集群中 ABAP SAP Central Services (ASCS)Enqueue Replication Server (ERS) 的配置。 该集群使用 IBM® Power® Virtual Server 作为集群节点。

此示例配置适用于 独立排队服务器(Standalone Enqueue Server)的第二代,也称为 ENSA2

从 SAP S/4HANA 1809发布开始,ENSA2 默认安装,并可在双节点或多节点集群中进行配置。 本示例使用 ENSA2 双节点 RHEL HA 附加集群的设置。 如果 ASCS服务在双节点集群中发生故障,它将在运行ERS实例的节点上重新启动。 然后,SAP 应用程序的锁条目将从 ERS实例中的锁表副本中恢复。 当管理员激活故障群集节点时 ,ERS实例将移动到另一个节点(反配置),以保护其锁表副本。

建议您将 SAP 数据库实例和其他 SAP 应用服务器实例安装在双节点集群外的虚拟服务器实例上,用于 ASCSERS

准备工作

查看 IBM Power Virtual Server 参考资料中为 SAP 应用程序实施高可用性 中列出的一般要求、产品文档、支持文章和 SAP 注释。

先决条件

  • 此信息描述了在两个群集节点上均可访问的共享存储卷的设置。 某些文件系统创建在可共享的存储卷上,以便它们可以安装在两个群集节点上。 此设置适用于两个实例目录。

    • /usr/sap/<SID>/ASCS<INSTNO> ASCS实例
    • /usr/sap/<SID>/ERS<INSTNO> ERS实例

    确保为这些文件系统创建的存储卷已连接到两个虚拟服务器实例。 在 SAP 实例安装和RHEL HA附加集群配置期间,每个实例目录必须挂载在相应的节点上。 HA-LVM确保两个实例目录中的每一个都只在一个节点上安装一次。

    实例目录有不同的存储设置,例如 NFS 挂载。 本文档不介绍文件存储或创建集群文件系统资源的存储设置步骤。

  • ASCS 和ERS实例的虚拟主机名必须符合 SAP ABAP平台服务器主机名文档中的要求。 确保将 SAP 实例的虚拟IP地址分配给网络适配器,并确保它们可以在网络中通信。

  • SAP 应用程序服务器实例需要一个具有读写权限的通用共享文件系统 sapmnt /sapmnt/<SID>,以及其他共享文件系统,例如 saptrans /usr/sap/trans。 这些文件系统通常由外部 NFS 服务器提供。 NFS 服务器必须具备高可用性,且不得安装在属于集群的虚拟服务器上 ENSA2 集群的一部分。

    在 Red Hat 高可用性集群中配置主动-被动 NFS 服务器 描述了在RHEL HA附加集群中使用 Red Hat Enterprise Linux 8,通过在 Power Virtual Server 中使用虚拟服务器实例,实现主动-被动 NFS 服务器。 用于主动-被动 NFS 服务器的RHEL HA附加群集必须部署在单个 Power Virtual Server 工作区中。

准备节点以安装ASCS和ERS实例

以下信息介绍了如何准备节点,以便安装 SAP ASCSERS实例

准备环境变量

为了简化设置,请在两个集群节点上为用户 root 准备以下环境变量。 这些环境变量与本信息中后续的操作系统命令一起使用。

在两个节点上,设置以下环境变量。

# General settings
export SID=<SID>                   # SAP System ID (uppercase)
export sid=<sid>                   # SAP System ID (lowercase)

# ASCS instance
export ASCS_INSTNO=<INSTNO>        # ASCS instance number
export ASCS_VH=<virtual hostname>  # ASCS virtual hostname
export ASCS_IP=<IP address>        # ASCS virtual IP address
export ASCS_VG=<vg name>           # ASCS volume group name
export ASCS_LV=<lv name>           # ASCS logical volume name

# ERS instance
export ERS_INSTNO=<INSTNO>         # ERS instance number
export ERS_VH=<virtual hostname>   # ERS virtual hostname
export ERS_IP=<IP address>         # ERS virtual IP address
export ERS_VG=<vg name>            # ERS volume group name
export ERS_LV=<lv name>            # ERS logical volume name

# NFS settings
export NFS_SERVER="NFS server"           # Hostname or IP address of the highly available NFS server
export NFS_SHARE="NFS server directory"  # Exported file system directory on the NFS server
export NFS_OPTIONS="rw,sec=sys"          # Sample NFS client mount options

建议为卷组和逻辑卷使用有意义的名称,以指明其内容。 例如,在名称中包含 SID 和ascsers。 在卷组或逻辑卷名称中不要使用连字符。

  • s01ascsvg 和 s01ascslv
  • s01ersvg 和 s01erslv

分配虚拟IP地址

查看 “虚拟IP地址的预留”中的信息。

检查 SAP 实例的虚拟IP地址是否存在。 否则,您需要确定正确的网络适配器,以便分配IP地址。

在两个节点上,查看当前活动的IP地址列表。

ip -o -f inet address show | '/scope global/ {print $2, $4}'

上一个命令的输出示例。

# ip -o -f inet address show | awk '/scope global/ {print $2, $4}'
env2 10.51.0.66/24
env3 10.52.0.41/24
env4 10.111.1.28/24

网络适配器的设备名称显示在第一列。 第二列列出了活动IP地址和为网络掩码预留的位数——两者之间用斜线隔开。

如果 SAP 实例的虚拟IP地址不存在,请确保该地址没有错误地设置在另一个虚拟服务器实例上。

在 NODE1 上,运行以下命令。

ping -c 3 ${ASCS_VH}

样本输出:

# ping -c 2 cl-sap-scs
PING cl-sap-scs (10.111.1.248) 56(84) bytes of data.
From cl-sap-1.tst.ibm.com (10.111.1.28) icmp_seq=1 Destination Host Unreachable
From cl-sap-1.tst.ibm.com (10.111.1.28) icmp_seq=2 Destination Host Unreachable

--- cl-sap-ers ping statistics ---
2 packets transmitted, 0 received, +2 errors, 100% packet loss, time 2112ms
pipe 3

如果 ping 输出显示 Destination Host Unreachable,则IP地址可用,您可以将IP别名分配给虚拟服务器实例。 使用与IP地址子网匹配的网络适配器的正确设备名称 env

示例命令 NODE1:

ip addr add ${ASCS_IP} dev env4

示例命令 NODE2:

ip addr add ${ERS_IP} dev env4

根据您的具体网络配置,网络适配器的设备名称可能有所不同。

SAP 安装需要IP地址,且需要手动设置。 之后,虚拟IP地址由 Red Hat HA集群附加组件控制。

准备卷组、逻辑卷和共享文件系统

共享存储是集群中的一项重要资源 ENSA2 集群中 ASCS 和ERS 必须能够在两个节点上运行,它们的运行环境存储在共享存储卷中。 所有集群节点都需要访问共享存储卷,但只有一个节点拥有对卷的独占读写权限。

准备逻辑卷管理器的高可用性设置

编辑文件 /etc/lvm/lvm.conf,在卷组中添加系统 ID

在两个节点上,编辑 lvm.conf 文件。

vi /etc/lvm/lvm.conf

搜索 system_id_source 参数,并将其值更改为 uname

etc/lvm/lvm.confsystem_id_source 参数的样本设置。

system_id_source = "uname"

识别共享存储卷的全局名称

为属于共享卷组之一的每个存储卷确定一个全局名称(WWN)。

  1. 登录 IBM Cloud®,查看 Power Virtual Server 的 存储卷

  2. 选择工作区

  3. 存储卷列表中过滤卷前缀,并识别所有在 ASCSERS实例范围内的卷的全局名称全球名称是一个32位十六进制数字。

    确保这些卷的 “可共享” 属性为“开启”。

虚拟服务器实例视图中,进入集群的两个虚拟服务器实例。 确认所有属于 ASCSERS 范围内的卷都附加到两个虚拟服务器实例上。

当您将新的存储卷附加到虚拟服务器实例时,请确保重新扫描 SCSI 总线以检测新的卷。 之后,更新虚拟服务器实例 的多路径配置

在带有新存储卷附件的节点上,运行以下命令。

rescan-scsi-bus.sh && sleep 10 && multipathd reconfigure

登录两个集群节点,将WWN 添加到用户 root 的环境变量中。

使用 pvs --all 命令确定合适的WWN值

在 NODE1 上,导出 ASCS_PVID 环境变量。

export ASCS_PVID=3<WWN>  # WWN of shared storage volume for ASCS

在 NODE2 上,导出 ERS_PVID 环境变量。

export ERS_PVID=3<WWN>   # WWN of shared storage volume for ERS

请确保使用十六进制数字和小写字母设置环境变量。

创建物理体积

在 NODE1 上,运行以下命令。

pvcreate /dev/mapper/${ASCS_PVID}

样本输出:

# pvcreate /dev/mapper/${ASCS_PVID}
  Physical volume "/dev/mapper/360050768108103357000000000002ddc" successfully created.

在 NODE2 上,运行以下命令。

pvcreate /dev/mapper/${ERS_PVID}

样本输出:

# pvcreate /dev/mapper/${ERS_PVID}
  Physical volume "/dev/mapper/360050768108103357000000000002e31" successfully created.

创建音量组

为ASCS创建卷组。

在 NODE1 上,运行以下命令。

vgcreate ${ASCS_VG} /dev/mapper/${ASCS_PVID}

请确认系统ID 已设置。

vgs -o+systemid

样本输出:

# vgs -o+systemid
  VG          #PV #LV #SN Attr   VSize   VFree   System ID
  s01ascsvg     1   0   0 wz--n- <50.00g <50.00g cl-sap-1

为紧急救援系统创建音量组。

在 NODE2 上,运行以下命令。

vgcreate ${ERS_VG} /dev/mapper/${ERS_PVID}

请确认系统ID已设置。

样本输出:

# vgs -o+systemid
  VG          #PV #LV #SN Attr   VSize   VFree   System ID
  s01ersvg     1   0   0 wz--n- <50.00g <50.00g cl-sap-2

创建逻辑卷和文件系统

为ASCS 创建逻辑卷,并将其格式化为 XFS文件系统

在 NODE1 上,运行以下命令。

lvcreate -l 100%FREE -n ${ASCS_LV} ${ASCS_VG}
mkfs.xfs /dev/${ASCS_VG}/${ASCS_LV}

为ERS 创建逻辑卷,并将其格式化为 XFS文件系统

在 NODE2 上,运行以下命令。

lvcreate -l 100%FREE -n ${ERS_LV} ${ERS_VG}
mkfs.xfs /dev/${ERS_VG}/${ERS_LV}

确保在多个集群节点上不激活卷组

由集群管理的卷组在启动时不得自动激活。

对于 RHEL 8.5 及更高版本,在创建卷组时,通过在 vgcreate 命令中指定 --setautoactivation n 标志来禁用自动激活。

在两个节点上,编辑 /etc/lvm/lvm.conf 文件并修改 auto_activation_volume_list 条目,将自动激活限制为特定的卷组。

vi /etc/lvm/lvm.conf

找到 auto_activation_volume_list 参数,将所有卷组添加到该列表中,但为 NFS 群集定义的卷组除外。

请参阅如何在 /etc/lvm/lvm.conf 中设置 auto_activation_volume_list 的示例:

auto_activation_volume_list = [ "rhel_root" ]

重建 initramfs 启动映像以确保启动映像不会激活由集群控制的卷组。

在两个节点上运行以下命令。

dracut -H -f /boot/initramfs-$(uname -r).img $(uname -r)

重启两个节点。

安装 SAP 的安装文件系统

激活音量组并安装 SAP 实例文件系统。

在 NODE1 (ASCS) 上运行以下命令。

vgchange -a y ${ASCS_VG}
mkdir -p /usr/sap/${SID}/ASCS${ASCS_INSTNO}
mount /dev/${ASCS_VG}/${ASCS_LV} /usr/sap/${SID}/ASCS${ASCS_INSTNO}

在 NODE2 (ERS) 上,运行以下命令。

vgchange -a y ${ERS_VG}
mkdir -p /usr/sap/${SID}/ERS${ERS_INSTNO}
mount /dev/${ERS_VG}/${ERS_LV} /usr/sap/${SID}/ERS${ERS_INSTNO}

安装所需的 NFS 文件系统

在两个节点上,确保挂载了 NFS 文件系统 /sapmnt/usr/sap/trans

mount | grep nfs

在另一个节点上创建ASCS和ERS挂载点

为实例文件系统创建挂载点并调整其所有权。

在 NODE1 上,运行以下命令。

mkdir /usr/sap/${SID}/ERS${ERS_INSTNO}
chown ${sid}adm:sapsys /usr/sap/${SID}/ERS${ERS_INSTNO}

在 NODE2 上,运行以下命令。

mkdir /usr/sap/${SID}/ASCS${ASCS_INSTNO}
chown ${sid}adm:sapsys /usr/sap/${SID}/ASCS${ASCS_INSTNO}

安装ASCS和ERS实例

使用 SAP Software Provisioning Manager (SWPM)安装两个实例。

  • 在集群节点上安装 SAP 实例。

    • 使用与ASCS 虚拟IP地址关联的虚拟主机名 ${ASCS_VH} 在 NODE1 上安装 ASCS实例
    <swpm>/sapinst SAPINST_USE_HOSTNAME=${ASCS_VH}
    
    • 使用与ERS 虚拟IP地址关联的虚拟主机名 ${ERS_VH} 在 NODE2 上安装 ERS实例
    <swpm>/sapinst SAPINST_USE_HOSTNAME=${ERS_VH}
    
  • 将所有其他 SAP 应用程序实例安装在集群之外。

安装和设置 RHEL HA 附加群集

按照 实施 Red Hat Enterprise Linux 高可用性附加组件 集群安装并设置 RHEL HA 附加组件集群。

按照 创建围栏设备中的 描述配置并测试围栏。

为群集集成准备 ASCS 和 ERS 实例

使用以下步骤为群集集成准备 SAP 实例。

禁用自动启动 ASCS 和 ERS 的 SAP 实例代理

您必须在重启后禁用 ASCSERS 实例的自动启动 sapstartsrv 实例代理。

验证 SAP 实例代理集成类型

SAP 实例代理的最新版本 sapstartsrv 在 Linux 上提供本机 systemd 支持。 欲了解更多信息,请参阅 SAP Notes 列出的 SAP 注释。

在两个节点上,检查 /usr/sap/sapservices 文件的内容。

cat /usr/sap/sapservices

systemd 格式中,各行以 systemctl 条目开始。

示例:

systemctl --no-ask-password start SAPS01_01 # sapstartsrv pf=/usr/sap/S01/SYS/profile/S01_ASCS01_cl-sap-scs

如果 ASCS 和 ERS 的条目是 systemd 格式,请继续执行 禁用 ASCS 和 ERS SAP 实例的 systemd 服务 中的步骤。

classic 格式中,各行以 LD_LIBRARY_PATH 条目开始。

示例:

LD_LIBRARY_PATH=/usr/sap/S01/ASCS01/exe:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH;/usr/sap/S01/ASCS01/exe/sapstartsrv pf=/usr/sap/S01/SYS/profile/S01_ASCS01_cl-sap-scs -D -u s01adm

如果 ASCS 和 ERS 的条目采用 classic 格式,则应修改 /usr/sap/sapservices 文件,以防止 ASCSERS 实例在重启后自动启动 sapstartsrv 实例代理。

在两个节点上,删除或注释 SAP 服务文件中 ASCSERSsapstartsrv 条目。

sed -i -e 's/^LD_LIBRARY_PATH=/#LD_LIBRARY_PATH=/' /usr/sap/sapservices

示例:

#LD_LIBRARY_PATH=/usr/sap/S01/ASCS01/exe:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH;/usr/sap/S01/ASCS01/exe/sapstartsrv pf=/usr/sap/S01/SYS/profile/S01_ASCS01_cl-sap-scs -D -u s01adm

继续 安装永久 SAP 许可证密钥

禁用 ASCS 和 ERS 实例的 systemd 服务

在两个节点上,禁用 ASCS 的实例代理。

systemctl disable --now SAP${SID}_${ASCS_INSTNO}.service

在两个节点上,禁用 ERS 的实例代理。

systemctl disable --now SAP${SID}_${ERS_INSTNO}.service

禁用 systemd 重启崩溃的 ASCS 或 ERS 实例

Systemd 有自己的机制来重启崩溃的服务。 在高可用性设置中,只有 HA 集群负责管理 SAP ASCS 和 ERS 实例。 在两个群集节点上创建 systemd drop-in files,以防止 systemd 重新启动崩溃的 SAP 实例。

在两个节点上,创建投放文件的目录。

mkdir /etc/systemd/system/SAP${SID}_${ASCS_INSTNO}.service.d
mkdir /etc/systemd/system/SAP${SID}_${ERS_INSTNO}.service.d

在两个节点上为 ASCS 和 ERS 创建插入文件。

cat >> /etc/systemd/system/SAP${SID}_${ASCS_INSTNO}.service.d/HA.conf << EOT
[Service]
Restart=no
EOT
cat >> /etc/systemd/system/SAP${SID}_${ERS_INSTNO}.service.d/HA.conf << EOT
[Service]
Restart=no
EOT

Restart=no 必须位于 部分,且所有群集节点上都必须有投放文件。[Service]

在两个节点上重新加载 systemd 单元文件。

systemctl daemon-reload

安装永久 SAP 许可证密钥

当 SAP ASCS 实例安装在 Power Virtual Server 实例上时,SAP 许可证机制依赖于分区 UUID。 更多信息,请参阅 SAP note 2879336 - 基于唯一 ID 的硬件密钥

在两个节点上,以用户 <sid>adm 身份运行以下命令,以确定节点的 HARDWARE KEY

sudo -i -u ${sid}adm -- sh -c 'saplikey -get'

样本输出:

$ sudo -i -u ${sid}adm -- sh -c 'saplikey -get'

saplikey: HARDWARE KEY = H1428224519

注意每个节点的 HARDWARE KEY

您需要两个硬件密钥来申请两个不同的 SAP 许可证密钥。 有关申请 SAP 许可证密钥的更多信息,请查看以下 SAP 注释:

安装 SAP 资源代理

安装所需的软件包。 resource-agents-sap 包括 SAPInstance 集群资源代理,用于管理 SAP 实例。

除非为 SAP 实例配置了 sap_cluster_connector,否则 RHEL HA Add-On 群集会将实例的任何状态变化视为问题。 如果使用 sapcontrol 等其他 SAP 工具管理实例,则 sap_cluster_connector 会授予控制 SAP 实例的权限,这些实例在群集内运行。 如果 SAP 实例仅由群集工具管理,则需要执行 sap_cluster_connector 没有必要。

安装资源代理和 SAP Cluster Connector 库的软件包。 有关更多信息,请参阅 如何为 SAP ABAP 应用程序服务器实例启用 SAP HA 接口,该实例由 RHEL HA Add-On 管理。

在两个节点上运行以下命令。

如有需要,使用 subscription-manager 启用 SAP NetWeaver 资源库。 RHEL for SAP Subscriptions and Repositories 文档介绍了如何启用所需的软件源。

subscription-manager repos --enable="rhel-8-for-ppc64le-sap-netweaver-e4s-rpms"

安装必需的软件包。

dnf install -y resource-agents-sap  sap-cluster-connector

配置 SAP 群集连接器

将用户 ${sid}adm 添加到 haclient 组。

在两个节点上运行以下命令。

usermod -a -G haclient ${sid}adm

调整 SAP 实例配置文件

修改由群集外 SAP 工具管理的所有 SAP 实例的启动配置文件。 ASCSERS 实例都可由 RHEL HA 附加集群及其资源代理控制。 调整 SAP 实例配置文件,防止自动重启实例进程。

在 NODE1 上,导航到 SAP 配置文件目录。

cd /sapmnt/${SID}/profile

ASCSERS 的实例配置文件中,将 Restart_Program 改为 Start_Program

sed -i -e 's/Restart_Program_\([0-9][0-9]\)/Start_Program_\1/' ${SID}_ASCS${ASCS_INSTNO}_${ASCS_VH}
sed -i -e 's/Restart_Program_\([0-9][0-9]\)/Start_Program_\1/' ${SID}_ERS${ERS_INSTNO}_${ERS_VH}

在 SAP 实例配置文件末尾添加以下两行,为 ASCSERS 实例配置 sap_cluster_connector

service/halib = $(DIR_EXECUTABLE)/saphascriptco.so
service/halib_cluster_connector = /usr/bin/sap_cluster_connector

配置ASCS和ERS集群资源

到目前为止,我们假设:

  • RHEL HA附加集群在两个虚拟服务器实例上运行,并对节点的围栏进行了测试。
  • SAP 系统正在运行。
    • SAP ASCS 安装在集群的节点1上并处于活动状态。
    • SAP ERS 安装在集群的节点2上并处于活动状态。
  • 为集群集成准备ASCS和ERS实例 的所有步骤均已完成。

配置SAPMNT集群资源

创建一个克隆的文件系统集群资源,将外部 NFS 服务器上的SAPMNT共享挂载到所有集群节点。

确保环境变量 ${NFS_VH} 设置为 NFS 服务器的虚拟主机名,${NFS_OPTIONS} 设置为所需的挂载选项。

在 NODE1 上,运行以下命令。

pcs resource create fs_sapmnt Filesystem \
    device="${NFS_VH}:/${SID}/sapmnt" \
    directory="/sapmnt/${SID}" \
    fstype='nfs' \
    options="${NFS_OPTIONS}" \
    clone interleave=true

配置ASCS资源组

创建一个ASCS虚拟IP地址的资源。

在 NODE1 上,运行以下命令。

pcs resource create ${sid}_vip_ascs${ASCS_INSTNO} IPaddr2 \
    ip=${ASCS_IP} \
    --group ${sid}_ascs${ASCS_INSTNO}_group

在这个为共享存储卷上的HA-LVM文件系统创建资源的示例中,您为LVM-activate和ASCS的实例文件系统创建资源。

pcs resource create ${sid}_fs_ascs${ASCS_INSTNO}_lvm LVM-activate \
    vgname="${ASCS_VG}" \
    vg_access_mode=system_id \
    --group ${sid}_ascs${ASCS_INSTNO}_group
pcs resource create ${sid}_fs_ascs${ASCS_INSTNO} Filesystem \
    device="/dev/mapper/${ASCS_VG}-${ASCS_LV}" \
    directory=/usr/sap/${SID}/ASCS${ASCS_INSTNO} \
    fstype=xfs \
    --group ${sid}_ascs${ASCS_INSTNO}_group

在另一个示例中,ASCS的实例文件系统由HA NFS 服务器提供,因此只需要文件系统资源。 请确保您已根据 您的 NFS 服务器定义了环境变量 ${NFS_VH}并在ASCS实例的 SAP 安装过程中在 NFS 根目录下创建了一个目录 ${SID}/ASCS

pcs resource create ${sid}_fs_ascs${ASCS_INSTNO} Filesystem \
    device="${NFS_VH}:${SID}/ASCS" \
    directory=/usr/sap/${SID}/ASCS${ASCS_INSTNO} \
    fstype=nfs \
    options="${NFS_OPTIONS}" \
    force_unmount=safe \
    op start interval=0 timeout=60 \
    op stop interval=0 timeout=120 \
    --group ${sid}_ascs${ASCS_INSTNO}_group

创建一个用于管理 ASCS实例的资源。

pcs resource create ${sid}_ascs${ASCS_INSTNO} SAPInstance \
    InstanceName="${SID}_ASCS${ASCS_INSTNO}_${ASCS_VH}" \
    START_PROFILE=/sapmnt/${SID}/profile/${SID}_ASCS${ASCS_INSTNO}_${ASCS_VH} \
    AUTOMATIC_RECOVER=false \
    meta resource-stickiness=5000 \
    migration-threshold=1 failure-timeout=60 \
    op monitor interval=20 on-fail=restart timeout=60 \
    op start interval=0 timeout=600 \
    op stop interval=0 timeout=600 \
    --group ${sid}_ascs${ASCS_INSTNO}_group

meta resource-stickiness=5000 选项用于平衡故障转移约束与ERS,使资源保持在启动节点上,不会在集群中不受控制地迁移。

为组添加资源粘性,以确保 ASCS 保留在节点上。

pcs resource meta ${sid}_ascs${ASCS_INSTNO}_group \
    resource-stickiness=3000

配置ERS资源组

创建 ERS 虚拟IP地址的资源。

在 NODE1 上,运行以下命令。

pcs resource create ${sid}_vip_ers${ERS_INSTNO} IPaddr2 \
    ip=${ERS_IP} \
    --group ${sid}_ers${ERS_INSTNO}_group

在共享存储卷上为HA-LVM文件系统创建资源的示例中,您为LVM-activate和 ERS的实例文件系统创建资源。

pcs resource create ${sid}_fs_ers${ERS_INSTNO}_lvm LVM-activate \
    vgname="${ERS_VG}" \
    vg_access_mode=system_id \
    --group ${sid}_ers${ERS_INSTNO}_group
pcs resource create ${sid}_fs_ers${ERS_INSTNO} Filesystem \
    device="/dev/mapper/${ERS_VG}-${ERS_LV}" \
    directory=/usr/sap/${SID}/ERS${ERS_INSTNO} \
    fstype=xfs \
    --group ${sid}_ers${ERS_INSTNO}_group

在另一个示例中 ,ERS的实例文件系统由HA NFS 服务器提供,因此只需要文件系统资源。 请确保您已根据 您的 NFS 服务器定义了环境变量 ${NFS_VH},并在 SAP 安装ERS实例时在 NFS 根目录下创建了 ${SID}/ERS 目录。

pcs resource create ${sid}_fs_ers${ERS_INSTNO} Filesystem \
    device="${NFS_VH}:${SID}/ERS" \
    directory=/usr/sap/${SID}/ERS${ERS_INSTNO} \
    fstype=nfs \
    options="${NFS_OPTIONS}" \
    force_unmount=safe \
    op start interval=0 timeout=60 \
    op stop interval=0 timeout=120 \
    --group ${sid}_ers${ERS_INSTNO}_group

创建一个资源来管理 ERS实例

pcs resource create ${sid}_ers${ERS_INSTNO} SAPInstance \
    InstanceName="${SID}_ERS${ERS_INSTNO}_${ERS_VH}" \
    START_PROFILE=/sapmnt/${SID}/profile/${SID}_ERS${ERS_INSTNO}_${ERS_VH} \
    AUTOMATIC_RECOVER=false \
    IS_ERS=true \
    op monitor interval=20 on-fail=restart timeout=60 \
    op start interval=0 timeout=600 \
    op stop interval=0 timeout=600 \
    --group ${sid}_ers${ERS_INSTNO}_group

配置集群资源限制

出于对资源组 ${sid}_ascs${ASCS_INSTNO}_group${sid}_ers${ERS_INSTNO}_group 的限制,它们不能在同一节点上同时运行。 -5000 的粘性得分可确保在只有一个可用节点时,它们运行在同一节点上。

pcs constraint colocation add \
    ${sid}_ers${ERS_INSTNO}_group with ${sid}_ascs${ASCS_INSTNO}_group -- -5000

一个订单约束条件控制资源组 ${sid}_ascs${ASCS_INSTNO}_group${sid}_ers${ERS_INSTNO}_group 之前开始。

pcs constraint order start \
    ${sid}_ascs${ASCS_INSTNO}_group then stop ${sid}_ers${ERS_INSTNO}_group \
    symmetrical=false \
    kind=Optional

以下两个顺序约束确保文件系统 SAPMNT 在资源组 ${sid}_ascs${ASCS_INSTNO}_group${sid}_ers${ERS_INSTNO}_group 启动之前挂载。

pcs constraint order fs_sapmnt-clone then ${sid}_ascs${ASCS_INSTNO}_group
pcs constraint order fs_sapmnt-clone then ${sid}_ers${ERS_INSTNO}_group

仪表盘设置完成。

测试一个 SAP ENSA2 集群

彻底测试仪表盘配置以确保其正常工作至关重要。 以下信息提供了几个故障切换测试场景的示例,但并非测试场景的完整列表。

例如,每个测试用例的描述都包含以下信息。

  • 测试组件
  • 测试描述
  • 故障转移测试的前提条件和初始状态
  • 测试程序
  • 预期行为和结果
  • 恢复过程

测试1——测试ASCS实例的故障

测试1 - 描述

模拟 NODE1 上运行的 SAP ASCS实例崩溃。

测试1 - 前提条件

  • 适用于 SAP ENSA2 的功能型双节点 RHEL HA 附加集群。
  • 两个集群节点都处于活动状态。
  • 群组已启动,请访问 NODE1 和 NODE2。
    • 资源组 ${sid}_ascs${ASCS_INSTNO}_group 正在 NODE1 上活动。
    • 资源 ${sid}_vip_ascs$ {ASCS_INSTNO}, ${sid}_fs_ascs${ASCS_INSTNO}_lvm, ${sid}_fs_ascs$ {ASCS_INSTNO} 和 ${sid}_ascs$ {ASCS_INSTNO} 是 Started 在 NODE1。
    • 资源组 ${sid}_ers${ERS_INSTNO}_group 正在 NODE2 上活动。
    • 资源 ${sid}_vip_ers$ {ERS_INSTNO}, ${sid}_fs_ers${ERS_INSTNO}_lvm, ${sid}_fs_ers$ {ERS_INSTNO} 和 ${sid}_ers$ {ERS_INSTNO} 是 Started 在 NODE2。
  • 检查 SAP 实例进程:
    • ASCS实例正在 NODE1 上运行。
    • ERS实例正在 NODE2 上运行。
pcs status

样本输出:

# pcs status
Cluster name: SAP_ASCS
Cluster Summary:
  * Stack: corosync
  * Current DC: cl-sap-1 (version 2.0.5-9.el8_4.5-ba59be7122) - partition with quorum
  * Last updated: Tue Feb 14 07:59:16 2023
  * Last change:  Tue Feb 14 05:02:22 2023 by hacluster via crmd on cl-sap-1
  * 2 nodes configured
  * 11 resource instances configured

Node List:
  * Online: [ cl-sap-1 cl-sap-2 ]

Full List of Resources:
  * res_fence_ibm_powervs	(stonith:fence_ibm_powervs):	 Started cl-sap-2
  * Resource Group: s01_ascs01_group:
    * s01_vip_ascs01	(ocf::heartbeat:IPaddr2):	 Started cl-sap-1
    * s01_fs_ascs01_lvm	(ocf::heartbeat:LVM-activate):	 Started cl-sap-1
    * s01_fs_ascs01	(ocf::heartbeat:Filesystem):	 Started cl-sap-1
    * s01_ascs01	(ocf::heartbeat:SAPInstance):	 Started cl-sap-1
  * Resource Group: s01_ers02_group:
    * s01_vip_ers02	(ocf::heartbeat:IPaddr2):	 Started cl-sap-2
    * s01_fs_ers02_lvm	(ocf::heartbeat:LVM-activate):	 Started cl-sap-2
    * s01_fs_ers02	(ocf::heartbeat:Filesystem):	 Started cl-sap-2
    * s01_ers02	(ocf::heartbeat:SAPInstance):	 Started cl-sap-2
  * Clone Set: fs_sapmnt-clone [fs_sapmnt]:
    * Started: [ cl-sap-1 cl-sap-2 ]

Daemon Status:
  corosync: active/disabled
  pacemaker: active/disabled
  pcsd: active/enabled

测试1——测试程序

要关闭 SAP ASCS实例,请以用户 ${sid}adm 的身份向排队服务器发送SIGKILL信号。

在 NODE1 上,确定enque服务器的PID。

pgrep -af "(en|enq).sap"

向已识别的进程发送SIGKILL信号。

样本输出:

# pgrep -af "(en|enq).sap"
30186 en.sapS01_ASCS01 pf=/usr/sap/S01/SYS/profile/S01_ASCS01_cl-sap-scs
# kill -9 30186

测试1——预期行为

  • SAP NODE1 上的ASCS 实例崩溃。
  • 集群检测到崩溃的ASCS 实例。
  • 集群停止 NODE1 (虚拟IP地址、文件系统 /usr/sap/${SID}/ASCS${ASCS_INSTNO} 和LVM资源)上的相关资源,并在 NODE2 上获取这些资源。
  • 集群在 NODE2 上启动 ASCS
  • 集群在 NODE2 上停止了ERS实例
  • 集群停止 NODE1 (虚拟IP地址、文件系统 /usr/sap/${SID}/ERS${ERS_INSTNO} 和LVM资源)上的相关资源,并在 NODE1 上获取这些资源。
  • 仪表盘启动紧急制动系统,NODE1。

几秒钟后,使用以下命令检查状态。

pcs status

样本输出:

# pcs status
Cluster name: SAP_ASCS
Cluster Summary:
  * Stack: corosync
  * Current DC: cl-sap-1 (version 2.0.5-9.el8_4.5-ba59be7122) - partition with quorum
  * Last updated: Tue Feb 14 08:10:18 2023
  * Last change:  Tue Feb 14 05:02:22 2023 by hacluster via crmd on cl-sap-1
  * 2 nodes configured
  * 11 resource instances configured

Node List:
  * Online: [ cl-sap-1 cl-sap-2 ]

Full List of Resources:
  * res_fence_ibm_powervs	(stonith:fence_ibm_powervs):	 Started cl-sap-2
  * Resource Group: s01_ascs01_group:
    * s01_vip_ascs01	(ocf::heartbeat:IPaddr2):	 Started cl-sap-2
    * s01_fs_ascs01_lvm	(ocf::heartbeat:LVM-activate):	 Started cl-sap-2
    * s01_fs_ascs01	(ocf::heartbeat:Filesystem):	 Started cl-sap-2
    * s01_ascs01	(ocf::heartbeat:SAPInstance):	 Started cl-sap-2
  * Resource Group: s01_ers02_group:
    * s01_vip_ers02	(ocf::heartbeat:IPaddr2):	 Started cl-sap-1
    * s01_fs_ers02_lvm	(ocf::heartbeat:LVM-activate):	 Started cl-sap-1
    * s01_fs_ers02	(ocf::heartbeat:Filesystem):	 Started cl-sap-1
    * s01_ers02	(ocf::heartbeat:SAPInstance):	 Started cl-sap-1
  * Clone Set: fs_sapmnt-clone [fs_sapmnt]:
    * Started: [ cl-sap-1 cl-sap-2 ]

Daemon Status:
  corosync: active/disabled
  pacemaker: active/disabled
  pcsd: active/enabled

测试2——测试运行ASCS实例的节点故障

使用以下信息来测试运行ASCS实例的节点是否出现故障。

测试2——描述

模拟 ASCS实例运行所在节点的崩溃。

测试2 - 前提条件

  • 适用于 SAP ENSA2 的功能型双节点 RHEL HA 附加集群。
  • 两个集群节点都处于活动状态。
  • 群组已启动,请访问 NODE1 和 NODE2。
    • 资源组 ${sid}_ascs${ASCS_INSTNO}_group 正在 NODE2 上活动。
    • 资源 ${sid}_vip_ascs$ {ASCS_INSTNO}, ${sid}_fs_ascs${ASCS_INSTNO}_lvm, ${sid}_fs_ascs$ {ASCS_INSTNO} 和 ${sid}_ascs$ {ASCS_INSTNO} 是 Started 在 NODE2。
    • 资源组 ${sid}_ers${ERS_INSTNO}_group 正在 NODE1 上活动。
    • 资源 ${sid}_vip_ers$ {ERS_INSTNO}, ${sid}_fs_ers${ERS_INSTNO}_lvm, ${sid}_fs_ers$ {ERS_INSTNO} 和 ${sid}_ers$ {ERS_INSTNO} 是 Started 在 NODE1。
  • 检查 SAP 实例进程:
    • ASCS实例正在 NODE2 上运行。
    • ERS实例正在 NODE1 上运行。

测试2——测试程序

发送碰撞系统请求,即可激活碰撞 NODE2。

在 NODE2 上,运行以下命令。

sync; echo c > /proc/sysrq-trigger

测试2——预期行为

  • NODE2 重启。
  • 集群检测到故障节点并将其状态设置为离线(UNCLEAN)。
  • 该集群获取 ASCS资源 (虚拟IP地址、文件系统 /usr/sap/${SID}/ASCS${ASCS_INSTNO} 和LVM项目)的地址为 NODE1。
  • 集群在 NODE1 上启动 ASCS
  • 集群在 NODE1 上停止了ERS实例
  • 集群停止 NODE1 (虚拟IP地址、文件系统 /usr/sap/${SID}/ERS${ERS_INSTNO} 和LVM资源)上的相关资源,并释放这些资源。

过一会儿,用以下命令检查状态。

第二个节点处于离线状态,两个资源组都在第一个节点上运行。

pcs status

样本输出:

# pcs status
Cluster name: SAP_ASCS
Cluster Summary:
  * Stack: corosync
  * Current DC: cl-sap-1 (version 2.0.5-9.el8_4.5-ba59be7122) - partition with quorum
  * Last updated: Tue Feb 14 08:34:16 2023
  * Last change:  Tue Feb 14 08:34:04 2023 by hacluster via crmd on cl-sap-1
  * 2 nodes configured
  * 11 resource instances configured

Node List:
  * Online: [ cl-sap-1 ]
  * OFFLINE: [ cl-sap-2 ]

Full List of Resources:
  * res_fence_ibm_powervs	(stonith:fence_ibm_powervs):	 Started cl-sap-1
  * Resource Group: s01_ascs01_group:
    * s01_vip_ascs01	(ocf::heartbeat:IPaddr2):	 Started cl-sap-1
    * s01_fs_ascs01_lvm	(ocf::heartbeat:LVM-activate):	 Started cl-sap-1
    * s01_fs_ascs01	(ocf::heartbeat:Filesystem):	 Started cl-sap-1
    * s01_ascs01	(ocf::heartbeat:SAPInstance):	 Started cl-sap-1
  * Resource Group: s01_ers02_group:
    * s01_vip_ers02	(ocf::heartbeat:IPaddr2):	 Started cl-sap-1
    * s01_fs_ers02_lvm	(ocf::heartbeat:LVM-activate):	 Started cl-sap-1
    * s01_fs_ers02	(ocf::heartbeat:Filesystem):	 Started cl-sap-1
    * s01_ers02	(ocf::heartbeat:SAPInstance):	 Started cl-sap-1
  * Clone Set: fs_sapmnt-clone [fs_sapmnt]:
    * Started: [ cl-sap-1 ]
    * Stopped: [ cl-sap-2 ]

Daemon Status:
  corosync: active/disabled
  pacemaker: active/disabled
  pcsd: active/enabled

测试2——恢复程序

等待 NODE2 重启,然后重启集群框架。

在 NODE1 上,运行以下命令。

pcs cluster start
  • 集群从 NODE2 开始,获取 NODE2 上的 ERS资源 (虚拟IP地址、文件系统 /usr/sap/${SID}/ERS${ERS_INSTNO} 和LVM资源)。
  • 集群在 NODE2 上启动 ERS实例

请稍等,使用以下命令检查状态。 ERS资源组已转移至第二个节点。

pcs status

样本输出:

# pcs status
Cluster name: SAP_ASCS
Cluster Summary:
  * Stack: corosync
  * Current DC: cl-sap-1 (version 2.0.5-9.el8_4.5-ba59be7122) - partition with quorum
  * Last updated: Tue Feb 14 08:41:23 2023
  * Last change:  Tue Feb 14 08:34:04 2023 by hacluster via crmd on cl-sap-1
  * 2 nodes configured
  * 11 resource instances configured

Node List:
  * Online: [ cl-sap-1 cl-sap-2 ]

Full List of Resources:
  * res_fence_ibm_powervs	(stonith:fence_ibm_powervs):	 Started cl-sap-1
  * Resource Group: s01_ascs01_group:
    * s01_vip_ascs01	(ocf::heartbeat:IPaddr2):	 Started cl-sap-1
    * s01_fs_ascs01_lvm	(ocf::heartbeat:LVM-activate):	 Started cl-sap-1
    * s01_fs_ascs01	(ocf::heartbeat:Filesystem):	 Started cl-sap-1
    * s01_ascs01	(ocf::heartbeat:SAPInstance):	 Started cl-sap-1
  * Resource Group: s01_ers02_group:
    * s01_vip_ers02	(ocf::heartbeat:IPaddr2):	 Started cl-sap-2
    * s01_fs_ers02_lvm	(ocf::heartbeat:LVM-activate):	 Started cl-sap-2
    * s01_fs_ers02	(ocf::heartbeat:Filesystem):	 Started cl-sap-2
    * s01_ers02	(ocf::heartbeat:SAPInstance):	 Started cl-sap-2
  * Clone Set: fs_sapmnt-clone [fs_sapmnt]:
    * Started: [ cl-sap-1 cl-sap-2 ]

Daemon Status:
  corosync: active/disabled
  pacemaker: active/disabled
  pcsd: active/enabled

测试3——测试 ERS实例的故障

请使用以下信息来测试ERS实例的故障。

测试3——描述

模拟紧急响应系统实例的崩溃。

测试3 - 先决条件

  • 适用于 SAP ENSA2 的功能型双节点 RHEL HA 附加集群。
  • 两个集群节点都处于活动状态。
  • 群组始于 NODE1 和 NODE2。
    • 资源组 ${sid}_ascs${ASCS_INSTNO}_group 正在 NODE1 上活动。
    • 资源 ${sid}_vip_ascs$ {ASCS_INSTNO}, ${sid}_fs_ascs${ASCS_INSTNO}_lvm, ${sid}_fs_ascs$ {ASCS_INSTNO} 和 ${sid}_ascs$ {ASCS_INSTNO} 是 Started 在 NODE1。
    • 资源组 ${sid}_ers${ERS_INSTNO}_group 正在 NODE2 上活动。
    • 资源 ${sid}_vip_ers$ {ERS_INSTNO}, ${sid}_fs_ers${ERS_INSTNO}_lvm, ${sid}_fs_ers$ {ERS_INSTNO} 和 ${sid}_ers$ {ERS_INSTNO} 是 Started 在 NODE2。
  • 检查 SAP 实例进程:
    • ASCS实例正在 NODE1 上运行。
    • ERS实例正在 NODE2 上运行。

测试3——测试程序

通过发送SIGKILL信号来终止 SAP ERS实例

在 NODE2 上,确定enque复制服务器的PID。

pgrep -af "(er|enqr).sap"

向已识别的进程发送SIGKILL信号。

样本输出:

# pgrep -af "(er|enqr).sap"
2527198 er.sapS01_ERS02 pf=/usr/sap/S01/ERS02/profile/S01_ERS02_cl-sap-ers NR=01
# kill -9 2527198

测试3——预期行为

  • SAP 在 上排队复制服务器立即崩溃。NODE2
  • 集群检测到已停止的 ERS 并将资源标记为失败。
  • 集群在 NODE2 上重新启动 ERS

使用以下命令检查状态。

pcs status

${sid}_ers${ERS_INSTNO} ERS资源在第二个节点上重新启动。 如果过早运行 pcs status 命令,可能会看到 ERS资源状态短暂显示为 FAILED

样本输出:

# pcs status
Cluster name: SAP_ASCS
Cluster Summary:
  * Stack: corosync
  * Current DC: cl-sap-1 (version 2.0.5-9.el8_4.5-ba59be7122) - partition with quorum
  * Last updated: Tue Feb 14 08:50:53 2023
  * Last change:  Tue Feb 14 08:50:50 2023 by hacluster via crmd on cl-sap-2
  * 2 nodes configured
  * 11 resource instances configured

Node List:
  * Online: [ cl-sap-1 cl-sap-2 ]

Full List of Resources:
  * res_fence_ibm_powervs	(stonith:fence_ibm_powervs):	 Started cl-sap-1
  * Resource Group: s01_ascs01_group:
    * s01_vip_ascs01	(ocf::heartbeat:IPaddr2):	 Started cl-sap-1
    * s01_fs_ascs01_lvm	(ocf::heartbeat:LVM-activate):	 Started cl-sap-1
    * s01_fs_ascs01	(ocf::heartbeat:Filesystem):	 Started cl-sap-1
    * s01_ascs01	(ocf::heartbeat:SAPInstance):	 Started cl-sap-1
  * Resource Group: s01_ers02_group:
    * s01_vip_ers02	(ocf::heartbeat:IPaddr2):	 Started cl-sap-2
    * s01_fs_ers02_lvm	(ocf::heartbeat:LVM-activate):	 Started cl-sap-2
    * s01_fs_ers02	(ocf::heartbeat:Filesystem):	 Started cl-sap-2
    * s01_ers02	(ocf::heartbeat:SAPInstance):	 Started cl-sap-2
  * Clone Set: fs_sapmnt-clone [fs_sapmnt]:
    * Started: [ cl-sap-1 cl-sap-2 ]

Daemon Status:
  corosync: active/disabled
  pacemaker: active/disabled
  pcsd: active/enabled

测试3——恢复程序

在 NODE2 上,运行以下命令。

pcs resource refresh
pcs status --full

测试4——手动移动ASCS实例

使用以下信息手动移动ASCS实例。

测试4——描述

出于维护目的,使用 SAP 控制命令将 ASCS 实例移动到另一个节点。

测试4 - 前提条件

  • 适用于 SAP ENSA2 的功能型双节点 RHEL HA 附加集群。
  • sap_cluster_connector 已安装并配置完毕。
  • 两个集群节点都处于活动状态。
  • 群组已启动,请访问 NODE1 和 NODE2。
    • 资源组 ${sid}_ascs${ASCS_INSTNO}_group 正在 NODE1 上活动。
    • 资源 ${sid}_vip_ascs$ {ASCS_INSTNO}, ${sid}_fs_ascs${ASCS_INSTNO}_lvm, ${sid}_fs_ascs$ {ASCS_INSTNO} 和 ${sid}_ascs$ {ASCS_INSTNO} 是 Started 在 NODE1。
    • 资源组 ${sid}_ers${ERS_INSTNO}_group 正在 NODE2 上活动。
    • 资源 ${sid}_vip_ers$ {ERS_INSTNO}, ${sid}_fs_ers${ERS_INSTNO}_lvm, ${sid}_fs_ers$ {ERS_INSTNO} 和 ${sid}_ers$ {ERS_INSTNO} 是 Started 在 NODE2。
  • 检查 SAP 实例进程:
    • ASCS实例正在 NODE1 上运行。
    • ERS实例正在 NODE2 上运行。

测试4——测试程序

登录 NODE1,运行 sapcontrol,将 ASCS 实例移动到另一个节点。

sudo -i -u ${sid}adm -- sh -c "sapcontrol -nr ${ASCS_INSTNO} -function HAFailoverToNode"

测试4——预期行为

  • sapcontrol 通过 与集群交互。sap-cluster-connector
  • 集群为资源的移动设置了位置限制。

使用以下命令检查状态。 请注意 ,ASCS资源组已移至第二个节点。 如果过早运行 pcs status 命令,可能会看到一些资源 stoppingstarting

pcs status

样本输出:

# pcs status
Cluster name: SAP_ASCS
Cluster Summary:
  * Stack: corosync
  * Current DC: cl-sap-1 (version 2.0.5-9.el8_4.5-ba59be7122) - partition with quorum
  * Last updated: Tue Feb 14 09:03:19 2023
  * Last change:  Tue Feb 14 09:01:40 2023 by s01adm via crm_resource on cl-sap-1
  * 2 nodes configured
  * 11 resource instances configured

Node List:
  * Online: [ cl-sap-1 cl-sap-2 ]

Full List of Resources:
  * res_fence_ibm_powervs	(stonith:fence_ibm_powervs):	 Started cl-sap-1
  * Resource Group: s01_ascs01_group:
    * s01_vip_ascs01	(ocf::heartbeat:IPaddr2):	 Started cl-sap-2
    * s01_fs_ascs01_lvm	(ocf::heartbeat:LVM-activate):	 Started cl-sap-2
    * s01_fs_ascs01	(ocf::heartbeat:Filesystem):	 Started cl-sap-2
    * s01_ascs01	(ocf::heartbeat:SAPInstance):	 Started cl-sap-2
  * Resource Group: s01_ers02_group:
    * s01_vip_ers02	(ocf::heartbeat:IPaddr2):	 Started cl-sap-1
    * s01_fs_ers02_lvm	(ocf::heartbeat:LVM-activate):	 Started cl-sap-1
    * s01_fs_ers02	(ocf::heartbeat:Filesystem):	 Started cl-sap-1
    * s01_ers02	(ocf::heartbeat:SAPInstance):	 Started cl-sap-1
  * Clone Set: fs_sapmnt-clone [fs_sapmnt]:
    * Started: [ cl-sap-1 cl-sap-2 ]

Daemon Status:
  corosync: active/disabled
  pacemaker: active/disabled
  pcsd: active/enabled

测试4——恢复程序

请等待,直到 ASCS实例在 NODE2 上激活。 五分钟后,集群会自动删除创建的位置限制。

以下说明展示了如何手动移除限制。

在 NODE2 上,运行以下命令。

pcs constraint

样本输出:

# pcs constraint
Location Constraints:
  Resource: s01_ascs01_group
    Constraint: cli-ban-s01_ascs01_group-on-cl-sap-1
      Rule: boolean-op=and score=-INFINITY
        Expression: #uname eq string cl-sap-1
        Expression: date lt 2023-02-08 09:33:50 -05:00
Ordering Constraints:
  start s01_ascs01_group then stop s01_ers02_group (kind:Optional) (non-symmetrical)
  start fs_sapmnt-clone then start s01_ascs01_group (kind:Mandatory)
  start fs_sapmnt-clone then start s01_ers02_group (kind:Mandatory)
Colocation Constraints:
  s01_ers02_group with s01_ascs01_group (score:-5000)
Ticket Constraints:
pcs resource clear ${sid}_ascs${ASCS_INSTNO}_group

位置限制被取消:

pcs constraint

样本输出:

# pcs constraint
Location Constraints:
Ordering Constraints:
  start s01_ascs01_group then stop s01_ers02_group (kind:Optional) (non-symmetrical)
  start fs_sapmnt-clone then start s01_ascs01_group (kind:Mandatory)
  start fs_sapmnt-clone then start s01_ers02_group (kind:Mandatory)
Colocation Constraints:
  s01_ers02_group with s01_ascs01_group (score:-5000)
Ticket Constraints: