本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将 SAP Pacemaker 集群从升级到 ENSA1 ENSA2
由 Gergely Cserdi () 和 Balazs Sandor Skublics (AWS) 创作 AWS
环境:生产 | 来源:ENSA1基于 Pacemaker 集群 | 目标:ENSA2基于 Pacemaker 集群 |
R 类型:重构 | 工作量:SAP | 技术:基础设施;现代化 |
AWS服务:亚马逊 EC2 |
Summary
此模式说明了将基于独立入队服务器 () ENSA1 的 SAP Pacemaker 群集升级到的步骤和注意事项。ENSA2此模式中的信息适用于 SUSE Linux 企业服务器 (SLES) 和红帽企业 Linux (RHEL) 操作系统。
SAP NetWeaver 7.52 或 S/4 HANA 1709 及更早版本上的 Pacemaker 集群在ENSA1架构上运行,并且经过专门配置。ENSA1如果您在 Amazon Web Services (AWS) 上运行SAP工作负载ENSA2,并且有兴趣迁移到,则可能会发现SAPSUSE、和RHEL文档并未提供全面的信息。此模式描述了重新配置SAP参数和从升级到的 Pacemaker 集群所需的技术步骤。ENSA1 ENSA2它提供了SUSE系统的示例,但RHEL集群的概念是相同的。
注意:ENSA1和ENSA2是仅适用于SAP应用程序的概念,因此此模式中的信息不适用于SAPHANA或其他类型的集群。 严格来说,ENSA2可以搭配或不使用 Enqueue Replicator 2 一起使用。但是,高可用性 (HA) 和故障转移自动化(通过集群解决方案)需要 Enqueue Replicator 2。此模式使用ENSA2集群一词来指具有独立入队服务器 2 和 Enqueue Replicator 2 的集群。 |
先决条件和限制
先决条件
限制
产品版本
SAP NetWeaver 版本 7.52 或更高版本
从 S/4 HANA 2020 开始,仅ENSA2支持集群
内核 7.53 或更高版本,它支持ENSA2和 Enqueue Replicator 2
SLES适用于SAP应用程序版本 12 或更高版本
RHEL适用于SAP高可用性 (HA) 版本 7.9 或更高版本
架构
源技术堆栈
目标技术堆栈
目标架构
下图显示了 ASCS /的 HA 配置SCS和基于ENSA2集群的ERS实例。
ENSA1和ENSA2集群的比较
SAPENSA2作为. 的继任者引入ENSA1。ENSA1基于集群的集群支持双节点架构,当出现错误ERS时,ASCS/SCS实例会故障转移到该架构。此限制源于ASCS/SCS实例在故障转移后如何从ERS节点的共享内存中恢复锁表信息。ENSA2基于 Enqueue Replicator 2 的集群消除了这一限制,因为ASCS/SCS实例可以通过网络从ERS实例收集锁定信息。ENSA2基于群集可以有两个以上的节点,因为不再需要ASCS/SCS实例来故障转移到该ERS节点。(但是,在双节点ENSA2群集环境中,ASCS/SCS实例仍将故障转移到该ERS节点,因为集群中没有其他节点可供故障切换。) ENSA2从SAP内核 7.50 开始受支持,但有一些限制。对于支持 Enqueue Replicator 2 的 HA 设置,最低要求为 NetWeaver 7.52(参见 SAPOSSNote 2630416)。默认情况下,S/4 HANA 1809 自带推荐的ENSA2架构,而 S/4 仅HANA支持从 2020 版本ENSA2开始的架构。
自动化和扩缩
目标架构中的 HA 集群会自动将ASCS故障转移到其他节点。
迁移到ENSA2基于基础的集群的场景
升级到ENSA2基于基础的集群有两种主要方案:
操作说明部分涵盖了这两种场景的步骤。第一种情况要求您在更改集群配置之前手动设置SAP相关参数ENSA2。在第二种情况下,二进制文件和SAP相关参数由部署SUM,剩下的唯一任务就是更新 HA 的集群配置。我们仍然建议您在使用SAP参数后验证参数SUM。在大多数情况下,S/4 HANA 转换是群集升级的主要原因。
最佳实践
有关在上使用SAP工作负载的最佳实践AWS,请参阅 Well-Architecte AWS d Framework SAP镜头。
考虑一下您的ENSA2多节点架构中的群集节点数量(奇数或偶数)。
按照 SAP S/4-HA-CLU 1.0 认证标准,将ENSA2集群设置为 SLES 15。
在升级到之前,请务必保存或备份现有的集群和应用程序状态ENSA2。
操作说明
任务 | 描述 | 所需技能 |
---|
配置默认配置文件中的参数。 | 如果您想在ENSA2保持相同SAP版本的情况下升级到,或者目标版本默认为ENSA1,请在默认配置文件中设置参数 (DEFAULT. PFLfile) 变为以下值。 enq/enable=TRUE
enq/serverhost=sapascsvirt
enq/serverinst=10 (instance number of ASCS/SCS instance)
enque/process_location=REMOTESA
enq/replicatorhost=sapersvirt
enq/replicatorinst=11 (instance number of ERS instance)
其中,sapascsvirt 是ASCS实例的虚拟主机名,sapersvirt 是ERS实例的虚拟主机名。您可以更改这些设置以适合您的目标环境。 注意:要使用此升级选项,您的SAP版本和内核版本必须支持ENSA2和 Enqueue Replicator 2。 | SAP |
配置ASCS/SCS实例配置文件。 | 如果您想在保持相同SAP版本ENSA2的情况下升级到,或者目标版本默认为ENSA1,请在ASCS/SCSinstance配置文件中设置以下参数。 配置文件中定义ENSA1的部分如下所示。 #--------------------------------------------------------------
Start SAP enqueue server
#--------------------------------------------------------------
_EN = en.sap$(SAPSYSTEMNAME)$(INSTANCE_NAME)
Execute_04 = local rm -f $(_EN)
Execute_05 = local ln -s -f $(DIR_EXECUTABLE)/enserver$(FT_EXE) $(_EN)
Start_Program_01 = local $(_EN) pf=$(_PF)
要重新配置此部分,请执行以下操作:ENSA2 _ENQ 根据来自的最新信息,将_EN 程序前缀更改为SAP(OSS注意 2501860;需要 Supp SAP ONE ort La unchpad 用户帐户)。
将排队服务器的二进制文件从 enserver 更改为 enq_server 。 将新参数 enq/server/replication/enable 设置为 TRUE 。 确保 Autostart = 0 。
更改后,此配置文件部分将如下所示。 #--------------------------------------------------------------
Start SAP enqueue server
#--------------------------------------------------------------
_ENQ = enq.sap$(SAPSYSTEMNAME)$(INSTANCE_NAME)
Execute_04 = local rm -f $(_ENQ)
Execute_05 = local ln -s -f $(DIR_EXECUTABLE)/enq_server$(FT_EXE) $(_ENQ)
Start_Program_01 = local $(_ENQ) pf=$(_PF)
...
enq/server/replication/enable = TRUE
Autostart = 0
重要提示:_ENQ 不得启用重新启动选项。如果 _ENQ 设置为 RestartProgram_01 ,则将其更改为 StartProgram_01 。这样可以SAP防止重新启动服务或干扰集群管理的资源。 | SAP |
配置ERS配置文件。 | 如果您想在ENSA2保持相同SAP版本的情况下升级到,或者您的目标版本默认为ENSA1,请在ERS实例配置文件中设置以下参数。 查找定义排队复制器的部分。它类似于以下内容。 #------------------------------------------------------
Start enqueue replication server
#------------------------------------------------------
_ER = er.sap$(SAPSYSTEMNAME)$(INSTANCE_NAME)
Execute_03 = local rm -f $(_ER)
Execute_04 = local ln -s -f $(DIR_EXECUTABLE)/enrepserver$(FT_EXE) $(_ER)
Start_Program_00 = local $(_ER) pf=$(_PF) NR=$(SCSID)
要为 Enqueue Replicator 2 重新配置此部分,请执行以下操作: _ENQR 根据最新注释将_ER 程序前缀更改为SAP(OSS注意 2501860;需要 Supp SAP ONE ort La unchpad 用户帐户)。
将排队复制器的二进制文件更改为 enq_replicator 而不是 enrepserver 。 确保 Autostart = 0 。
更改后,此配置文件部分应如下所示。 #------------------------------------------------------
Start enqueue replication server
#------------------------------------------------------
_ENQR = enqr.sap$(SAPSYSTEMNAME)$(INSTANCE_NAME)
Execute_01 = local rm -f $(_ENQR)
Execute_02 = local ln -s -f $(DIR_EXECUTABLE)/enq_replicator$(FT_EXE) $(_ENQR)
Start_Program_00 = local $(_ENQR) pf=$(_PF) NR=$(SCSID)
…
Autostart = 0
重要提示:_ENQR 不得启用重新启动选项。如果 _ENQR 设置为 RestartProgram_01 ,则将其更改为 StartProgram_01 。这样可以SAP防止重新启动服务或干扰集群管理的服务。 | SAP |
重新SAP启动启动服务。 | 更改此长篇故事中前面描述的配置文件后,请重新SAP启动ASCS/SCS和的 “启动服务” ERS。 sapcontrol -nr 10 -function RestartService SCT
sapcontrol -nr 11 -function RestartService SCT
其中,SCT 指的是SAP系统 ID,假设 10 和 11 分别是ASCS/SCS和ERS实例的实例号。 | SAP |
任务 | 描述 | 所需技能 |
---|
在SAP资源代理中验证版本号。 | 当您使用升级SUMSAP到 S/4 HANA 1809 或更高版本时,会SUM处理配置文件中的SAP参数更改。只有集群需要手动调整。不过,我们建议您在对集群进行任何更改之前先验证参数设置。 注意:此长篇故事中的示例假设您使用的是SUSE操作系统。如果你使用的是RHEL,你需要使用诸如YUM和 pcs shell 之类的工具,而不是 Zypper 和 c r m。 检查架构中的两个节点,确认resource-agents 软件包是否与推荐的最低版本相匹配SAP。有关信息SLES,请查看 SAP OSS Note 2641019。有关信息RHEL,请查看 SAP OSS Note 2641322。(SAP备注需要一个 Su SAPONEpport Launchpad 用户帐户。) sapers:sctadm 23> zypper search -s -i resource-agents
Loading repository data...
Reading installed packages...
S | Name | Type | Version | Arch | Repository
--+-----------------+---------+------------------------------------+--------+-----------------------------
i | resource-agents | package | 4.8.0+git30.d0077df0-150300.8.28.1 | x86_64 | SLE-Product-HA15-SP3-Updates
如有必要,请更新 resource-agents 版本。 | AWS系统管理员 |
备份集群配置。 | 按如下方式备份CRM群集配置。 crm configure show > /tmp/cluster_config_backup.txt
| AWS系统管理员 |
设置维护模式。 | 将集群设置为维护模式。 crm configure property maintenance-mode="true"
| AWS系统管理员 |
检查集群配置。 | 检查当前集群配置。 crm configure show
以下是完整输出的摘录: node 1: sapascs
node 2: sapers
...
primitive rsc_sap_SCT_ASCS10 SAPInstance \
operations $id=rsc_sap_SCT_ASCS10-operations \
op monitor interval=120 timeout=60 on-fail=restart \
params InstanceName=SCT_ASCS10_sapascsvirt START_PROFILE="/sapmnt/SCT/profile/SCT_ASCS10_sapascsvirt" \
AUTOMATIC_RECOVER=false \
meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10
primitive rsc_sap_SCT_ERS11 SAPInstance \
operations $id=rsc_sap_SCT_ERS11-operations \
op monitor interval=120 timeout=60 on-fail=restart \
params InstanceName=SCT_ERS11_sapersvirt START_PROFILE="/sapmnt/SCT/profile/SCT_ERS11_sapersvirt" \
AUTOMATIC_RECOVER=false IS_ERS=true \
meta priority=1000
...
colocation col_sap_SCT_no_both -5000: grp_SCT_ERS11 grp_SCT_ASCS10
location loc_sap_SCT_failover_to_ers rsc_sap_SCT_ASCS10 \
rule 2000: runs_ers_SCT eq 1
order ord_sap_SCT_first_start_ascs Optional: rsc_sap_SCT_ASCS10:start rsc_sap_SCT_ERS11:stop symmetrical=false
...
其中,sapascsvirt 指ASCS实例的虚拟主机名,sapersvirt 指ERS实例的虚拟主机名,SCT 指SAP系统 ID。 | AWS系统管理员 |
移除故障转移主机托管限制。 | 在前面的示例中,位置约束loc_sap_SCT_failover_to_ers 指定故障转移时ASCS应始终遵循ERS实例的ENSA1功能。使用ENSA2,ASCS应该能够自由地故障转移到任何参与的节点,因此您可以移除此约束。 crm configure delete loc_sap_SCT_failover_to_ers
| AWS系统管理员 |
调整原语。 | 您还需要对ASCS和ERSSAPInstance基元进行细微的更改。 以下是为配置ASCSSAPInstance的原语的示例。ENSA1 primitive rsc_sap_SCT_ASCS10 SAPInstance \
operations $id=rsc_sap_SCT_ASCS10-operations \
op monitor interval=120 timeout=60 on-fail=restart \
params InstanceName=SCT_ASCS10_sapascsvirt START_PROFILE="/sapmnt/SCT/profile/SCT_ASCS10_sapascsvirt" \
AUTOMATIC_RECOVER=false \
meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10
要升级到ENSA2,请将此配置更改为以下内容。 primitive rsc_sap_SCT_ASCS10 SAPInstance \
operations $id=rsc_sap_SCT_ASCS10-operations \
op monitor interval=120 timeout=60 on-fail=restart \
params InstanceName=SCT_ASCS10_sapascsvirt START_PROFILE="/sapmnt/SCT/profile/SCT_ASCS10_sapascsvirt" \
AUTOMATIC_RECOVER=false \
meta resource-stickiness=3000
这是为配置ERSSAPInstance的原语的示例。ENSA1 primitive rsc_sap_SCT_ERS11 SAPInstance \
operations $id=rsc_sap_SCT_ERS11-operations \
op monitor interval=120 timeout=60 on-fail=restart \
params InstanceName=SCT_ERS11_sapersvirt START_PROFILE="/sapmnt/SCT/profile/SCT_ERS11_sapersvirt" \
AUTOMATIC_RECOVER=false IS_ERS=true \
meta priority=1000
要升级到ENSA2,请将此配置更改为以下内容。 primitive rsc_sap_SCT_ERS11 SAPInstance \
operations $id=rsc_sap_SCT_ERS11-operations \
op monitor interval=120 timeout=60 on-fail=restart \
params InstanceName=SCT_ERS11_sapersvirt START_PROFILE="/sapmnt/SCT/profile/SCT_ERS11_sapersvirt" \
AUTOMATIC_RECOVER=false IS_ERS=true
您可以通过多种方式更改原语。例如,您可以在 vi 等编辑器中对其进行修改,如下例所示。 crm configure edit rsc_sap_SCT_ERS11
| AWS系统管理员 |
禁用维护模式。 | 在集群上禁用维护模式。 crm configure property maintenance-mode="false"
当集群退出维护模式时,它会尝试使用新ENSA2设置使ASCS和ERS实例联机。 | AWS系统管理员 |
任务 | 描述 | 所需技能 |
---|
查看最佳实践。 | 在添加更多节点之前,请务必了解最佳实践,例如使用奇数还是偶数节点。 | AWS系统管理员 |
添加节点。 | 添加更多节点涉及一系列任务,例如更新操作系统、安装与现有节点匹配的软件包以及使附加可用。您可以使用SAP软件预配管理器 (SWPM) 中的 “准备其他主机” 选项来创建该主机的SAP特定基准。有关更多信息,请参阅下一节中列出的SAP指南。 | AWS系统管理员 |
相关资源
SAP和SUSE参考文献
要访问SAP笔记,您必须拥有 Su SAP ONE pport Launchpad 用户帐户。有关更多信息,请访问 Supp SAPort 网站。
AWS参考文献