Blog Post

Running SAP Applications on the Microsoft Platform
5 MIN READ

Configuring Azure NetApp Files (ANF) Application Volume Group (AVG) for zonal SAP HANA deployment

dennispadia's avatar
dennispadia
Icon for Microsoft rankMicrosoft
Oct 11, 2023

IMPORTANT: You can now directly configure ANF AVG for SAP HANA in availability zone placement using extension 1 feature. For more details, see Understand application volume groups for SAP HANA - Extension 1 features

Overview

In Azure, you want to deploy SAP HANA system replication across zones using flexible virtual machine scale set with FD=1 or availability zone with Azure NetApp Files (ANF) as its storage volume. To optimize SAP HANA deployment with ANF volume, it is advised to use Application volume group (AVG). Presently, while you can place an ANF volume in a specific availability zone, there isn’t a straightforward mechanism for deploying ANF volumes using AVG in a zone. In this article, we will guide you through the steps to configure ANF AVG for SAP HANA deployments that are set up in a zonal configuration.

NOTE: 

Solution overview

Currently, when it comes to configuring application volume group on Azure, the typical procedure involves establishing a proximity placement group (PPG) to serve as an anchor for your SAP HANA VM. Detailed instructions for this procedure can be found in the document linked here. However, the use of PPG introduces some challenges, as outlined in the Configuration options for optimal network latency with SAP applications. To avoid the need for a PPG when deploying an SAP HANA VM in a specific availability zone, you can use the solution outlined in this blog to set up an AVG.

NOTE: We do not advise using a PPG for zonal deployment of SAP workloads, especially with VMSS flex (FD=1).

To configure SAP HANA volumes with AVG within a designated availability zone, you first need to create a placeholder VM in that specific availability zone, associating it with a PPG. The placeholder VM is not the actual HANA VM. The purpose of deploying this placeholder VM in a designated zone within the PPG is to utilize this PPG for deploying AVG in that zone.

Once the AVG volumes are created, you can delete the placeholder VM(s) and the associated PPG. It's important to note that deleting the PPG will not affect location of ANF volumes, as they have already been provisioned.

After deletion of placeholder VM and associated PPG, you can create a flexible scale set with FD=1 and provision an actual SAP HANA VM in the same zone.

The following diagram shows the solution that we have discussed, but the detailed configuration steps are described below.

Configuration steps

To outline the configuration steps, we would be using the East US region and Standard_M128ms_v2 VM SKU size for SAP HANA.

1 - Identify ANF stamps and VM SKU size in availability zones within region

In Azure regions, there may be times when VM SKUs and ANF storage stamps are not available in all three zones. Therefore, the initial step is to ascertain which availability zones within a region possess VM SKUs and ANF storage stamps.

Within the East US region, the VM SKU size Standard_M128ms_v2 is available across all three zones, and the ANF storage is likewise available in all three zones as well.

dennis@Azure:~$ az vm list-skus --location eastus --size Standard_M128ms_v2 --output table
ResourceType     Locations    Name                Zones    Restrictions
---------------  -----------  ------------------  -------  --------------
virtualMachines  eastus       Standard_M128ms_v2  1,2,3    None

dennis@Azure:~$ az netappfiles resource query-region-info -l eastus
{
  "availabilityZoneMappings": [
    {
      "availabilityZone": "1",
      "isAvailable": true
    },
    {
      "availabilityZone": "2",
      "isAvailable": true
    },
    {
      "availabilityZone": "3",
      "isAvailable": true
    }
  ],
  "storageToNetworkProximity": "T1AndT2AndAcrossT2"
}

NOTE: The illustration and zone selection provided in this article serve as mere examples. If VM SKUs and ANF storage stamps are accessible in all three zones, refer to the article How to choose correct Availability Zones for SAP Application cross-zone deployment for guidance on identifying the correct zones for your deployment.

2 - Create a placeholder VM in a zone with PPG

You can use any VM SKU size for the placeholder VM, but it is recommended to use the same VM SKU size as your SAP HANA VM to prevent any potential AVG failure error.

  1. Create two Proximity placement group, one for each availability zone where you want to deploy highly available SAP HANA. (Example: ppg-zone1, and ppg-zone3).

    NOTE: A single proximity placement group cannot span zones, so you need to create two.
  1. Create a placeholder VM using Azure portal. Keep in mind below point when creating VM.
     
    1. In basics tab, choose availability options as “Availability zone”. Select the availability zone where you would like to place your VM. (Example: zone1)
    2. In Advanced tab, choose the proximity placement group created in earlier step. (Example: ppg-zone1)

Similarly, create another VM in zone2 with ppg-zone2.

3 - Create Azure NetApp Files AVG

Before you create Azure NetApp Files AVG, it is recommended to refer to Understand Azure NetApp Files application volume group for SAP HANA and Requirements and considerations to gain a comprehensive understanding.

Follow the instructions in the Deploy the first SAP HANA host using Azure NetApp Files application volume group for SAP HANA guide to create an “Application volume group”. You would need to create two Application volume groups, one for each SAP HANA system you intend to deploy in a specified zone.

For placeholder VM deployed in zone 1 with PPG (ppg-zone1), select the same PPG to configure AVG.

For placeholder VM deployed in zone 3 with PPG (ppg-zone3), select the same PPG to configure AVG.

Two application volume groups created using two different PPG.

 

4 - Delete placeholder VMs and associated PPG

Once the AVGs are deployed, you can delete both placeholder VMs, and PPG associated with it.

NOTE: Deleting the PPG will not affect the AVG, as volumes have already been provisioned.

5 - Create HANA VMs in a zonal deployment (without PPG)

You can now create HANA VMs in a zonal deployment without the need for PPG and mount the ANF AVG volumes. For cross zonal deployment of SAP HANA system, we advise you to create a flexible scale set with FD=1 and manually deploy VM in a flexible scale set within the specified zone.

 

  1. Create flexible scale set with FD=1 as described in Virtual Machine Scale Sets for SAP workload.

  2. Once you have created the flexible virtual machine scale set, you can create a virtual machine by following the quick start guide. When configuring the virtual machine, be sure to select "virtual machine scale set" under availability options and choose the flexible scale set you created. The portal would list all the zones that you included when creating the flexible scale set, so you can select the desired availability zone for your VM. (Example, hdb01 VM in zone 1, and hdb02 VM in zone 3).

  3. Login into each VM and mount the respective ANF AVG volumes.

  4. For the highly available SAP HANA system, follow respective guide based on the distros.

    SLES: High availability of SAP HANA Scale-up with ANF on SLES

    RHEL: High availability of SAP HANA Scale-up with ANF on RHEL

Updated Mar 31, 2025
Version 2.0

1 Comment

  • Hi Dennis, thanks for this excellent post. There are two recommendations to follow (and preferably add to the post):

     

    1) "You can use any VM SKU size for the placeholder VM, but it is recommended to use the same VM SKU size as your SAP HANA VM to prevent any potential AVG failure error. The AVG workflow is looking for T1 or T2 storage to network proximity. If this constraint cannot be fullfilled with the selected placeholder VM, the AVG deployment will fail. Specifically M-series v2 VMs are mostly placed close to Azure NetApp Files as mentioned in https://learn.microsoft.com/azure/azure-netapp-files/application-volume-group-considerations#best-practices-about-proximity-placement-groups and therefore are ideal as placeholder VM."

     

    2) Suggest to add the following note:

    "Ensure that this placeholder VM is started and running during the entire application volume group creation process."