使用 RHEL HA 附加组件配置成本优化 SAP S/4HANA HA 集群(HANA System Replication + ENSA2)


Red Hat Enterprise Linux for SAP Solutions 8

Red Hat Customer Content Services

摘要

描述用于管理 SAP S/4HANA 1809 及更新版本的 HANA 系统复制和独立 Enqueue Server 2 (ENSA2)的双节点 HA 集群的设置。

使开源包含更多

红帽承诺替换我们的代码和文档中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于这一努力的精力,这些更改将在即将发布的版本中逐渐实施。有关让我们的语言更加包含的更多详情,请参阅我们的CTO Chris Wright 信息

对红帽文档提供反馈

我们感谢您对我们文档的反馈。让我们了解如何改进它。

通过 Jira 提交反馈(需要帐户)

  1. 确保您已登录到 JIRA 网站。
  2. 通过单击此链接 来提供反馈。https://issues.redhat.com/secure/CreateIssueDetails!init.jspa?pid=12330720&issuetype=3&components=12387093&priority=10200&summary=Doc&description=Please+include+the+Document+URL,+the+section+number+and%20+describe+the+issue&labels=SAP_DOCS&customfield_12311140=SAPOCP-775&assignee=rh-ee-pmohta
  3. Summary 字段中输入描述性标题。
  4. Description 字段中输入您对改进的建议。包括到文档相关部分的链接。
  5. 如果要通知将来的更新,请确保已分配为 Reporter
  6. 点对话框底部的 Create

第 1 章 概述

1.1. 简介

SAP S/4HANA 系统的成本优化部署在 S/4HANA 迁移场景中扮演重要角色,特别是在节省与额外节点相关的成本时。如果此类系统高度可用,则也至关重要,在这种情况下,需要正确配置约束。

SAP S/4HANA 高可用性的典型成本优化设置由 2 个不同的组件组成:

本文重点介绍 SAP S/4HANA HA 环境的设置,其中 SAP HANA System Replication 和 ASCS 和 ERS 实例都由单个集群管理。这使用 RHEL HA 附加组件和 SAP 的对应 HA 解决方案来完成,作为 RHEL for SAP Solutions 的一部分。

:以下是 2 个节点集群设置的示例安装图,它着重关注,使用 System Replication 对其他 SAP HANA 实例的设计和配置进行单独部分。请注意,ASCS 或 SAP HANA 主实例可以相互独立切换到其他节点。

text

1.2. 受众

本文档适用于 SAP 和红帽认证的管理员,以及已使用 Red Hat Enterprise Linux (RHEL) HA 附加组件或其他集群解决方案设置高度可用的解决方案的人员。需要访问 SAP Service Marketplace 和红帽客户门户网站,才能下载软件和其他文档。

红帽专业服务建议设置集群并自定义解决方案以满足客户的数据中心要求,这可能与本文档中的解决方案不同。

1.3. 概念

本文档论述了如何设置成本优化的双节点集群解决方案,符合 SAP 和红帽建立的高可用性指南。它基于独立 Enqueue Server 2 (ENSA2),现在 SAP S/4HANA 1809 或更新版本的默认安装,用于 SAP Solutions 或更高版本,并突出显示一个扩展 SAP HANA 实例,它支持使用 SAP HANA System Replication 完全自动化故障转移。根据 SAP,ENSA2 是 Standalone Enqueue Server 1 (ENSA1)的后续者。它是 SAP 锁定概念的一个组件,并管理锁定表。这个原则可确保 ABAP 系统中数据的一致性。在使用 ENSA1 的故障切换过程中,需要 ASCS 实例来"附加"Enqueue Replication Server (ERS)。也就是说,HA 软件必须在当前运行 ERS 实例的主机上启动 ASCS 实例。与 ENSA1 不同,较新的 ENSA2 模型和 Enqueue Replicator 2 不再具有这些限制。有关 ENSA2 的更多信息,请参阅 SAP OSS 注意 2630416 - 对独立 Enqueue Server 2 的支持

此外,文档还会突出显示 SAP HANA Scale-Up 实例,使用 SAP HANA System Replication 完全自动化故障转移,其中 SAP HANA 可升级克隆资源将根据集合限制在每个节点上运行。本文 不包括 为 SAP HANA 安装或 SAP HANA 安装过程准备 RHEL 系统。为了快速、无误地为 SAP S/4HANA 和 SAP HANA 准备系统,我们推荐对 SAP 使用 RHEL 系统角色

这两者的配置被视为具有自动化 SAP HANA Scale-Up System Replication 环境的成本优化 SAP S/4HANA。

1.4. 支持政策

请参阅 RHEL 高可用性集群的支持政策 - SAP S/4HANA 管理 以及 RHEL 高可用性集群的支持政策 - 在集群中管理 SAP HANA

这个解决方案受到支持遵循上述策略。

第 2 章 要求

2.1. 订阅和软件仓库

在所有集群节点上,务必要保持订阅、内核和补丁级别相同。

为了可以使用此 HA 解决方案,所有集群节点都需要 RHEL for SAP Solutions (用于内部或 BYOS 设置) 或带有高可用性和 Update Services 的 SAP 的 RHEL (在公共云环境中使用 PAYG 时)订阅。此外,每个集群节点上都必须启用 SAP NetWeaver、SAP Solutions 和 High Availability repos。

按照这个 kbase 文章,在这个环境所需的两个节点上启用存储库。

2.2. Pacemaker 资源代理

对于基于 pacemaker 的 HA 集群,用于管理 SAP HANA 系统复制,以及 ENSA2,需要以下资源代理:

2.2.1. SAPInstance

本例中,SAPInstance 资源代理将用于管理 ASCS 和 ERS 资源。SAPInstance 资源代理的所有操作都使用 SAP 启动服务框架 sapstartsrv 来完成。

2.2.2. SAPHanaTopology (Cloned Resource)

此资源代理是收集每个集群节点上 SAP HANA 系统复制的状态和配置。务必要将这个代理中的数据存在于集群节点属性中,以便 SAPHana 资源代理正常工作。

2.2.3. SAPHana (Promotable Cloned resource)

此资源负责 SAP HANA 数据库的启动、停止和重新定位(故障切换)。此资源代理获取 SAPHanaTopology 收集的信息,并基于它与 SAP HANA 数据库交互以执行此操作。它还为集群节点上有关 SAP HANA 状态的集群节点属性添加额外的信息。

2.2.4. filesystem

Filesystem 的 Pacemaker 集群 resource-agent。它管理 NFS 或 iSCSI 导出的共享存储介质上的文件系统。

管理虚拟 IPv4 和 IPv6 地址和别名。

2.3. 两个节点集群环境

由于这是一个成本优化的场景,因此我们将只专注于双节点集群环境。ENSA1 只能在 2 个节点集群中进行配置,其中 ASCS 可以切换到运行 ERS 的其他节点。另一方面,ENSA2 支持在集群中运行超过 2 个节点,但 SAP HANA 扩展实例仅限于 2 个节点集群,因此,此成本优化文档仅通过在集群中使用 2 个节点来保持所有简单的内容。

2.4. 存储要求

为 S/4HANA 安装创建的目录应按照上述规则放在共享存储上:

2.4.1. 实例特定目录

必须有单独的 SAN LUN 或 NFS 导出,用于每个节点上集群可以挂载的 ASCS 和 ERS 实例。

例如,如下所示,分别 'ASCS' 和 'ERS' 实例必须分别存在于对应的节点上。

  • ASCS 节点: /usr/sap/SID/ASCS<Ins114>
  • ERS 节点: /usr/sap/SID/ERS<Ins114>
  • 两个节点: /hana/

    • :由于有 System Replication,/hana/ 目录是每个节点上的非共享的本地。

: 对于应用服务器,必须在运行 Application Server 实例的节点上提供以下目录:

  • Application Server Node (s) (D<Ins114>): /usr/sap/SID/D<Ins114>

当将 SAN LUN 用于实例目录时,客户必须使用 HA-LVM 来确保实例目录一次只能挂载到一个节点中。

在使用 NFS 导出时,如果在 NFS 文件服务器上的同一目录树中创建目录,如 Azure NetApp Files 或 Amazon EFS,在配置 Filesystem 资源时必须使用 force_unmount=safe 选项。这个选项将确保集群只停止在特定 NFS 导出上运行的进程,而不是停止在创建导出的目录树上运行的所有进程。

2.4.2. 共享目录

以下挂载点必须在 ASCS、ERS、HANA 和 Application Servers 节点上可用。

/sapmnt
/usr/sap/trans
/usr/sap/SID/SYS

可通过以下方法实现共享存储:

这些挂载点必须由集群管理,或者在集群启动前 挂载

第 3 章 安装 SAP S/4HANA

3.1. 本文档中使用的配置选项

以下是本文档中用于实例的配置选项。

两个节点都将运行带有集群中自动化系统复制的 ASCS/ERS 和 HDB 实例:

1st node hostname: s4node1
2nd node hostname: s4node2

SID: S4H

ASCS Instance number: 20
ASCS virtual hostname: s4ascs

ERS Instance number: 29
ERS virtual hostname: s4ers
Copy to Clipboard Toggle word wrap

HANA 数据库:

SID: S4D
HANA Instance number: 00
HANA virtual hostname: s4db
Copy to Clipboard Toggle word wrap

3.2. 准备主机

在开始安装前,请确定您必须:

  • 为 SAP Solutions 安装 RHEL 8 (建议使用 SAP HANA 的最新认证版本)
  • 在红帽客户门户网站或 Satellite 中注册系统
  • 启用 RHEL for SAP Applications 和 RHEL for SAP Solutions 软件仓库
  • 启用高可用性附加组件频道
  • 将共享存储和文件系统放在正确的挂载点
  • 使实例使用的虚拟 IP 地址存在并可访问
  • 解析实例将使用的主机名到 IP 地址并返回
  • 使用安装介质
  • 根据运行 SAP S/4HANA 的建议来配置系统

3.3. 安装 S/4HANA

使用 SAP 的软件置备管理器(SWPM)按以下顺序安装实例:

  • ASCS 实例
  • ERS 实例
  • 两个带有系统复制的节点上的 SAP HANA DB 实例

3.3.1. 在 s4node1 上安装 S/4

以下文件系统应该挂载到 s4node1 上,其中将安装 ASCS:

/usr/sap/S4H/ASCS20
/usr/sap/S4H/SYS
/usr/sap/trans
/sapmnt
Copy to Clipboard Toggle word wrap

s4node1 上应启用 s4ascs 的虚拟 IP。

运行安装程序:

[root@s4node1]# ./sapinst SAPINST_USE_HOSTNAME=s4ascs
Copy to Clipboard Toggle word wrap

选择 High-Availability System 选项。

text

3.3.2. 在 s4node2 上安装 ERS

以下文件系统应该挂载到 s4node2 上,其中将安装 ERS:

/usr/sap/S4H/ERS29 /usr/sap/S4H/SYS /usr/sap/trans /sapmnt
Copy to Clipboard Toggle word wrap

s4node2 上应启用 s4ers 的虚拟 IP。

运行安装程序:

[root@s4node2]# ./sapinst SAPINST_USE_HOSTNAME=s4ers
Copy to Clipboard Toggle word wrap

选择 High-Availability System 选项。

text

3.3.3. 使用系统复制安装 SAP HANA

在本例中,我们将使用带有以下配置的 SAP HANA。您还可以根据支持政策使用其他受支持的数据库。https://access.redhat.com/articles/3190982

SAP HANA SID: S4D
SAP HANA Instance number: 00
Copy to Clipboard Toggle word wrap

在本例中,SAP HANA 数据库服务器可以使用 hdblcm 命令行工具在两个节点上安装,然后自动化的 HANA System Replication 将以与以下文档中所述相同的方式建立: SAP HANA 系统复制
请注意,在此设置中,ASCS 和 HANA 主实例可以独立故障转移;因此,会出现 ASCS 和主要 SAP HANA 实例在同一节点上运行的情况。因此,务必要确保两个节点有足够的资源和可用内存可用于 ASCS/ERS 和主 SAP HANA 实例,以便在其他节点出现故障时在一个节点上运行。

为实现此目的,可以使用某些内存限制/限制设置 SAP HANA 实例,并且我们强烈建议您访问 SAP,以根据您的 SAP HANA 环境了解可用选项。一些相关的链接如下:

3.4. 安装后

3.4.1. ASCS 配置集修改

ASCS 实例需要对其配置集进行以下修改,以防止自动重启服务器实例,因为它将由集群管理。要应用更改,请在 ASCS 配置集 /sapmnt/S4H/profile/S4H_ASCS20_s4ascs 中运行以下命令。

[root]# sed -i -e 's/Restart_Program_01/Start_Program_01/'
/sapmnt/S4H/profile/S4H_ASCS20_s4ascs+
Copy to Clipboard Toggle word wrap

3.4.2. ERS 配置集修改

ERS 实例需要对其配置集进行以下修改,以防止自动重新启动 enqueue 服务器,因为它将由集群管理。要应用这些更改,请在 ERS 配置文件 /sapmnt/S4H/profile/S4H_ERS29_s4ers 中运行以下命令:

[root]# sed -i -e 's/Restart_Program_00/Start_Program_00/'
/sapmnt/S4H/profile/S4H_ERS29_s4ers+
Copy to Clipboard Toggle word wrap

3.4.3. 更新 /usr/sap/sapservices 文件

在 s4node1 和 s4node2 上,确保在 /usr/sap/sapservices 文件中注释掉了以下两行:

#LD_LIBRARY_PATH=/usr/sap/S4H/ERS29/exe:$LD_LIBRARY_PATH; export
LD_LIBRARY_PATH; /usr/sap/S4H/ERS29/exe/sapstartsrv
pf=/usr/sap/S4H/SYS/profile/S4H_ERS29_s4ers -D -u s4hadm
#LD_LIBRARY_PATH=/usr/sap/S4H/ASCS20/exe:$LD_LIBRARY_PATH; export
LD_LIBRARY_PATH; /usr/sap/S4H/ASCS20/exe/sapstartsrv
pf=/usr/sap/S4H/SYS/profile/S4H_ASCS20_s4ascs -D -u s4hadm
Copy to Clipboard Toggle word wrap
[root@s4node1 ~]# mkdir /usr/sap/S4H/ERS29/
[root@s4node1 ~]# chown s4hadm:sapsys /usr/sap/S4H/ERS29/

[root@s4node2 ~]# mkdir /usr/sap/S4H/ASCS20
[root@s4node2 ~]# chown s4hadm:sapsys /usr/sap/S4H/ASCS20
Copy to Clipboard Toggle word wrap

3.4.5. 在其他节点上手动测试实例

停止 ASCS 和 ERS 实例。将实例特定目录移到其他节点:

[root@s4node1 ~]# umount /usr/sap/S4H/ASCS20
[root@s4node2 ~]# mount /usr/sap/S4H/ASCS20

[root@s4node2 ~]# umount /usr/sap/S4H/ERS29/
[root@s4node1 ~]# mount /usr/sap/S4H/ERS29/
Copy to Clipboard Toggle word wrap

在其他集群节点上手动启动 ASCS 和 ERS 实例,然后分别手动停止它们。

3.4.6. 检查所有节点上的 SAP HostAgent

在所有节点上检查 SAP HostAgent 是否具有相同的版本,并满足最低版本要求:

[root]# /usr/sap/hostctrl/exe/saphostexec -version
Copy to Clipboard Toggle word wrap

要升级/安装 SAP HostAgent,请执行以下操作:请按照 SAP OSS 备注 1031096 进行操作。

3.4.7. 安装持久性 SAP 许可证密钥

改进了在高可用性场景中确定 SAP 硬件密钥。根据每个集群节点的硬件密钥,可能需要安装多个 SAP 许可证密钥。如需更多信息,请参阅 SAP OSS 备注 1178686 - Linux:生成 SAP 硬件密钥的替代方法。

第 4 章 安装 Pacemaker

请参阅以下文档以首先设置 pacemaker 集群。

请确保遵循 RHEL 高可用性集群支持政策指南 - 隔离/STONITH 设置的一般要求。有关不同平台支持的隔离/STONITH 代理的信息,请参阅 集群平台和架构

本指南假设以下内容正在正常工作:

4.1. 配置常规集群属性

为了避免初始测试和生产期间不必要的资源故障切换,请为 resource-stickiness 和 migration-threshold 参数设置以下默认值:请注意,默认值不适用于使用自己的定义值覆盖它们的资源。

[root]# pcs resource defaults resource-stickiness=1
[root]# pcs resource defaults migration-threshold=3
Copy to Clipboard Toggle word wrap

警告 :从 RHEL 8.4 开始(pcs-0.10.8-1.el8),上述命令已弃用。使用以下命令:+[source,text]

[root]# pcs resource defaults update resource-stickiness=1
[root]# pcs resource defaults update migration-threshold=3
Copy to Clipboard Toggle word wrap

备注
1。在集群的一个节点上运行上述命令就足够了。
2.命令 resource-stickiness=1 将指示资源在何处继续运行,而 migration-threshold=3 将导致资源在 3 次失败后移至新节点。3 通常足以防止资源永久失败到另一节点。这也可确保资源故障切换时间保留在可控制的限制中。

4.2. 在所有集群节点上安装 resource-agents-sap

[root]# yum install resource-agents-sap
Copy to Clipboard Toggle word wrap

4.3. 为共享文件系统配置集群资源

配置共享文件系统,以便在所有集群节点上提供以下挂载点。

/sapmnt
/usr/sap/trans
/usr/sap/S4H/SYS

4.3.1. 配置集群管理的共享文件系统

克隆的 Filesystem 集群资源可用于在所有集群节点上从外部 NFS 服务器挂载共享,如下所示。

[root]# pcs resource create s4h_fs_sapmnt Filesystem \
device='<NFS_Server>:<sapmnt_nfs_share>' directory='/sapmnt' \
fstype='nfs' --clone interleave=true
[root]# pcs resource create s4h_fs_sap_trans Filesystem \
device='<NFS_Server>:<sap_trans_nfs_share>' directory='/usr/sap/trans' \
fstype='nfs' --clone interleave=true
[root]# pcs resource create s4h_fs_sap_sys Filesystem \
device='<NFS_Server>:<s4h_sys_nfs_share>' directory='/usr/sap/S4H/SYS' \
fstype='nfs' --clone interleave=true
Copy to Clipboard Toggle word wrap

创建 Filesystem 资源后,验证它们是否已在所有节点上正确启动。

[root]# pcs status
...
Clone Set: s4h_fs_sapmnt-clone [s4h_fs_sapmnt]
Started: [ s4node1 s4node2 ]
Clone Set: s4h_fs_sap_trans-clone [s4h_fs_sap_trans]
Started: [ s4node1 s4node2 ]
Clone Set: s4h_fs_sys-clone [s4h_fs_sys]
Started: [ s4node1 s4node2 ]
...
Copy to Clipboard Toggle word wrap

4.3.2. 配置在集群外管理的共享文件系统

如果共享文件系统不由集群管理,则必须在 pacemaker 服务启动前保证它们可用。
在 RHEL 7 中,因为 systemd 并行化,您必须确保在 resource-agents-deps 目标中启动共享文件系统。有关此问题的更多详细信息,请参阅文档 9.6。为不是由 Pacemaker 管理的资源依赖项配置启动顺序(Red Hat Enterprise Linux 7.4 及更新的版本)

4.4. 配置 ASCS 资源组

4.4.1. 为虚拟 IP 地址创建资源

[root]# pcs resource create s4h_vip_ascs20 IPaddr2 ip=192.168.200.201 \
--group s4h_ASCS20_group
Copy to Clipboard Toggle word wrap

4.4.2. 为 ASCS 文件系统创建资源。

以下是为 NFS 文件系统创建资源的示例

[root]# pcs resource create s4h_fs_ascs20 Filesystem \
device='<NFS_Server>:<s4h_ascs20_nfs_share>' \
directory=/usr/sap/S4H/ASCS20 fstype=nfs force_unmount=safe \
--group s4h_ASCS20_group op start interval=0 timeout=60 \
op stop interval=0 timeout=120 \
op monitor interval=200 timeout=40
Copy to Clipboard Toggle word wrap

以下是为 HA-LVM 文件系统创建资源的示例

[root]# pcs resource create s4h_fs_ascs20_lvm LVM \
volgrpname='<ascs_volume_group>' exclusive=true \
--group s4h_ASCS20_group

[root]# pcs resource create s4h_fs_ascs20 Filesystem \
device='/dev/mapper/<ascs_logical_volume>' \
directory=/usr/sap/S4H/ASCS20 fstype=ext4 \
--group s4h_ASCS20_group
Copy to Clipboard Toggle word wrap

4.4.3. 为 ASCS 实例创建资源

[root]# pcs resource create s4h_ascs20 SAPInstance \
InstanceName="S4H_ASCS20_s4ascs" \
START_PROFILE=/sapmnt/S4H/profile/S4H_ASCS20_s4ascs \
AUTOMATIC_RECOVER=false \
meta resource-stickiness=5000 \
--group s4h_ASCS20_group \
op monitor interval=20 on-fail=restart timeout=60 \
op start interval=0 timeout=600 \
op stop interval=0 timeout=600
Copy to Clipboard Toggle word wrap

meta resource-stickiness=5000 此处与 ERS 平衡故障转移约束,以便资源保留在启动的节点上,且不会不完全地迁移集群。
在组中添加资源粘性,以确保 ASCS 在可能的情况下保留在节点上:

[root]# pcs resource meta s4h_ASCS20_group resource-stickiness=3000
Copy to Clipboard Toggle word wrap

4.5. 配置 ERS 资源组

4.5.1. 为虚拟 IP 地址创建资源

[root]# pcs resource create s4h_vip_ers29 IPaddr2 ip=192.168.200.202 \
--group s4h_ERS29_group
Copy to Clipboard Toggle word wrap

4.5.2. 为 ERS 文件系统创建资源

以下是为 NFS 文件系统创建资源的示例

[root]# pcs resource create s4h_fs_ers29 Filesystem \
device='<NFS_Server>:<s4h_ers29_nfs_share>' \
directory=/usr/sap/S4H/ERS29 fstype=nfs force_unmount=safe \
--group s4h_ERS29_group op start interval=0 timeout=60 \
op stop interval=0 timeout=120 op monitor interval=200 timeout=40
Copy to Clipboard Toggle word wrap

以下是为 HA-LVM 文件系统创建资源的示例

[root]# pcs resource create s4h_fs_ers29_lvm LVM \
volgrpname='<ers_volume_group>' exclusive=true --group s4h_ERS29_group

[root]# pcs resource create s4h_fs_ers29 Filesystem \
device='/dev/mapper/<ers_logical_volume>' directory=/usr/sap/S4H/ERS29 \
fstype=ext4 --group s4h_ERS29_group
Copy to Clipboard Toggle word wrap

4.5.3. 为 ERS 实例创建资源

创建 ERS 实例集群资源。
注意: 在 ENSA2 部署中,IS_ERS 属性是可选的。要了解更多有关 IS_ERS 的信息,请参阅 IS_ERS 属性如何使用 Standalone Enqueue Server (ENSA1 和 ENSA2)在 SAP NetWeaver 集群中工作?

[root]# pcs resource create s4h_ers29 SAPInstance \
InstanceName="S4H_ERS29_s4ers" \
START_PROFILE=/sapmnt/S4H/profile/S4H_ERS29_s4ers \
AUTOMATIC_RECOVER=false \
--group s4h_ERS29_group \
op monitor interval=20 on-fail=restart timeout=60 \
op start interval=0 timeout=600 \
op stop interval=0 timeout=600
Copy to Clipboard Toggle word wrap

4.6. 创建约束

4.6.1. 为 ASCS 和 ERS 资源组创建 colocation 约束

资源组 s4h_ASCS20_groups4h_ERS29_group 应尝试在同一节点上运行。组的顺序很重要。

[root]# pcs constraint colocation add s4h_ERS29_group with s4h_ASCS20_group \
-5000
Copy to Clipboard Toggle word wrap

4.6.2. 为 ASCS 资源创建位置约束

ASCS20 实例 rh2_ascs20 更喜欢在运行 ERS 的节点上运行。

# pcs constraint location rh2_ascs20 rule score=2000 runs_ers_RH2 eq 1
Copy to Clipboard Toggle word wrap

4.6.3. 为 ASCS 和 ERS 资源组创建顺序约束

首选在 s4h_ERS29_group之前启动 s4h_ASCS20_group

[root]# pcs constraint order start s4h_ASCS20_group then start \
s4h_ERS29_group symmetrical=false kind=Optional
[root]# pcs constraint order start s4h_ASCS20_group then stop \
s4h_ERS29_group symmetrical=false kind=Optional
Copy to Clipboard Toggle word wrap

如果共享文件系统 /sapmnt 由集群管理,则以下限制可确保仅在文件系统可用时启动具有 ASCS 和 ERS SAPInstance 资源的资源组。

[root]# pcs constraint order s4h_fs_sapmnt-clone then s4h_ASCS20_group
[root]# pcs constraint order s4h_fs_sapmnt-clone then s4h_ERS29_group
Copy to Clipboard Toggle word wrap

第 5 章 测试集群配置

5.1. 检查约束

[root]# pcs constraint
Location Constraints:
Ordering Constraints:
start s4h_ASCS20_group then start s4h_ERS29_group (kind:Optional) (non-symmetrical)
start s4h_ASCS20_group then stop s4h_ERS29_group (kind:Optional) (non-symmetrical)
Colocation Constraints:
s4h_ERS29_group with s4h_ASCS20_group (score:-5000) Ticket Constraints:
Copy to Clipboard Toggle word wrap

5.2. 因节点崩溃而故障转移 ASCS

在崩溃前,ASCS 在 s4node1 上运行,而 ERS 在 s4node2 上运行。

[root@s4node1]# pcs status
...
Resource Group: s4h_ASCS20_group
s4h_fs_ascs20 (ocf::heartbeat:Filesystem): Started s4node1
s4h_vip_ascs20 (ocf::heartbeat:IPaddr2): Started s4node1
s4h_ascs20 (ocf::heartbeat:SAPInstance): Started s4node1
Resource Group: s4h_ERS29_group
s4h_fs_ers29 (ocf::heartbeat:Filesystem): Started s4node2
s4h_vip_ers29 (ocf::heartbeat:IPaddr2): Started s4node2
s4h_ers29 (ocf::heartbeat:SAPInstance): Started s4node2 ...
Copy to Clipboard Toggle word wrap

在 s4node2 上,运行以下命令来监控集群中的状态更改:

[root@s4node2 ~]# crm_mon -Arf
Copy to Clipboard Toggle word wrap

运行以下命令来崩溃 s4node1。请注意,命令后将会丢失与 s4node1 的连接。

[root@s4node1 ~]# echo c > /proc/sysrq-trigger
Copy to Clipboard Toggle word wrap

在 s4node2 上,监控故障转移过程。故障转移后,集群应处于这样的状态,在 s4node2 上具有 ASCS 和 ERS。

[root@s4node2 ~]# pcs status
 ...
Resource Group: s4h_ASCS20_group
s4h_fs_ascs20 (ocf::heartbeat:Filesystem): Started
s4node2 s4h_vip_ascs20 (ocf::heartbeat:IPaddr2): Started s4node2
s4h_ascs20 (ocf::heartbeat:SAPInstance): Started s4node2
Resource Group: s4h_ERS29_group
s4h_fs_ers29 (ocf::heartbeat:Filesystem): Started
s4node2 s4h_vip_ers29 (ocf::heartbeat:IPaddr2): Started s4node2
s4h_ers29 (ocf::heartbeat:SAPInstance): Started s4node2
...
Copy to Clipboard Toggle word wrap

5.3. ERS 移到以前的故障节点

使 s4node1 重新在线并启动集群:

[root@s4node1 ~]# pcs cluster start
Copy to Clipboard Toggle word wrap

ERS 应该移到 s4node1,而 ASCS 则保留在 s4node2 中。等待 ERS 完成迁移,并在集群最终处于这样的状态:

[root@node1 ~]# pcs status
...
Resource Group: s4h_ASCS20_group
s4h_fs_ascs20 (ocf::heartbeat:Filesystem): Started
s4node2 s4h_vip_ascs20 (ocf::heartbeat:IPaddr2): Started s4node2
s4h_ascs20 (ocf::heartbeat:SAPInstance): Started s4node2
Resource Group: s4h_ERS29_group
s4h_fs_ers29 (ocf::heartbeat:Filesystem): Started
s4node1 s4h_vip_ers29 (ocf::heartbeat:IPaddr2): Started s4node1
s4h_ers29 (ocf::heartbeat:SAPInstance): Started s4node1
...
Copy to Clipboard Toggle word wrap

第 6 章 在重启后启用集群自动启动

重新引导后,集群还没有启用自动启动。系统管理员需要在隔离并重启节点后手动启动集群。

测试上一部分后,当一切正常时,让集群在重启后自动启动:

[root@s4node1]# pcs cluster enable --all
Copy to Clipboard Toggle word wrap

: 在某些情况下,在节点重启后,集群可能无法自动启动。例如,如果集群资源所需的文件系统存在问题,且文件系统需要先修复,然后才能再次使用文件系统,使集群自动启动可能会失败,因为文件系统不起作用。这可能导致更多问题。

现在,请重新运行上一节中的测试,以确保集群仍然可以正常工作。请注意,在 5.3 部分中,不需要在节点重启后运行命令 pcs cluster start。集群应在重新引导后自动启动。

此时,您已成功为 ENSA2 配置了双节点集群。您可以继续进行密集型测试,以准备生产环境,或选择性地在集群中添加更多节点。

第 7 章 测试故障转移

7.1. 因节点崩溃而故障转移 ASCS

在崩溃前,ASCS 在 s4node1 上运行,而 ERS 在 s4node2 上运行。
在 s4node2 上,运行以下命令来监控集群中的状态更改:

[root@s4node2 ~]# crm_mon -Arf
Copy to Clipboard Toggle word wrap

运行以下命令来崩溃 s4node1。请注意,命令后将会丢失与 s4node1 的连接。

[root@s4node1 ~]# echo c > /proc/sysrq-trigger
Copy to Clipboard Toggle word wrap

在 s4node2 上,监控故障转移过程。故障转移后,集群应处于这样的状态,即 ASCS 和 ERS 实例在 s4node2 上运行。

[root@s4node2 ~]# pcs status
...
 Resource Group: s4h_ASCS20_group
     s4h_lvm_ascs20    (ocf::heartbeat:LVM-activate):    Started s4node2
     s4h_fs_ascs20  (ocf::heartbeat:Filesystem):    Started s4node2
     s4h_vip_ascs20 (ocf::heartbeat:IPaddr2):   Started s4node2
     s4h_ascs20 (ocf::heartbeat:SAPInstance):   Started s4node2
 Resource Group: s4h_ERS29_group
     s4h_lvm_ers29    (ocf::heartbeat:LVM-activate):    Started s4node2
     s4h_fs_ers29   (ocf::heartbeat:Filesystem):    Started s4node2
     s4h_vip_ers29  (ocf::heartbeat:IPaddr2):   Started s4node2
     s4h_ers29  (ocf::heartbeat:SAPInstance):   Started s4node2
...
Copy to Clipboard Toggle word wrap

7.2. ERS 移到以前的故障节点

使 s4node1 重新在线。ERS 应该保留在当前节点上,而不是返回到 s4node1。

7.3. 测试 ERS 崩溃

同样,测试运行 ERS 的节点。ERS 组应该切换到备用节点,而 ASCS 在其当前节点上保持不变。崩溃的节点返回后,ERS 组不应返回。

[root@s4node1 ~]# pcs status
Cluster name: SAP-S4-HANA
….
Node List:
  * Online: [ s4node1 s4node2 ]
….
Full List of Resources:
  * s4-fence    (stonith:fence_rhevm):    Started s4node1
  * Clone Set: fs_sapmnt-clone [fs_sapmnt]:
	* Started: [ s4node1 s4node2 ]
  * Clone Set: fs_sap_trans-clone [fs_sap_trans]:
	* Started: [ s4node1 s4node2 ]
  * Clone Set: fs_sap_SYS-clone [fs_sap_SYS]:
	* Started: [ s4node1 s4node2 ]
  * Resource Group: s4h_ASCS20_group:
	* s4h_lvm_ascs20    (ocf::heartbeat:LVM-activate):    Started s4node1
	* s4h_fs_ascs20    (ocf::heartbeat:Filesystem):    Started s4node1
	* s4h_ascs20    (ocf::heartbeat:SAPInstance):    Started s4node1
	* s4h_vip_ascs20    (ocf::heartbeat:IPaddr2):    Started s4node1
  * Resource Group: s4h_ERS29_group:
	* s4h_lvm_ers29    (ocf::heartbeat:LVM-activate):    Started s4node2
	* s4h_fs_ers29    (ocf::heartbeat:Filesystem):    Started s4node2
	* s4h_ers29    (ocf::heartbeat:SAPInstance):    Started s4node2
	* s4h_vip_ers29    (ocf::heartbeat:IPaddr2):    Started s4node2
  * Clone Set: SAPHanaTopology_S4D_00-clone [SAPHanaTopology_S4D_00]:
	* Started: [ s4node1 s4node2 ]
  * Clone Set: SAPHana_S4D_00-clone [SAPHana_S4D_00] (promotable):
    * Masters: [ s4node2 ]
	* Slaves: [ s4node1 ]
  * vip_S4D_00   (ocf::heartbeat:IPaddr2):    Started s4node2
Copy to Clipboard Toggle word wrap

当系统管理员控制 Pacemaker 集群中运行的 SAP 实例时,需要手动或使用 SAP 管理控制台(MC/MMC)的工具,需要通过 HA 集群软件提供的 HA 接口进行更改。SAP Start Service sapstartsrv 控制 SAP 实例,需要配置为通过 HA 接口与 pacemaker 集群软件通信。

请按照 kbase 文章配置 HAlib如何为 SAP ABAP 应用程序服务器启用由 RHEL HA 附加组件管理的 SAP HA 接口?

法律通告

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat