Changing the VHD drive size


Hi Daryl,
I'm just working in a command line tool to make this process more easy (the command line tool will be called by a future admin web app published on the default site of the webroles, that will serve management utilities). The summary of the process should be:
1) Create a resized VHD of the current served VHD: the command line tool will do it on this steps automatically:
Create a snapshot of the current VHD and mount it locally on the SMB server for read only (i.e. Drive W)
Create a new empty and resized VHD and mount it locally on the SMB server (i.e. Drive Y)
Copy the contents from drive W to drive Y
Unmount drive W and Y, and delete the snapshot created on step 1
2) Deploy on staging: deploy on staging the DNN Azure accelerator package. The service configuration file targets the new resized VHD
3) VIP Swap: push the button "Swap VIP" to change the Virtual IPs (production-staging)
This approach should:
Ensure No downtime: the VIP swap ensures the all the web requests will be served and no downtime;
Ensure No data loss: as the copy-contents process is an standalone process and the risk of using node's local storage disappears (my advice is if you are copying things to the node's local storage, download a copy of the zipped contents to another location)
The command line tool is very easy to create. I'm thinking on the creation of this an more tools that will be available at "X:\utils" folder on the VHD. I'll create a workitem for this and put it on the roadmap.
Thanks for feedback!


davidjrh wrote Mar 6, 2013 at 6:18 PM

The research done by Maarten Balliauw seems to be the definitive solution for resizing the VHD (read this post http://blog.maartenballiauw.be/post/2013/01/07/Tales-from-the-trenches-resizing-a-Windows-Azure-virtual-disk-the-smooth-way.aspx)

Going to include the feature on the Accelerator this way.