az disk
Manage Azure Managed Disks.
Azure Virtual Machines use disks as a place to store an operating system, applications, and data. All Azure virtual machines have at least two disks: An operating system disk, and a temporary disk. The operating system disk is created from an image, and both the operating system disk and the image are actually virtual hard disks (VHDs) stored in an Azure storage account. Virtual machines also can have one or more data disks, that are also stored as VHDs. Azure Unmanaged Data Disks have a maximum size of 4095 GB. To use disks larger than 4095 GB use Azure Managed Disks.
Commands
Name | Description | Type | Status |
---|---|---|---|
az disk create |
Create a managed disk. |
Core | GA |
az disk delete |
Delete a managed disk. |
Core | GA |
az disk grant-access |
Grant a resource access to a managed disk. |
Core | GA |
az disk list |
List managed disks. |
Core | GA |
az disk revoke-access |
Revoke a resource's read access to a managed disk. |
Core | GA |
az disk show |
Get information about a disk. |
Core | GA |
az disk update |
Update a managed disk. |
Core | GA |
az disk wait |
Place the CLI in a waiting state until a condition is met. |
Core | GA |
az disk create
Create a managed disk.
az disk create --name
--resource-group
[--accelerated-network {false, true}]
[--architecture {Arm64, x64}]
[--data-access-auth-mode {AzureActiveDirectory, None}]
[--disk-access]
[--disk-encryption-set]
[--disk-iops-read-only]
[--disk-iops-read-write]
[--disk-mbps-read-only]
[--disk-mbps-read-write]
[--edge-zone]
[--enable-bursting {false, true}]
[--encryption-type {EncryptionAtRestWithCustomerKey, EncryptionAtRestWithPlatformAndCustomerKeys, EncryptionAtRestWithPlatformKey}]
[--gallery-image-reference]
[--gallery-image-reference-lun]
[--hyper-v-generation {V1, V2}]
[--image-reference]
[--image-reference-lun]
[--location]
[--logical-sector-size]
[--max-shares]
[--network-access-policy {AllowAll, AllowPrivate, DenyAll}]
[--no-wait]
[--optimized-for-frequent-attach {false, true}]
[--os-type {Linux, Windows}]
[--performance-plus {false, true}]
[--public-network-access {Disabled, Enabled}]
[--secure-vm-disk-encryption-set]
[--security-data-uri]
[--security-type {ConfidentialVM_DiskEncryptedWithCustomerKey, ConfidentialVM_DiskEncryptedWithPlatformKey, ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey, Standard, TrustedLaunch}]
[--size-gb]
[--sku {PremiumV2_LRS, Premium_LRS, Premium_ZRS, StandardSSD_LRS, StandardSSD_ZRS, Standard_LRS, UltraSSD_LRS}]
[--source]
[--source-storage-account-id]
[--support-hibernation {false, true}]
[--tags]
[--tier]
[--upload-size-bytes]
[--upload-type {Upload, UploadWithSecurityData}]
[--zone]
Examples
Create a managed disk by importing from a blob uri.
az disk create -g MyResourceGroup -n MyDisk --source https://vhd1234.blob.core.windows.net/vhds/osdisk1234.vhd
Create an empty managed disk.
az disk create -g MyResourceGroup -n MyDisk --size-gb 10
Create an empty managed disk with bursting enabled.
az disk create -g MyResourceGroup -n MyDisk --size-gb 1024 --location centraluseuap --enable-bursting
Create a managed disk by copying an existing disk or snapshot.
az disk create -g MyResourceGroup -n MyDisk2 --source MyDisk
Create a disk in an availability zone in the region of "East US 2"
az disk create -g MyResourceGroup -n MyDisk --size-gb 10 --location eastus2 --zone 1
Create a disk from image.
az disk create -g MyResourceGroup -n MyDisk --image-reference Canonical:0001-com-ubuntu-server-jammy:22_04-lts-gen2:latest
Create a disk from the OS Disk of a compute gallery image version
az disk create -g MyResourceGroup -n MyDisk --gallery-image-reference /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.Compute/galleries/myGallery/images/myImage/versions/1.0.0
Create a disk from the OS Disk of the latest version in a compute gallery image
az disk create -g MyResourceGroup -n MyDisk --gallery-image-reference /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.Compute/galleries/myGallery/images/myImage
Create a disk from the OS Disk of a shared gallery image version
az disk create -g MyResourceGroup -n MyDisk --gallery-image-reference /SharedGalleries/sharedGalleryUniqueName/Images/imageName/Versions/1.0.0
Create a disk from the OS Disk of a community gallery image version
az disk create -g MyResourceGroup -n MyDisk --gallery-image-reference /CommunityGalleries/communityGalleryPublicGalleryName/Images/imageName/Versions/1.0.0
Create a disk from the Data Disk of a gallery image
az disk create -g MyResourceGroup -n MyDisk --gallery-image-reference /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.Compute/galleries/myGallery/images/myImage/versions/1.0.0 --gallery-image-reference-lun 0
Create a disk with total number of IOPS and total throughput (MBps) limitation.
az disk create -g MyResourceGroup -n MyDisk --size-gb 10 --sku UltraSSD_LRS --disk-iops-read-only 200 --disk-mbps-read-only 30
Create a disk and specify maximum number of VMs that can attach to the disk at the same time.
az disk create -g MyResourceGroup -n MyDisk --size-gb 256 --max-shares 2 -l centraluseuap
Create a disk and associate it with a disk access resource.
az disk create -g MyResourceGroup -n MyDisk --size-gb 10 --network-access-policy AllowPrivate --disk-access MyDiskAccessID
Create a disk from the blob URI for VM guest state VHD.
az disk create -g MyResourceGroup -n MyDisk --size-gb 10 --security-data-uri GuestStateDiskVhdUri --security-type TrustedLaunch --hyper-v-generation V2
Create a standard disk for uploading blobs.
az disk create -g MyResourceGroup -n MyDisk --upload-size-bytes 20972032 --upload-type Upload
Create an OS disk for uploading along with VM guest state.
az disk create -g MyResourceGroup -n MyDisk --upload-size-bytes 20972032 --upload-type UploadWithSecurityData --security-type TrustedLaunch --hyper-v-generation V2
Required Parameters
The name of the managed disk.
Name of resource group. You can configure the default group using az configure --defaults group=<name>
.
Optional Parameters
Customers can set on Managed Disks or Snapshots to enable the accelerated networking if the OS disk image support.
CPU architecture.
Specify the auth mode when exporting or uploading to a disk or snapshot.
Name or ID of the disk access resource for using private endpoints on disks.
Name or ID of disk encryption set that is used to encrypt the disk.
The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes.
The number of IOPS allowed for this disk. Only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes.
The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10.
The bandwidth allowed for this disk. Only settable for UltraSSD disks. MBps means millions of bytes per second with ISO notation of powers of 10.
The name of edge zone.
Enable on-demand bursting beyond the provisioned performance target of the disk. On-demand bursting is disabled by default, and it does not apply to Ultra disks.
Encryption type. EncryptionAtRestWithPlatformKey: Disk is encrypted with XStore managed key at rest. It is the default encryption type. EncryptionAtRestWithCustomerKey: Disk is encrypted with Customer managed key at rest.
ID of the Compute, Shared or Community Gallery image version from which to create a disk. For details about valid format, please refer to the help sample.
If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null.
The hypervisor generation of the Virtual Machine. Applicable to OS disks only.
ID or URN (publisher:offer:sku:version) of the image from which to create a disk.
If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null.
Location. Values from: az account list-locations
. You can configure the default location using az configure --defaults location=<location>
. If location is not specified and no default location specified, location will be automatically set as same as the resource group.
Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.
The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time.
Policy for accessing the disk via network.
Do not wait for the long-running operation to finish.
Setting this property to true improves reliability and performance of data disks that are frequently (more than 5 times a day) by detached from one virtual machine and attached to another. This property should not be set for disks that are not detached and attached frequently as it causes the disks to not align with the fault domain of the virtual machine.
The Operating System type of the Disk.
Set this flag to true to get a boost on the performance target of the disk deployed. This flag can only be set on disk creation time and cannot be disabled after enabled.
Customers can set on Managed Disks or Snapshots to control the export policy on the disk.
Name or ID of disk encryption set created with ConfidentialVmEncryptedWithCustomerKey encryption type.
Please specify the blob URI of VHD to be imported into VM guest state.
The security type of the VM. Applicable for OS disks only.
Size in GB. Max size: 4095 GB (certain preview disks can be larger).
Underlying storage SKU.
Source to create the disk/snapshot from, including unmanaged blob uri, managed disk id or name, or snapshot id or name.
Used when source blob is in a different subscription.
Indicate the OS on a disk supports hibernation.
Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags.
Performance tier of the disk (e.g, P4, S10) as described here: https://azure.microsoft.com/pricing/details/managed-disks/. Does not apply to Ultra disks.
The size (in bytes) of the contents of the upload including the VHD footer. Min value: 20972032. Max value: 35183298347520. This parameter is required if --upload-type is specified.
Create the disk for upload scenario. 'Upload' is for Standard disk only upload. 'UploadWithSecurityData' is for OS Disk upload along with VM Guest State. Please note the 'UploadWithSecurityData' is not valid for data disk upload, it only to be used for OS Disk upload at present.
Availability zone into which to provision the resource.
Global Parameters
Increase logging verbosity to show all debug logs.
Show this help message and exit.
Only show errors, suppressing warnings.
Output format.
JMESPath query string. See http://jmespath.org/ for more information and examples.
Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID
.
Increase logging verbosity. Use --debug for full debug logs.
az disk delete
Delete a managed disk.
az disk delete [--disk-name]
[--ids]
[--no-wait {0, 1, f, false, n, no, t, true, y, yes}]
[--resource-group]
[--subscription]
[--yes]
Examples
Delete a managed disk.
az disk delete --name MyManagedDisk --resource-group MyResourceGroup
Optional Parameters
The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters.
One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments.
Do not wait for the long-running operation to finish.
Name of resource group. You can configure the default group using az configure --defaults group=<name>
.
Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID
.
Do not prompt for confirmation.
Global Parameters
Increase logging verbosity to show all debug logs.
Show this help message and exit.
Only show errors, suppressing warnings.
Output format.
JMESPath query string. See http://jmespath.org/ for more information and examples.
Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID
.
Increase logging verbosity. Use --debug for full debug logs.
az disk grant-access
Grant a resource access to a managed disk.
az disk grant-access --duration-in-seconds
[--access-level {Read, Write}]
[--ids]
[--name]
[--resource-group]
[--secure-vm-guest-state-sas]
[--subscription]
Examples
Grant a resource read access to a managed disk. (autogenerated)
az disk grant-access --access-level Read --duration-in-seconds 3600 --name MyManagedDisk --resource-group MyResourceGroup
Grant a resource read access to a disk to generate access SAS and security data access SAS
az disk grant-access --access-level Read --duration-in-seconds 3600 --name MyDisk --resource-group MyResourceGroup --secure-vm-guest-state-sas
Required Parameters
Time duration in seconds until the SAS access expires.
Optional Parameters
Access level.
One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments.
The name of the managed disk.
Name of resource group. You can configure the default group using az configure --defaults group=<name>
.
Get SAS on managed disk with VM guest state. It will be used by default when the create option of disk is 'secureOSUpload'.
Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID
.
Global Parameters
Increase logging verbosity to show all debug logs.
Show this help message and exit.
Only show errors, suppressing warnings.
Output format.
JMESPath query string. See http://jmespath.org/ for more information and examples.
Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID
.
Increase logging verbosity. Use --debug for full debug logs.
az disk list
List managed disks.
az disk list [--max-items]
[--next-token]
[--resource-group]
Optional Parameters
Total number of items to return in the command's output. If the total number of items available is more than the value specified, a token is provided in the command's output. To resume pagination, provide the token value in --next-token
argument of a subsequent command.
Token to specify where to start paginating. This is the token value from a previously truncated response.
Name of resource group. You can configure the default group using az configure --defaults group=<name>
.
Global Parameters
Increase logging verbosity to show all debug logs.
Show this help message and exit.
Only show errors, suppressing warnings.
Output format.
JMESPath query string. See http://jmespath.org/ for more information and examples.
Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID
.
Increase logging verbosity. Use --debug for full debug logs.
az disk revoke-access
Revoke a resource's read access to a managed disk.
az disk revoke-access [--disk-name]
[--ids]
[--no-wait {0, 1, f, false, n, no, t, true, y, yes}]
[--resource-group]
[--subscription]
Examples
Revoke a resource's read access to a managed disk.
az disk revoke-access --ids $id
Revoke a resource's read access to a managed disk.
az disk revoke-access --name MyManagedDisk --resource-group MyResourceGroup
Optional Parameters
The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters.
One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments.
Do not wait for the long-running operation to finish.
Name of resource group. You can configure the default group using az configure --defaults group=<name>
.
Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID
.
Global Parameters
Increase logging verbosity to show all debug logs.
Show this help message and exit.
Only show errors, suppressing warnings.
Output format.
JMESPath query string. See http://jmespath.org/ for more information and examples.
Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID
.
Increase logging verbosity. Use --debug for full debug logs.
az disk show
Get information about a disk.
az disk show [--disk-name]
[--ids]
[--resource-group]
[--subscription]
Optional Parameters
The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters.
One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments.
Name of resource group. You can configure the default group using az configure --defaults group=<name>
.
Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID
.
Global Parameters
Increase logging verbosity to show all debug logs.
Show this help message and exit.
Only show errors, suppressing warnings.
Output format.
JMESPath query string. See http://jmespath.org/ for more information and examples.
Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID
.
Increase logging verbosity. Use --debug for full debug logs.
az disk update
Update a managed disk.
az disk update [--accelerated-network {false, true}]
[--add]
[--architecture {Arm64, x64}]
[--data-access-auth-mode {AzureActiveDirectory, None}]
[--disk-access]
[--disk-encryption-set]
[--disk-iops-read-only]
[--disk-iops-read-write]
[--disk-mbps-read-only]
[--disk-mbps-read-write]
[--enable-bursting {false, true}]
[--encryption-type {EncryptionAtRestWithCustomerKey, EncryptionAtRestWithPlatformAndCustomerKeys, EncryptionAtRestWithPlatformKey}]
[--force-string]
[--ids]
[--max-shares]
[--name]
[--network-access-policy {AllowAll, AllowPrivate, DenyAll}]
[--no-wait]
[--public-network-access {Disabled, Enabled}]
[--remove]
[--resource-group]
[--set]
[--size-gb]
[--sku {PremiumV2_LRS, Premium_LRS, Premium_ZRS, StandardSSD_LRS, StandardSSD_ZRS, Standard_LRS, UltraSSD_LRS}]
[--subscription]
Examples
Update a managed disk and associate it with a disk access resource.
az disk update --name MyManagedDisk --resource-group MyResourceGroup --network-access-policy AllowPrivate --disk-access MyDiskAccessID
Update a managed disk. (autogenerated)
az disk update --name MyManagedDisk --resource-group MyResourceGroup --size-gb 20
Optional Parameters
Customers can set on Managed Disks or Snapshots to enable the accelerated networking if the OS disk image support.
Add an object to a list of objects by specifying a path and key value pairs. Example: --add property.listProperty <key=value, string or JSON string>
.
CPU architecture.
Specify the auth mode when exporting or uploading to a disk or snapshot.
Name or ID of the disk access resource for using private endpoints on disks.
Name or ID of disk encryption set that is used to encrypt the disk.
The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes.
The number of IOPS allowed for this disk. Only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes.
The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10.
The bandwidth allowed for this disk. Only settable for UltraSSD disks. MBps means millions of bytes per second with ISO notation of powers of 10.
Enable on-demand bursting beyond the provisioned performance target of the disk. On-demand bursting is disabled by default, and it does not apply to Ultra disks.
Encryption type. EncryptionAtRestWithPlatformKey: Disk is encrypted with XStore managed key at rest. It is the default encryption type. EncryptionAtRestWithCustomerKey: Disk is encrypted with Customer managed key at rest.
When using 'set' or 'add', preserve string literals instead of attempting to convert to JSON.
One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments.
The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time.
The name of the managed disk.
Policy for accessing the disk via network.
Do not wait for the long-running operation to finish.
Customers can set on Managed Disks or Snapshots to control the export policy on the disk.
Remove a property or an element from a list. Example: --remove property.list <indexToRemove>
OR --remove propertyToRemove
.
Name of resource group. You can configure the default group using az configure --defaults group=<name>
.
Update an object by specifying a property path and value to set. Example: --set property1.property2=<value>
.
Size in GB. Max size: 4095 GB (certain preview disks can be larger).
Underlying storage SKU.
Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID
.
Global Parameters
Increase logging verbosity to show all debug logs.
Show this help message and exit.
Only show errors, suppressing warnings.
Output format.
JMESPath query string. See http://jmespath.org/ for more information and examples.
Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID
.
Increase logging verbosity. Use --debug for full debug logs.
az disk wait
Place the CLI in a waiting state until a condition is met.
az disk wait [--created]
[--custom]
[--deleted]
[--disk-name]
[--exists]
[--ids]
[--interval]
[--resource-group]
[--subscription]
[--timeout]
[--updated]
Optional Parameters
Wait until created with 'provisioningState' at 'Succeeded'.
Wait until the condition satisfies a custom JMESPath query. E.g. provisioningState!='InProgress', instanceView.statuses[?code=='PowerState/running'].
Wait until deleted.
The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters.
Wait until the resource exists.
One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments.
Polling interval in seconds.
Name of resource group. You can configure the default group using az configure --defaults group=<name>
.
Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID
.
Maximum wait in seconds.
Wait until updated with provisioningState at 'Succeeded'.
Global Parameters
Increase logging verbosity to show all debug logs.
Show this help message and exit.
Only show errors, suppressing warnings.
Output format.
JMESPath query string. See http://jmespath.org/ for more information and examples.
Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID
.
Increase logging verbosity. Use --debug for full debug logs.
Azure CLI