Migrating Data to Windows Azure Drives
A Windows Azure drive is a page blob, which contains an NTFS-formatted virtual hard drive (VHD). You can create a VHD on your computer, upload it to the blob storage or use the REST API to have Windows Azure create the blob, and mount the blob as an Azure drive on to the VM (associated with a compute node) running your application code. The VM has a device driver for file system that accepts file system I/O requests and translates them into operations on the VHD. If the machine fails, another machine can run the same code and mount the VHD accessing the data that was saved previously.
See Windows Azure Drives Whitepaper for a detailed overview of Windows Azure Drives.
Authors: Sreedhar Pelluru
Reviewers: Valery Mizonov, Kun Cheng, Steve Howard
Your Windows Azure applications in the cloud can use the existing NTFS APIs to access a Windows Azure drive. This makes it easier to migrate on-premises applications that use the NTFS API (or standard .NET Framework API such as FileStream) to store and access data on a file system to the Azure Platform with minimal changes to the code.
It is important to note that only one machine at a time can mount a Windows Azure drive for writing. Therefore, this feature is not for applications that are scaling out to multiple instances that require write access. However, it is possible for multiple VMs to mount a read-only (snapshot) version of the blob simultaneously.
If you require reliable durability of your data, want to share data between instances, or access your data outside of Windows Azure, use Windows Azure Table Service, Blob Service, or Windows Azure SQL Database instead of Azure Drive. If you want to share the data between instances with only one instance with the write access, consider using Azure Drives. See the comparison table in Migrating Data to Tables, Blobs, and Drives in Windows Azure for detailed comparison between these storages.
Uploading Data to Azure Drive
You can create a VHD with all the data, upload the VHD into a page blob, and mount the blob as a drive onto the VM (associated with a compute node) that hosts your application instance. The following tools can help you in this process.
VHD Upload Utility from Windows Azure Platform Training Kit helps you upload a VHD file to a page blob. Source code for this tool can be found in <WindowsAzurePlatformTrainingKit Folder>\Labs\ExploringWindowsAzureStorageVS2010\Source\Assets\VHDUpload folder.
Azure Drive Explorer enables you to manage your Windows Azure drives easily.
Cloud Storage Studio by Red Gate Software. It has a functionality that allows you to create empty page blobs or upload existing virtual hard drives (VHD) from your computer as page blobs which you can mount as Windows Azure drives later.