Attach disk pools to Azure VMware Solution hosts

Azure disk pools offer persistent block storage to applications and workloads backed by Azure Disks. You can use disks as the persistent storage for Azure VMware Solution for optimal cost and performance. For example, you can scale up by using disk pools instead of scaling clusters if you host storage-intensive workloads. You can also use disks to replicate data from on-premises or primary VMware vSphere environments to disk storage for the secondary site. To scale storage independent of the Azure VMware Solution hosts, we support surfacing ultra disks, premium SSD and standard SSD as the datastores.


We are officially halting the preview of Azure Disk Pools, and it will not be made generally available. New customers will not be able to register the Microsoft.StoragePool resource provider on their subscription and deploy new Disk Pools. Existing subscriptions registered with Microsoft.StoragePool may continue to deploy and manage disk pools for the time being.

Azure managed disks are attached to one iSCSI controller virtual machine deployed under the Azure VMware Solution resource group. Disks get deployed as storage targets to a disk pool, and each storage target shows as an iSCSI LUN under the iSCSI target. You can expose a disk pool as an iSCSI target connected to Azure VMware Solution hosts as a datastore. A disk pool surfaces as a single endpoint for all underlying disks added as storage targets. Each disk pool can have only one iSCSI controller.

The diagram shows how disk pools work with Azure VMware Solution hosts. Each iSCSI controller accesses managed disk using a standard Azure protocol, and the Azure VMware Solution hosts can access the iSCSI controller over iSCSI.

Diagram showing how disk pools work with Azure VMware Solution hosts.

Supported regions

You can only connect the disk pool to an Azure VMware Solution private cloud in the same region. For a list of supported regions, see Regional availability. If your private cloud is deployed in a non-supported region, you can redeploy it in a supported region. Azure VMware Solution private cloud and disk pool colocation provide the best performance with minimal network latency.


  • Scalability and performance requirements of your workloads are identified. For details, see Planning for Azure disk pools.

  • Azure VMware Solution private cloud deployed with a virtual network configured. For more information, see Network planning checklist and Configure networking for your VMware private cloud.

    • If you select ultra disks, use an Ultra Performance ExpressRoute virtual network gateway for the disk pool network connection to your Azure VMware Solution private cloud and then enable ExpressRoute FastPath.

    • If you select premium SSDs or standard SSDs, use a Standard (1 Gbps) or High Performance (2 Gbps) ExpressRoute virtual network gateway for the disk pool network connection to your Azure VMware Solution private cloud.

  • You must use Standard_DS##_v3 to host iSCSI. If you encounter quota issues, request an increase in vCPU quota limits per Azure VM series for Dsv3 series.

  • Disk pool as the backing storage deployed and exposed as an iSCSI target with each disk as an individual LUN. For details, see Deploy an Azure disk pool.


    The disk pool must be deployed in the same subscription as the VMware cluster, and it must be attached to the same VNET as the VMware cluster.

Add a disk pool to your private cloud

You'll attach to a disk pool surfaced through an iSCSI target as the VMware datastore of an Azure VMware Solution private cloud.


While in Public Preview, only attach a disk pool to a test or non-production cluster.

Check if the subscription is registered to Microsoft.AVS.

az provider show -n "Microsoft.AVS" --query registrationState

If it's not already registered, then register it.

az provider register -n "Microsoft.AVS"

Check if the subscription is registered to CloudSanExperience AFEC in Microsoft.AVS.

az feature show --name "CloudSanExperience" --namespace "Microsoft.AVS"

If it's not already registered, then register it.

az feature register --name "CloudSanExperience" --namespace "Microsoft.AVS"

The registration may take approximately 15 minutes to complete, you can use the following command to check status:

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


If the registration is stuck in an intermediate state for longer than 15 minutes to complete, unregister and then re-register the flag.

az feature unregister --name "CloudSanExperience" --namespace "Microsoft.AVS"
az feature register --name "CloudSanExperience" --namespace "Microsoft.AVS"

Check if the vmware extension is installed.

az extension show --name vmware

If the extension is already installed, check if the version is 3.0.0. If an older version is installed, update the extension.

az extension update --name vmware

If it's not already installed, install it.

az extension add --name vmware

Attach the iSCSI LUN

Create and attach an iSCSI datastore in the Azure VMware Solution private cloud cluster using Microsoft.StoragePool provided iSCSI target. The disk pool attaches to a virtual network through a delegated subnet, which is done with the Microsoft.StoragePool/diskPools resource provider. If the subnet isn't delegated, the deployment fails.

#Initialize input parameters

az vmware datastore disk-pool-volume create --name $name --resource-group $resourceGroupName --cluster $cluster --private-cloud $privateCloud --target-id /subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/ResourceGroup1/providers/Microsoft.StoragePool/diskPools/mpio-diskpool/iscsiTargets/mpio-iscsi-target --lun-name $lunName


You can display the help on the datastores.

az vmware datastore -h

To confirm that the attach succeeded, you can use the following commands:

Show the details of an iSCSI datastore in a private cloud cluster.

az vmware datastore show --name MyCloudSANDatastore1 --resource-group MyResourceGroup --cluster -Cluster-1 --private-cloud MyPrivateCloud

List all the datastores in a private cloud cluster.

az vmware datastore list --resource-group MyResourceGroup --cluster Cluster-1 --private-cloud MyPrivateCloud

Disconnect a disk pool from your private cloud

When you disconnect a disk pool, the disk pool resources aren't deleted. There's no maintenance window required for this operation. But, be careful when you do it.

First, power off the VMs and remove all objects associated with the disk pool datastores, which includes:

  • VMs (remove from inventory)

  • Templates

  • Snapshots

Then, delete the private cloud datastore.

  1. Navigate to your Azure VMware Solution in the Azure portal.
  2. Select Storage under Manage.
  3. Select the disk pool you want to disconnect from and select Disconnect.

Screenshot of the Azure VMware Solution storage page, list of attached disk pools with disconnect highlighted.

Next steps

Now that you've attached a disk pool to your Azure VMware Solution hosts, you may want to learn about:

  • Managing an Azure disk pool. Once you've deployed a disk pool, there are various management actions available to you. You can add or remove a disk to or from a disk pool, update iSCSI LUN mapping, or add ACLs.

  • Deleting a disk pool. When you delete a disk pool, all the resources in the managed resource group are also deleted.

  • Disabling iSCSI support on a disk. If you disable iSCSI support on a disk pool, you effectively can no longer use a disk pool.

  • Moving disk pools to a different subscription. Move an Azure disk pool to a different subscription, which involves moving the disk pool itself, contained disks, managed resource group, and all the resources.

  • Troubleshooting disk pools. Review the common failure codes related to Azure disk pools (preview). It also provides possible resolutions and some clarity on disk pool statuses.