Skip to main content
Pure Technical Services

Implementation Guide: Plan and Deploy | Azure VMware Solution and Pure CBS

Currently viewing public documentation. Please login to access the full scope of documentation.




Step #1 - Azure VMware Solution Prerequisites



Prior to initializing an AVS deployment, a couple prerequisite steps must be completed. 

  • A support request must be logged in order to have AVS hosts allocated to the region or regions you will be using.  This request process can take up to 5 business days and the process for requesting a host quota depends on the kind of agreement in place.
    • If you are an Enterprise Agreement (EA) or Microsoft Customer Agreement (MCA) use this process.
    • If you are a Cloud Solution Provider (CSP) use this process.
  • You must register your Azure subscription with the AVS resource provider.  This can either be accomplished via the Azure GUI or via the Azure CLI. 
  • To register the AVS Resource Provider via the GUI, follow the below screenshots:

Start by navigating to the Subscription you wish to use with AVS.  From the Subscription window in Azure, select Resource Providers, search for microsoft.avs select it and then click on the Register button.


After a few minutes, you should see that the AVS Resource Provider has been registered.


  • Alternatively, to register the resource provider via the Azure CLI enter the following command:

az provider register -n Microsoft.AVS --subscription <your subscription ID>  

Step #2 - Azure VMware Solution Deployment

Azure provides instructions on how to deploy your AVS environment.  Those instructions can be found at this link and it should be reviewed for in-depth explanation of the various different components and requirements needed for a successful AVS deployment.  

The steps to deploy AVS via the Azure GUI can be summarized in a few screenshots below.

To start search for Azure VMware Solution within the Azure Marketplace.

When the AVS icon appears, click on the drop-down menu and select create.


The prerequisites for AVS deployment are shown in the first screen of the wizard and are covered in the previous section of this page.  Click on the Next: Prerequisites button to proceed.



The next screenshot shows the fields that need to be filled out to deploy AVS.  Fields are broken out individually below the screenshot. 


  1. Subscription:  The Azure Subscription that you have identified to use with CBS and AVS.  See the AVS Prerequisites section to confirm the AVS host allocation and AVS resource provider steps have been completed, otherwise the AVS deployment will not be able to proceed.
  2. Resource Group:  The Azure Resource Group you want to deploy AVS into.
  3. AVS Cluster Name:  The name of the AVS Cluster you want to use.
  4. Region:  The Region you want to deploy the AVS cluster into.  Make certain that the region you select has both an AVS host allocation assigned as described in the AVS prerequisites section and also has CBS support as shown in the Regional Support matrix at the start of this article.
  5. Size of Hosts:  There are multiple AVS host configurations available with varying amounts of CPU, RAM and local storage at differing price points and regional availability.  Please visit this link for more specifics.
  6. Numbers of Hosts:  An initial AVS cluster requires a minimum of 3 AVS hosts.
  7. AVS Private CIDR Block:  You must provide a non-overlapping CIDR block with a minimum /22 size that AVS will segregate into normal VMware services (e.g. VMware ESXi Management, vMotion, vSAN, etc..).  This range must not overlap with other networks in Azure and must fall within one of the allowed network blocks:, and

When filled out, click on the Next: Tags button on the bottom of the screen.

In the following window, you may optionally assign Azure tags to your deployment.  When complete, click on the Review and Create button at the bottom of the screen.


Upon your validation and review, click on the Create button to begin the deployment.  Note that a new AVS deployment will take anywhere from 3-5 hours to complete.


When the AVS deployment successfully builds, it is critical to determine what Azure Availability Zone (AZ) AVS was deployed into, so that Cloud Block Store can also be deployed within the same AZ.  Deployment of both products within the same AZ is an important best practice since Azure AZs within a region each have their  separate power, cooling and networking.  As such, deployment of CBS and AVS into the same AZ will minimize network hops between the two solutions.

To determine what AZ AVS was deployed into, first click on the AVS managed object in Azure:


From the AVS Overview screen, the AZ can be found in the highlighted area:


In this example AZ2 = Availability Zone 2.

Make sure to note down what Availability Zone AVS has been deployed into and move on to CBS deployment next.

The steps shown above about AVS deployment can be also be seen via this technical demo video:


Step #3 - Azure VMware Solution iSCSI Multipath IO (MPIO) and Run Command Preview Package Enablement

In order to provide maximum resiliency and performance between your AVS hosts and Cloud Block Store instance, it is required to enable iSCSI Multipath IO on your AVS instance.  In addition, VMFS-based libraries of AVS Run Commands must be published against your AVS deployment for the CBS integration to succeed. 

Enablement of both MPIO and AVS Run Commands are predicated on registering a few Azure features in a certain order.

The first feature flag that needs to be registered via the Azure CLI is:

az feature register --subscription {subscription-id} --namespace Microsoft.AVS --name earlyAccess

Note that this feature can take up to 1 hour to complete registration and it must be completed prior to moving on to the next step.

Status of the registration can be viewed via running the following command:

az feature show --namespace Microsoft.AVS --name earlyAccess --query properties.state

AVS ESXi hosts and Pure Cloud Block Store utilize the iSCSI block protocol to connect to one another.  A core best practice for using iSCSI in any VMware environment is to enabling Multipath IO (MPIO) as this feature will not only increase fault tolerance should a single iSCSI path go down but it also helps to improve performance by allowing storage traffic the ability to traverse multiple network paths between the Azure VMware Solution ESXi hosts and the Pure Cloud Block Store controller VMs.

iSCSI MPIO is a feature that must be enabled in order to function for your AVS instance.

To register the multipath feature from the Azure CLI, launch the command prompt and enter the following command:

az feature register --subscription {subscription-id} --namespace Microsoft.AVS --name iSCSIMultipath

This feature can also be added and viewed via the Azure Portal, by searching for Preview features, then filtering by iSCSI


If the feature is not in a Registered state as shown above, it can be registered by selecting it within the portal and clicking on the Register button.

Once the multipath feature has been successfully enabled, you will need to navigate to the AVS instance you want to use with CBS in the Azure portal, and then click on the following:

It is required that the /24 CIDR block you pick under item #3 in the above screenshot does not overlap with the /22 network that AVS was given when it was originally created.  Furthermore, that CIDR block also cannot overlap with any Azure vNET or on-premises networks that AVS is connected to.

Upon clicking save in the above window, AVS will add a couple of VMkernel ports to your existing AVS ESXi hosts, and those VMkernel ports are assigned IP addresses from the /24 CIDR block that you input via the screenshot above.  Once you’ve found a suitable CIDR range that fits that criteria, you simply need to enter it into the field above and AVS will automatically provision and get it setup after about 10-20 minutes.

Allow AVS VMFS Run Command Library

AVS utilizes a framework called Run Command to enable AVS administrators to accomplish typically restricted administrative tasks against your AVS vCenter instance.  Much more info on this management paradigm is covered in the last section of this guide.  In order for your Azure Subscription to have access to the appropriate Run Command Libraries and provision and manage storage with CBS, you are required to run a couple of Azure CLI commands.

The first step is to launch an Azure CLI session and this can be done via the Azure portal or via any machine with network access to your Azure subscription that also has the Azure CLI package installed.

Once you have an Azure CLI prompt, you need to enter the following two commands, replacing {subscription-id} with your own unique Azure Subscription ID:

az feature register --subscription {subscription-id} --namespace Microsoft.AVS --name scriptingPreview

It can take up to two hours for the appropriate Run Command libraries to appear in your AVS portal.  You can confirm this action completed successfully by running the following command:

az feature show --namespace Microsoft.AVS --name scriptingPreview --query properties.state

Completion of the feature registration can also be verified by navigating to your AVS instance in the Azure portal and clicking on the Run Command menu item:


For the AVS and CBS integration, we hardcode to certain versions of the Microsoft.AVS.VMFS library.  As of this writing, we currently leverage 1.0.77-dev or 1.0.109-preview.It is recommended to upgrade to the latest version of the PowerShell modules periodically for new features, functionalities and bug fixes.  
An upgrade to the Pure Storage Cloud Manager OVA can be performed via running the following two commands right after connecting to the OVA prior to launching a PowerShell session:

> puresw list

> puresw upgrade start pure-vmware-cloud-manager

Step #4 - Pure Cloud Block Store on Azure Implementation Guide


The Pure Cloud Block Store Implementation Guide for Azure includes all of the required steps and components needed for a successful deployment.  Please review and follow this guide in order to get CBS online and available.

During the CBS deployment process itself, it is important to select the same Availability Zone that Azure VMware Solution was deployed into.  Finding the Availability Zone for AVS is shown in the previous section of this guide.  There are a small subset of Azure Regions that do not have Availability Zones so this step may be ignored in those instances.

In the below CBS deployment screenshot, we select the same Availability Zone (2) as AVS in the example shown in the previous section.


With both AVS and CBS successfully deployed, we can now move on to the phase next of the deployment which is configuring and connecting the two solutions.

To view an example end-to-end deployment of Cloud Block Store on Azure for use with AVS, please check out the following technical demo video: