Introducing the preview of direct-upload to Azure managed disks
We are excited to announce the preview of direct-upload to Azure managed disks. Today, there are two ways you can bring your on-premises VHD files to Azure as managed disks:
- Stage the VHD into a storage account before converting them into managed disks
- Attach an empty managed disk to a VM and do copy.
Both these ways have disadvantage. The first option requires extra storage account to manage while the second option has extra cost of running virtual machine. Direct-upload addresses both these issues and provides a simplified workflow by allowing copy of your on-premises VHD into an empty managed disk. You can use it to upload to Standard HDD, Standard SSD, and Premium SSD managed disks of all the supported sizes.
If you are an independent software vendor (ISV) providing backup solution for IaaS virtual machines in Azure, we recommend you leverage direct-upload to restore your customers’ backups to managed disks. It will help simplify the restore process by getting away from storage account management. Our Azure Backup support for large managed disks is powered by direct-upload. It uses direct-upload to restore large managed disks.
For increased productivity, Azure Storage Explorer also added support for managed disks. It exposes direct-upload via an easy-to-use graphical user interface (GUI), enabling you to migrate your local VHD files to managed disks in few clicks. Moreover, it also leverages direct-upload to enable you to copy and migrate your managed disks seamlessly to another Azure region. This cross-region copy is powered by AzCopy v10 which is designed to support large-scale data movement in Azure.
If you choose to use Azure Compute Rest API or SDKs, you must first create an empty managed disk by setting the createOption property to Upload and the uploadSizeBytes property to match the exact size of the VHD being uploaded.
Rest API
{ "location": "WestUS2", "properties": { "creationData": { "createOption": "Upload", "uploadSizeBytes": 10737418752 } } }
Azure CLI
az disk create -n mydiskname -g resourcegroupname -l westus2 --for-upload --upload-size-bytes 10737418752 --sku standard_lrs
You must generate a writeable SAS for the disk, so you can reference it as the destination for your upload.
az disk grant-access -n mydiskname -g resourcegroupname --access-level Write --duration-in-seconds 86400
Use AzCopy v10 to upload your local VHD file to the empty managed disk by specifying the SAS URI you generated.
AzCopy copy "c:somewheremydisk.vhd" "SAS-URI" --blob-type PageBlob
After the upload is complete, and you no longer need to write any more data to the disk, revoke the SAS. Revoking the SAS will change the state of the managed disk and allow you to attach the disk to a virtual machine.
az disk revoke-access -n mydiskname -g resourcegroupname
Supported regions
All regions are supported via Azure Compute Rest API version 2019-03-01, latest version of Azure CLI, Azure PowerShell SDK, Azure .Net SDK, AzCopy v10 and Storage explorer.
Getting started
- Upload a vhd to Azure using Azure PowerShell and AzCopy v10
- Upload a vhd to Azure using Azure CLI and AzCopy v10
- Upload, download, cross-region copy managed disks using Azure Storage Explorer
Source: Azure Blog Feed