Modifying the VHD?

Sep 2, 2011 at 10:46 PM

Hey David,

Do you know of any ways in which I can modify the VHD file that contains my DNN installation via standard windows explorer? I've tried stopping the SMB role, downloading the .vhd, mounting it on my dev machine, editting it, uploading the .vhd back into blob storage and starting the SMB agian, but I get an error saying "BLOB_NOT_PAGE_BLOB"; basically, the .vhd is no longer a page blob at this point and thus can't be mounted.

Do you have any thoughts on how I could get this to work?

Cheers,

Daryl

Coordinator
Sep 3, 2011 at 12:27 PM
Edited Sep 3, 2011 at 1:11 PM

Hi Daryl,

Effectively, you need a tool that can upload "page blobs" instead of a "block blob", that is your issue.  I've some solutions for you:

1) Use the original command line tool "AccelCon.exe" that was inside the previous DNN Azure Accelerator. As this is not included in the last build, I've uploaded it to https://intelequia.blob.core.windows.net/downloads/AccelCon.zip. You can use this syntax to upload the VHD: "accelcon.exe /u /v ".\DotNetNuke.vhd" "azure-accelerator-drives/dotnetnuke.vhd"

2) Use a graphical tool. Cerebrata is working on a specific tool for this that to date is free: Azure Page Blob Manager (is still in beta and you can download it). There are a lot of interesting features, like viewing the VHD contents that is currently mounted without dismount it (I suppose that uses a snapshot for that). http://www.cerebrata.com/Blog/post/Azure-Page-Blob-Manager-A-utility-for-managing-Windows-Azure-Page-Blobs-and-Azure-Drives.aspx

3) Why download the VHD? If you enable RDP, you can copy/paste contents. When I need to upgrade the contents (i.e. when a new upgrade release is delivered), I: 1) connect via RDP to one instance 2) navigate to Codeplex and download the upgrade package (web navigation is enabled inside the roles) 3) extract the update into the drive. I usually copy the contents to another folder (for backup purposes) and execute and create a copy of the database (T-SQL: create database … as copy of …), so I can repeat/regress the process quickly is something fails. I do all this work via RDP. In order to enable RDP, at this moment you need to recompile the package (see documentation), but I highly recommend it for this and other purposes.

Some new features will be announced respect to this on the next release, so stay tuned :)

Regards,

David Rodriguez

P.S. I've just wrote a blog entry about this on http://t.co/iqVPsjx Thanks for feedback.

Sep 6, 2011 at 6:14 PM
Edited Sep 6, 2011 at 8:07 PM

Hey David,

Thanks a bunch for the great info!! I'll give it a shot and report back my results.

Edit: I choose to do the RDP route. I did a rebuild from the source code and uploaded it without much trouble. Using RDP to modify the VHD is working like a charm! Thanks again!