Using Azure ultra disks

This article explains how to deploy and use an ultra disk, for conceptual information about ultra disks, refer to What disk types are available in Azure?.

Azure ultra disks offer high throughput, high IOPS, and consistent low latency disk storage for Azure IaaS virtual machines (VMs). This new offering provides top of the line performance at the same availability levels as our existing disks offerings. One major benefit of ultra disks is the ability to dynamically change the performance of the SSD along with your workloads without the need to restart your VMs. Ultra disks are suited for data-intensive workloads such as SAP HANA, top tier databases, and transaction-heavy workloads.

GA scope and limitations

For now, ultra disks have additional limitations, they are as follows:

The only infrastructure redundancy options currently available to ultra disks are availability zones. VMs using any other redundancy options cannot attach an ultra disk.

The following table outlines the regions ultra disks are available in, as well as their corresponding availability options:

Note

If a region in the following list has no ultra disk capable availability zones, then VMs in that region must be deployed without any infrastructure redundancy options in order to attach an ultra disk.

Regions Redundancy options
Brazil South Single VMs only (Availability sets and virtual machine scale sets are not supported)
Central India Single VMs only (Availability sets and virtual machine scale sets are not supported)
East Asia Single VMs only (Availability sets and virtual machine scale sets are not supported)
Germany West Central Single VMs only (Availability sets and virtual machine scale sets are not supported)
Korea Central Single VMs only (Availability sets and virtual machine scale sets are not supported)
South Central US Single VMs only (Availability sets and virtual machine scale sets are not supported)
US Gov Arizona Single VMs only (Availability sets and virtual machine scale sets are not supported)
US Gov Virginia Single VMs only (Availability sets and virtual machine scale sets are not supported)
West US Single VMs only (Availability sets and virtual machine scale sets are not supported)
Australia Central Single VMs only (Availability sets and virtual machine scale sets are not supported)
Australia East Three availability zones
Southeast Asia Three availability zones
Canada Central* Three availability zones
Central US Three availability zones
East US Three availability zones
East US 2 Three availability zones
France Central Two availability zones
Japan East Three availability zones
North Europe Three availability zones
UK South Three availability zones
West Europe Three availability zones
West US 2 Three availability zones

* Contact Azure Support to get access to Availability Zones for this region.

  • Are only supported on the following VM series:
  • Not every VM size is available in every supported region with ultra disks.
  • Are only available as data disks.
  • Support 4k physical sector size by default. 512E sector size is available as a generally available offering but, you must sign up for it. Most applications are compatible with 4k sector sizes but, some require 512 byte sector sizes. One example would be Oracle Database, which requires release 12.2 or later in order to support the 4k native disks. For older versions of Oracle DB, 512 byte sector size is required.
  • Can only be created as empty disks.
  • Doesn't currently support disk snapshots, VM images, availability sets, Azure Dedicated Hosts, or Azure disk encryption.
  • Doesn't currently support integration with Azure Backup or Azure Site Recovery.
  • Only supports un-cached reads and un-cached writes.
  • The current maximum limit for IOPS on GA VMs is 80,000.

Azure ultra disks offer up to 16 TiB per region per subscription by default, but ultra disks support higher capacity by request. To request an increase in capacity, contact Azure Support.

Determine VM size and region availability

VMs using availability zones

To leverage ultra disks, you need to determine which availability zone you are in. Not every region supports every VM size with ultra disks. To determine if your region, zone, and VM size support ultra disks, run either of the following commands, make sure to replace the region, vmSize, and subscription values first:

CLI

subscription="<yourSubID>"
# example value is southeastasia
region="<yourLocation>"
# example value is Standard_E64s_v3
vmSize="<yourVMSize>"

az vm list-skus --resource-type virtualMachines  --location $region --query "[?name=='$vmSize'].locationInfo[0].zoneDetails[0].Name" --subscription $subscription

PowerShell

$region = "southeastasia"
$vmSize = "Standard_E64s_v3"
$sku = (Get-AzComputeResourceSku | where {$_.Locations.Contains($region) -and ($_.Name -eq $vmSize) -and $_.LocationInfo[0].ZoneDetails.Count -gt 0})
if($sku){$sku[0].LocationInfo[0].ZoneDetails} Else {Write-host "$vmSize is not supported with Ultra Disk in $region region"}

The response will be similar to the form below, where X is the zone to use for deploying in your chosen region. X could be either 1, 2, or 3.

Preserve the Zones value, it represents your availability zone and you will need it in order to deploy an Ultra disk.

ResourceType Name Location Zones Restriction Capability Value
disks UltraSSD_LRS eastus2 X

Note

If there was no response from the command, then the selected VM size is not supported with ultra disks in the selected region.

Now that you know which zone to deploy to, follow the deployment steps in this article to either deploy a VM with an ultra disk attached or attach an ultra disk to an existing VM.

VMs with no redundancy options

Ultra disks deployed in select regions must be deployed without any redundancy options, for now. However, not every disk size that supports ultra disks may be in these region. To determine which disk sizes support ultra disks, you can use either of the following code snippets. Make sure to replace the vmSize and subscription values first:

subscription="<yourSubID>"
region="westus"
# example value is Standard_E64s_v3
vmSize="<yourVMSize>"

az vm list-skus --resource-type virtualMachines  --location $region --query "[?name=='$vmSize'].capabilities" --subscription $subscription
$region = "westus"
$vmSize = "Standard_E64s_v3"
(Get-AzComputeResourceSku | where {$_.Locations.Contains($region) -and ($_.Name -eq $vmSize) })[0].Capabilities

The response will be similar to the following form, UltraSSDAvailable True indicates whether the VM size supports ultra disks in this region.

Name                                         Value
----                                         -----
MaxResourceVolumeMB                          884736
OSVhdSizeMB                                  1047552
vCPUs                                        64
HyperVGenerations                            V1,V2
MemoryGB                                     432
MaxDataDiskCount                             32
LowPriorityCapable                           True
PremiumIO                                    True
VMDeploymentTypes                            IaaS
vCPUsAvailable                               64
ACUs                                         160
vCPUsPerCore                                 2
CombinedTempDiskAndCachedIOPS                128000
CombinedTempDiskAndCachedReadBytesPerSecond  1073741824
CombinedTempDiskAndCachedWriteBytesPerSecond 1073741824
CachedDiskBytes                              1717986918400
UncachedDiskIOPS                             80000
UncachedDiskBytesPerSecond                   1258291200
EphemeralOSDiskSupported                     True
AcceleratedNetworkingEnabled                 True
RdmaEnabled                                  False
MaxNetworkInterfaces                         8
UltraSSDAvailable                            True

Deploy an ultra disk using Azure Resource Manager

First, determine the VM size to deploy. For a list of supported VM sizes, see the GA scope and limitations section.

If you would like to create a VM with multiple ultra disks, refer to the sample Create a VM with multiple ultra disks.

If you intend to use your own template, make sure that apiVersion for Microsoft.Compute/virtualMachines and Microsoft.Compute/Disks is set as 2018-06-01 (or later).

Set the disk sku to UltraSSD_LRS, then set the disk capacity, IOPS, availability zone, and throughput in MBps to create an ultra disk.

Once the VM is provisioned, you can partition and format the data disks and configure them for your workloads.

Deploy an ultra disk

This section covers deploying a virtual machine equipped with an ultra disk as a data disk. It assumes you have familiarity with deploying a virtual machine, if you do not, see our Quickstart: Create a Windows virtual machine in the Azure portal.

  • Sign in to the Azure portal and navigate to deploy a virtual machine (VM).
  • Make sure to choose a supported VM size and region.
  • Select Availability zone in Availability options.
  • Fill in the remaining entries with selections of your choice.
  • Select Disks.

Screenshot of vm creation flow, basic blade.

  • On the Disks blade, select Yes for Enable Ultra Disk compatibility.
  • Select Create and attach a new disk to attach an ultra disk now.

Screenshot of vm creation flow, disk blade, ultra is enabled and create and attach a new disk is highlighted.

  • On the Create a new disk blade, enter a name, then select Change size.

    Screenshot of create a new disk blade, change size highlighted.

  • Change the Storage type to Ultra Disk.

  • Change the values of Custom disk size (GiB), Disk IOPS, and Disk throughput to ones of your choice.

  • Select OK in both blades.

    Screenshot of the select a disk size blade, ultra disk selected for storage type, other values highlighted.

  • Continue with the VM deployment, it will be the same as you would deploy any other VM.

Attach an ultra disk

Alternatively, if your existing VM is in a region/availability zone that is capable of using ultra disks, you can make use of ultra disks without having to create a new VM. By enabling ultra disks on your existing VM, then attaching them as data disks. To enable ultra disk compatibility, you must stop the VM. After you stop the VM, you may enable compatibility, then restart the VM. Once compatibility is enabled you can attach an ultra disk:

  • Navigate to your VM and stop it, wait for it to deallocate.
  • Once your VM has been deallocated, select Disks.
  • Select Edit.

Screenshot of an existing vm disk blade, edit is highlighted.

  • Select Yes for Enable Ultra Disk compatibility.

Screenshot of enable ultra disk compatibility.

  • Select Save.
  • Select Add data disk then in the dropdown for Name select Create disk.

Screenshot of disk blade, adding a new disk.

  • Fill in a name for your new disk, then select Change size.

  • Change the Account type to Ultra Disk.

  • Change the values of Custom disk size (GiB), Disk IOPS, and Disk throughput to ones of your choice.

    Screenshot of the select a disk size blade, ultra disk selected for storage type, other values highlighted.

  • Select OK then select Create.

  • After you are returned to your disk's blade, select Save.

  • Start your VM again.

Screenshot of the disks blade on your vm.

Adjust the performance of an ultra disk

Ultra disks offer a unique capability that allows you to adjust their performance. You can make these adjustments from the Azure portal, on the disks themselves.

  • Navigate to your VM and select Disks.
  • Select the ultra disk you'd like to modify the performance of.

Screenshot of disks blade on your vm, ultra disk is highlighted.

  • Select Configuration and then make your modifications.
  • Select Save.

Screenshot of configuration blade on your ultra disk, disk size, iops, and throughput are highlighted, save is highlighted.

Next steps