Upgrade SAP Pacemaker clusters from ENSA1 to ENSA2
Created by Gergely Cserdi (AWS) and Balazs Sandor Skublics (AWS)
Summary
This pattern explains the steps and considerations for upgrading an SAP Pacemaker cluster that is based on Standalone Enqueue Server (ENSA1) to ENSA2. The information in this pattern applies to both SUSE Linux Enterprise Server (SLES) and Red Hat Enterprise Linux (RHEL) operating systems.
Pacemaker clusters on SAP NetWeaver 7.52 or S/4HANA 1709 and earlier versions run on an ENSA1 architecture and are configured specifically for ENSA1. If you run your SAP workloads on Amazon Web Services (AWS) and you’re interested in moving to ENSA2, you might find that the SAP, SUSE, and RHEL documentation doesn’t provide comprehensive information. This pattern describes the technical steps required to reconfigure SAP parameters and Pacemaker clusters to upgrade from ENSA1 to ENSA2. It provides examples of SUSE systems, but the concept is the same for RHEL clusters.
Notes: ENSA1 and ENSA2 are concepts that pertain to SAP applications only, so the information in this pattern doesn’t apply to SAP HANA or other types of clusters. Technically, ENSA2 can be used with or without Enqueue Replicator 2. However, high availability (HA) and failover automation (through a cluster solution) require Enqueue Replicator 2. This pattern uses the term ENSA2 clusters to refer to clusters with Standalone Enqueue Server 2 and Enqueue Replicator 2. |
Prerequisites and limitations
Prerequisites
A working ENSA1-based cluster that uses Pacemaker and Corosync on SLES or RHEL.
At least two Amazon Elastic Compute Cloud (Amazon EC2) instances where the (ABAP) SAP Central Services (ASCS/SCS) and Enqueue Replication Server (ERS) instances are running.
Knowledge of managing SAP applications and clusters.
Access to the Linux environment as root user.
Limitations
ENSA1-based clusters support a two-node architecture only.
ENSA2-based clusters cannot be deployed to SAP NetWeaver versions before 7.52.
EC2 instances in clusters should be in different AWS Availability Zones.
Product versions
SAP NetWeaver version 7.52 or later
Starting with S/4HANA 2020, only ENSA2 clusters are supported
Kernel 7.53 or later, which supports ENSA2 and Enqueue Replicator 2
SLES for SAP Applications version 12 or later
RHEL for SAP with High Availability (HA) version 7.9 or later
Architecture
Source technology stack
SAP NetWeaver 7.52 with SAP Kernel 7.53 or later
SLES or RHEL operating system
Target technology stack
SAP NetWeaver 7.52 with SAP Kernel 7.53 or later, including S/4HANA 2020 with ABAP platform
SLES or RHEL operating system
Target architecture
The following diagram shows an HA configuration of ASCS/SCS and ERS instances based on an ENSA2 cluster.
Comparison of ENSA1 and ENSA2 clusters
SAP introduced ENSA2 as the successor to ENSA1. An ENSA1-based cluster supports a two-node architecture where the ASCS/SCS instance fails over to ERS when an error occurs. This limitation stems from how the ASCS/SCS instance regains the lock table information from the shared memory of the ERS node after failover. ENSA2-based clusters with Enqueue Replicator 2 eliminate this limitation, because the ASCS/SCS instance can collect the lock information from the ERS instance over the network. ENSA2-based clusters can have more than two nodes, because the ASCS/SCS instance is no longer required to fail over to the ERS node. (However, in a two-node ENSA2 cluster environment, the ASCS/SCS instance will still fail over to the ERS node because there are no other nodes in the cluster to fail over to.) ENSA2 is supported starting with SAP Kernel 7.50 with some limitations. For HA setup that supports Enqueue Replicator 2, the minimum requirement is NetWeaver 7.52 (see SAP OSS Note 2630416
Automation and scale
The HA cluster in the target architecture makes ASCS fail over to other nodes automatically.
Scenarios for moving to ENSA2-based clusters
There are two main scenarios for upgrading to ENSA2-based clusters:
Scenario 1: You choose to upgrade to ENSA2 without an accompanying SAP upgrade or S/4HANA conversion, assuming that your SAP release and Kernel version support ENSA2.
Scenario 2: You move to ENSA2 as part of an upgrade or conversion (for example, to S/4HANA 1809 or later) by using SUM.
The Epics section covers the steps for these two scenarios. The first scenario requires you to manually set up SAP-related parameters before you change the cluster configuration for ENSA2. In the second scenario, the binaries and SAP-related parameters are deployed by SUM, and your only remaining task is to update the cluster configuration for HA. We still recommend that you validate SAP parameters after you use SUM. In most cases, S/4HANA conversion is the main reason for a cluster upgrade.
Tools
For OS package managers, we recommend the Zypper (for SLES) or YUM (for RHEL) tools.
For cluster management, we recommend crm (for SLES) or pcs (for RHEL) shells.
SAP instance management tools such as SAPControl.
(Optional) SUM tool for S/4HANA conversion upgrade.
Best practices
For best practices for using SAP workloads on AWS, see the SAP Lens for the AWS Well-Architected Framework.
Consider the number of cluster nodes (odd or even) in your ENSA2 multi-node architecture.
Set up the ENSA2 cluster for SLES 15 in alignment with the SAP S/4-HA-CLU 1.0 certification standard.
Always save or back up your existing cluster and application state before upgrading to ENSA2.
Epics
Task | Description | Skills required |
---|---|---|
Configure the parameters in the default profile. | If you want to upgrade to ENSA2 while staying on the same SAP release or if your target release defaults to ENSA1, set the parameters in the default profile (DEFAULT.PFL file) to the following values.
where NoteTo use this upgrade option, your SAP release and Kernel version must support ENSA2 and Enqueue Replicator 2. | SAP |
Configure the ASCS/SCS instance profile. | If you want to upgrade to ENSA2 while staying on the same SAP release or if your target release defaults to ENSA1, set the following parameters in the ASCS/SCS instance profile. The section of the profile where ENSA1 is defined looks something like the following.
To reconfigure this section for ENSA2:
This profile section would look something like the following after your changes.
Important
| SAP |
Configure the ERS profile. | If you want to upgrade to ENSA2 while staying on the same SAP release or if your target release defaults to ENSA1, set the following parameters in the ERS instance profile. Find the section where the enqueue replicator is defined. It will be similar to the following.
To reconfigure this section for Enqueue Replicator 2:
This profile section should look something like the following after your changes.
Important
| SAP |
Restart SAP Start Services. | After you change the profiles described previously in this epic, restart SAP Start Services for both ASCS/SCS and ERS.
where | SAP |
Task | Description | Skills required |
---|---|---|
Verify version numbers in SAP resource agents. | When you use SUM to upgrade SAP to S/4HANA 1809 or later, SUM handles the parameter changes in the SAP profiles. Only the cluster requires manual adjustment. However, we recommend that you verify the parameter settings before you make any changes to the cluster. NoteThe examples in this epic assume that you’re using the SUSE operating system. If you’re using RHEL, you will need to use tools such as YUM and the pcs shell instead of Zypper and crm. Check both nodes in the architecture to confirm that the
Update the | AWS systems administrator |
Back up cluster configuration. | Back up the CRM cluster configuration as follows.
| AWS systems administrator |
Set maintenance mode. | Set the cluster to maintenance mode.
| AWS systems administrator |
Check cluster configuration. | Check the current cluster configuration.
Here is an excerpt from the full output:
where | AWS systems administrator |
Remove failover colocation constraint. | In the previous example, the location constraint
| AWS systems administrator |
Adjust primitives. | You will also need to make minor changes to the ASCS and ERS SAPInstance primitives. Here is an example of an ASCS SAPInstance primitive that is configured for ENSA1.
To upgrade to ENSA2, change this configuration to the following.
This is an example of an ERS SAPInstance primitive that is configured for ENSA1.
To upgrade to ENSA2, change this configuration to the following.
You can change primitives in various ways. For example, you can revise them in an editor such as vi, as in the following example.
| AWS systems administrator |
Disable maintenance mode. | Disable maintenance mode on the cluster.
When the cluster is out of maintenance mode, it attempts to bring the ASCS and ERS instances online with the new ENSA2 settings. | AWS systems administrator |
Task | Description | Skills required |
---|---|---|
Review best practices. | Before you add more nodes, make sure to understand best practices such as whether to use an odd or even number of nodes. | AWS systems administrator |
Add nodes. | Adding more nodes involves a series of tasks, such as updating the operating system, installing software packages that match the existing nodes, and making mounts available. You can use the Prepare Additional Host option in SAP Software Provisioning Manager (SWPM) to create an SAP-specific baseline of the host. For more information, see the SAP guides listed in the next section. | AWS systems administrator |
Related resources
SAP and SUSE references
To access SAP Notes, you must have an SAP ONE Support Launchpad user account. For more information, see the SAP Support website
SAP Note 2501860 ‒ Documentation for SAP NetWeaver Application Server for ABAP 7.52
SAP Note 2641019 ‒ Installation of ENSA2 and update from ENSA1 to ENSA2 in SUSE HA environment
SAP Note 2711036 ‒ Usage of the Standalone Enqueue Server 2 in an HA Environment
Standalone Enqueue Server 2
(SAP documentation) SAP S/4 HANA ‒ Enqueue Replication 2 High Availability Cluster - Setup Guide
(SUSE documentation)
AWS references