Install SAP NetWeaver high availability on a Windows failover cluster and file share for SAP ASCS/SCS instances on Azure

This article describes how to install and configure a high-availability SAP system on Azure, with Windows Server Failover Cluster (WSFC) and Scale-Out File Server as an option for clustering SAP ASCS/SCS instances.

Prerequisites

Before you start the installation, review the following articles:

You need the following executables and DLLs from SAP:

  • SAP Software Provisioning Manager (SWPM) installation tool version SPS25 or later.
  • SAP Kernel 7.49 or later

Important

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).

We do not describe the Database Management System (DBMS) setup because setups vary depending on the DBMS you use. However, we assume that high-availability concerns with the DBMS are addressed with the functionalities that various DBMS vendors support for Azure. Such functionalities include AlwaysOn or database mirroring for SQL Server, and Oracle Data Guard for Oracle databases. In the scenario we use in this article, we didn't add more protection to the DBMS.

There are no special considerations when various DBMS services interact with this kind of clustered SAP ASCS/SCS configuration in Azure.

Note

The installation procedures of SAP NetWeaver ABAP systems, Java systems, and ABAP+Java systems are almost identical. The most significant difference is that an SAP ABAP system has one ASCS instance. The SAP Java system has one SCS instance. The SAP ABAP+Java system has one ASCS instance and one SCS instance running in the same Microsoft failover cluster group. Any installation differences for each SAP NetWeaver installation stack are explicitly mentioned. You can assume that all other parts are the same.

Prepare an SAP global host on the SOFS cluster

Create the following volume and file share on the SOFS cluster:

  • SAP GLOBALHOST file C:\ClusterStorage\Volume1\usr\sap\<SID>\SYS\ structure on SOFS cluster shared volume (CSV)

  • SAPMNT file share

  • Set security on the SAPMNT file share and folder with full control for:

    • The <DOMAIN>\SAP_<SID>_GlobalAdmin user group
    • The SAP ASCS/SCS cluster node computer objects <DOMAIN>\ClusterNode1$ and <DOMAIN>\ClusterNode2$

To create a CSV volume with mirror resiliency, execute the following PowerShell cmdlet on one of the SOFS cluster nodes:

New-Volume -StoragePoolFriendlyName S2D* -FriendlyName SAPPR1 -FileSystem CSVFS_ReFS -Size 5GB -ResiliencySettingName Mirror

To create SAPMNT and set folder and share security, execute the following PowerShell script on one of the SOFS cluster nodes:

# Create SAPMNT on file share
$SAPSID = "PR1"
$DomainName = "SAPCLUSTER"
$SAPSIDGlobalAdminGroupName = "$DomainName\SAP_" + $SAPSID + "_GlobalAdmin"

# SAP ASCS/SCS cluster nodes
$ASCSClusterNode1 = "ascs-1"
$ASCSClusterNode2 = "ascs-2"

# Define SAP ASCS/SCS cluster node computer objects
$ASCSClusterObjectNode1 = "$DomainName\$ASCSClusterNode1$"
$ASCSClusterObjectNode2 = "$DomainName\$ASCSClusterNode2$"

# Create usr\sap\.. folders on CSV
$SAPGlobalFolder = "C:\ClusterStorage\SAP$SAPSID\usr\sap\$SAPSID\SYS"
New-Item -Path $SAPGlobalFOlder -ItemType Directory

$UsrSAPFolder = "C:\ClusterStorage\SAP$SAPSID\usr\sap\"

# Create a SAPMNT file share and set share security
New-SmbShare -Name sapmnt -Path $UsrSAPFolder -FullAccess "BUILTIN\Administrators", $ASCSClusterObjectNode1, $ASCSClusterObjectNode2 -ContinuouslyAvailable $false -CachingMode None -Verbose

# Get SAPMNT file share security settings
Get-SmbShareAccess sapmnt

# Set file and folder security
$Acl = Get-Acl $UsrSAPFolder

# Add  a security object of the clusternode1$ computer object
$Ar = New-Object  system.security.accesscontrol.filesystemaccessrule($ASCSClusterObjectNode1,"FullControl",'ContainerInherit,ObjectInherit', 'None', 'Allow')
$Acl.SetAccessRule($Ar)

# Add a security object of the clusternode2$ computer object
$Ar = New-Object  system.security.accesscontrol.filesystemaccessrule($ASCSClusterObjectNode2,"FullControl",'ContainerInherit,ObjectInherit', 'None', 'Allow')
$Acl.SetAccessRule($Ar)

# Set security
Set-Acl $UsrSAPFolder $Acl -Verbose

Create a virtual host name for the clustered SAP ASCS/SCS instance

Create an SAP ASCS/SCS cluster network name (for example, pr1-ascs [10.0.6.7]), as described in Create a virtual host name for the clustered SAP ASCS/SCS instance.

Install an ASCS/SCS and ERS instances in the cluster

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

Install an SAP ASCS/SCS instance on the first cluster node. To install the instance, in the SAP SWPM installation tool, go to:

<Product> > <DBMS> > Installation > Application Server ABAP (or Java) > High-Availability System > ASCS/SCS instance > First cluster node.

Add a probe port

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 this article.

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

Install an SAP ASCS/SCS instance on the second cluster node. To install the instance, in the SAP SWPM installation tool, go 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

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

Finalize your SAP system installation by installing:

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

Next steps