Change your performance tier without downtime using the Azure PowerShell module or the Azure CLI

Applies to: ✔️ Linux VMs ✔️ Windows VMs ✔️ Flexible scale sets

Note

This article focuses on how to change performance tiers. To learn how to change the performance of disks that don't use performance tiers, like Ultra Disks or Premium SSD v2, see either Adjust the performance of an ultra disk or Adjust disk performance of a Premium SSD v2

The performance of your Azure managed disk is set when you create your disk, in the form of its performance tier. The performance tier determines the IOPS and throughput your managed disk has. When you set the provisioned size of your disk, a performance tier is automatically selected. The performance tier can be changed at deployment or afterwards, without changing the size of the disk and without downtime. To learn more about performance tiers, see Performance tiers for managed disks.

Changing your performance tier has billing implications. See Billing impact for details.

Restrictions

  • This feature is currently supported only for premium SSD managed disks.
  • Performance tiers of shared disks can't be changed while attached to running VMs.
    • To change the performance tier of a shared disk, stop all the VMs it's attached to.
  • The P60, P70, and P80 performance tiers can only be used by disks that are larger than 4,096 GiB.
  • A disk's performance tier can be downgraded only once every 12 hours.
  • The system does not return Performance Tier for disks created before June 2020. You can take advantage of Performance Tier for an older disk by updating it with the baseline Tier.

Prerequisites

Install the latest Azure CLI and sign in to an Azure account with az login.

Create an empty data disk with a tier higher than the baseline tier

subscriptionId=<yourSubscriptionIDHere>
resourceGroupName=<yourResourceGroupNameHere>
diskName=<yourDiskNameHere>
diskSize=<yourDiskSizeHere>
performanceTier=<yourDesiredPerformanceTier>
region=westcentralus

az account set --subscription $subscriptionId

az disk create -n $diskName -g $resourceGroupName -l $region --sku Premium_LRS --size-gb $diskSize --tier $performanceTier

Create an OS disk with a tier higher than the baseline tier from an Azure Marketplace image

resourceGroupName=<yourResourceGroupNameHere>
diskName=<yourDiskNameHere>
performanceTier=<yourDesiredPerformanceTier>
region=westcentralus
image=Canonical:UbuntuServer:18.04-LTS:18.04.202002180

az disk create -n $diskName -g $resourceGroupName -l $region --image-reference $image --sku Premium_LRS --tier $performanceTier

Update the tier of a disk without downtime

  1. Update the tier of a disk even when it is attached to a running VM

    resourceGroupName=<yourResourceGroupNameHere>
    diskName=<yourDiskNameHere>
    performanceTier=<yourDesiredPerformanceTier>
    
    az disk update -n $diskName -g $resourceGroupName --set tier=$performanceTier
    

Show the tier of a disk

az disk show -n $diskName -g $resourceGroupName --query [tier] -o tsv

Next steps

If you need to resize a disk to take advantage of the higher performance tiers, see these articles: