High availability for SAP NetWeaver on Azure VMs on Windows with Azure NetApp Files(SMB) for SAP applications

This article describes how to deploy, configure the virtual machines, install the cluster framework, and install a highly available SAP NetWeaver 7.50 system on Windows VMs, using SMB on Azure NetApp Files.

The database layer isn't covered in detail in this article. We assume that the Azure virtual network has already been created.

Read the following SAP Notes and papers first:

Important

CAUTION: Be aware that the installation of an SAP system with SWPM on SMB share, hosted on Azure NetApp Files SMB volume, may fail with installation error for insufficient permissions like "warningPerm is not defined". To avoid the error, the user under which context SWPM is executed, needs elevated privilege "Domain Admin" during the installation of the SAP system.

Overview

SAP developed a new approach, and an alternative to cluster shared disks, for clustering an SAP ASCS/SCS instance on a Windows failover cluster. Instead of using cluster shared disks, one can use an SMB file share to deploy SAP global host files. Azure NetApp Files supports SMBv3 (along with NFS) with NTFS ACL using Active Directory. Azure NetApp Files is automatically highly available (as it is a PaaS service). These features make Azure NetApp Files great option for hosting the SMB file share for SAP global.
Both Azure Active Directory (AD) Domain Services and Active Directory Domain Services (AD DS) are supported. You can use existing Active Directory domain controllers with Azure NetApp Files. Domain controllers can be in Azure as virtual machines, or on premises via ExpressRoute or S2S VPN. In this article, we will use Domain controller in an Azure VM.
High availability(HA) for SAP Netweaver central services requires shared storage. To achieve that on Windows, so far it was necessary to build either SOFS cluster or use cluster shared disk s/w like SIOS. Now it is possible to achieve SAP Netweaver HA by using shared storage, deployed on Azure NetApp Files. Using Azure NetApp Files for the shared storage eliminates the need for either SOFS or SIOS.

Note

Clustering SAP ASCS/SCS instances by using a file share is supported for SAP NetWeaver 7.40 (and later), with SAP Kernel 7.49 (and later).

SAP ASCS/SCS HA Architecture with SMB share

The prerequisites for an SMB file share are:

  • SMB 3.0 (or later) protocol.
  • Ability to set Active Directory access control lists (ACLs) for Active Directory user groups and the computer$ computer object.
  • The file share must be HA-enabled.

The share for the SAP Central services in this reference architecture is offered by Azure NetApp Files:

SAP ASCS/SCS HA Architecture with SMB share details

Create and mount SMB volume for Azure NetApp Files

Perform the following steps, as preparation for using Azure NetApp Files.

  1. Create Azure NetApp account, following the steps described in Create a NetApp account

  2. Set up capacity pool, following the instructions in Set up a capacity pool

  3. Azure NetApp Files resources must reside in delegated subnet. Follow the instructions in Delegate a subnet to Azure NetApp Files to create delegated subnet.

    Important

    You need to create Active Directory connections before creating an SMB volume. Review the requirements for Active Directory connections.

    When creating the Active Directory connection, make sure to enter SMB Server (Computer Account) Prefix no longer than 8 characters to avoid the 13 characters hostname limitation for SAP Applications (a suffix is automatically added to the SMB Computer Account name).
    The hostname limitations for SAP applications are described in 2718300 - Physical and Virtual hostname length limitations and 611361 - Hostnames of SAP ABAP Platform servers.

  4. Create Active Directory connection, as described in Create an Active Directory connection

  5. Create SMB Azure NetApp Files SMB volume, following the instructions in Add an SMB volume

  6. Mount the SMB volume on your Windows Virtual Machine.

Tip

You can find the instructions on how to mount the Azure NetApp Files volume, if you navigate in Azure Portal to the Azure NetApp Files object, click on the Volumes blade, then Mount Instructions.

Prepare the infrastructure for SAP HA by using a Windows failover cluster

  1. Set the ASCS/SCS load balancing rules for the Azure internal load balancer.
  2. Add Windows virtual machines to the domain.
  3. Add registry entries on both cluster nodes of the SAP ASCS/SCS instance
  4. Set up a Windows Server failover cluster for an SAP ASCS/SCS instance
  5. If you are using Windows Server 2016, we recommend that you configure Azure Cloud Witness.

Install SAP ASCS instance on both nodes

You need the following software from SAP:

Note

Clustering SAP ASCS/SCS instances by using a file share is supported for SAP NetWeaver 7.40 (and later), with SAP Kernel 7.49 (and later).

Install an ASCS/SCS instance on the first ASCS/SCS cluster node

  1. Install an SAP ASCS/SCS instance on the first cluster node. Start the SAP SWPM installation tool, then navigate to: Product > DBMS > Installation > Application Server ABAP (or Java) > High-Availability System > ASCS/SCS instance > First cluster node.

  2. Select File Share Cluster as the Cluster share Configuration in SWPM.

  3. When prompted at step SAP System Cluster Parameters, enter the host name for the Azure NetApp Files SMB share you already created as File Share Host Name. In this example, the SMB share host name is anfsmb-9562.

    Important

    If Pre-requisite checker Results in SWPM shows Continuous availability feature condition not met, it can be addressed by following the instructions in Delayed error message when you try to access a shared folder that no longer exists in Windows.

    Tip

    If Pre-requisite checker Results in SWPM shows Swap Size condition not met, you can adjust the SWAP size by navigating to My Computer>System Properties>Performance Settings> Advanced> Virtual memory> Change.

  4. Configure an SAP cluster resource, the SAP-SID-IP probe port, by using PowerShell. Execute this configuration on one of the SAP ASCS/SCS cluster nodes, as described in Configure probe port.

Install an ASCS/SCS instance on the second ASCS/SCS cluster node

  1. Install an SAP ASCS/SCS instance on the second cluster node. Start the SAP SWPM installation tool, then navigate to Product > DBMS > Installation > Application Server ABAP (or Java) > High-Availability System > ASCS/SCS instance > Additional cluster node.

Update the SAP ASCS/SCS instance profile

Update parameters in the SAP ASCS/SCS instance profile <SID>ASCS/SCS<Nr><Host>.

Parameter name Parameter value
gw/netstat_once 0
enque/encni/set_so_keepalive true
service/ha_check_node 1

Parameter enque/encni/set_so_keepalive is only needed if using ENSA1.
Restart the SAP ASCS/SCS instance. Set KeepAlive parameters on both SAP ASCS/SCS cluster nodes follow the instructions to Set registry entries on the cluster nodes of the SAP ASCS/SCS instance.

Install a DBMS instance and SAP application servers

Complete your SAP installation, by installing:

  • A DBMS instance
  • A primary SAP application server
  • An additional SAP application server

Test the SAP ASCS/SCS instance failover

Fail over from cluster node A to cluster node B and back

In this test scenario we will refer to cluster node sapascs1 as node A, and to cluster node sapascs2 as node B.

  1. Verify that the cluster resources are running on node A. Figure 1: Windows Server failover cluster resources running on node A prior before the failover test

  2. Restart cluster node A. The SAP cluster resources will move to cluster node B. Figure 2: Windows Server failover cluster resources running on node B after the failover test

Lock entry test

1.Verify that the SAP Enqueue Replication Server (ERS) is active
2. Log on to the SAP system, execute transaction SU01 and open a user ID in change mode. That will generate SAP lock entry.
3. As you are logged in the SAP system, display the lock entry, by navigating to transaction ST12.
4. Fail over ASCS resources from cluster node A to cluster node B.
5. Verify that the lock entry, generated before the SAP ASCS/SCS cluster resources failover is retained.

Figure 3: Lock entry is retained after failover test

For more information, see Troubleshooting for Enqueue Failover in ASCS with ERS

Optional configurations

The following diagrams show multiple SAP instances on Azure VMs running Microsoft Windows Failover Cluster to reduce the total number of VMs.

This can either be local SAP Application Servers on a SAP ASCS/SCS cluster or a SAP ASCS/SCS Cluster Role on Microsoft SQL Server Always On nodes.

Important

Installing a local SAP Application Server on a SQL Server Always On node is not supported.

Both, SAP ASCS/SCS and the Microsoft SQL Server database, are single points of failure (SPOF). To protect these SPOFs in a Windows environment Azure NetApp Files SMB is used.

While the resource consumption of the SAP ASCS/SCS is fairly small, a reduction of the memory configuration for either SQL Server or the SAP Application Server by 2 GB is recommended.

SAP Application Servers on WSFC nodes using NetApp Files SMB

Figure 4: Windows Server failover clustering configuration in Azure with Windows NetApp Files SMB and locally installed SAP Application Server

Note

The picture shows the use of additional local disks. This is optional for customers who will not install application software on the OS drive (C:)

SAP ASCS/SCS on SQL Server Always On nodes using Azure NetApp Files SMB

Important

Using Azure NetApp Files SMB for any SQL Server volume is not supported.

Figure : SAP ASCS/SCS on SQL Server Always On nodes using Azure NetApp Files SMB

Note

The picture shows the use of additional local disks. This is optional for customers who will not install application software on the OS drive (C:)

Next steps