RANT: VMDKs or VHDs ; Why do I have to Choose?!?

Virtual Disks.  They are single file containers that hold entire file systems within them (think of the Galaxy Marbles in Men in Black!)  Operating systems blissfully run within them without any knowledge of the outside hypervisors. 🙂 Very nice from a management perspective.  Need a quick backup, just copy the file and you are good to go.  Need an exact byte by byte copy of that server’s C drive, just copy the file and you are good to go.  Very useful and tidy in their current form.

One of the more annoying things for me that has come out of the Hypervisor Wars between Microsoft, VMware and Citrix is the 2 different standards of Virtual Disk file formats.  Microsoft and Citrix have standardized on Virtual Hard Disks(VHDs) while VMware was first to release their Virtual Machine Disks (VMDKs).  In my opinion, there is no real difference between the two formats.  Operationally though, they are incompatible.  I think in most other scenarios, this might be acceptable since most users would choose a hypervisor and run with it.  Even changing between the hypervisors isn’t too difficult with the availability of various conversion tools and methods.  I take issue with the whole situation when I am using solutions that run various products concurrently which are now leveraging the different (and incompatible) formats.

Take for example a common VDI solution leveraging Citrix Provisioning Services with Citrix XenDesktop running on top of VMware’s vSphere platform.  Citrix Provisioning leverages vDisks (VHDs) to stream an Operating System to a XenDesktop target running as a vSphere Virtual Machine (VMDK).  Everything is fine until you realize how GREAT it would be to mount that VHD directly in ESX to make some modifications to it (Update VM Tools or a NIC driver).  Can’t do it unless you go through a kludge process of converting the VHD to VMDK and then back again.  Under Citrix XenServer and Microsoft Hyper-V, mounting that VHD is a simple supported process.  Even Windows 7 can now directly boot VHDs!

As I create a mental tally in my head, I am currently counting more products out there that are leveraging the VHD format than the VMDK format.  VHDs are and will continue to be an excellent way to evaluate the newest Microsoft Back Office software.

I’m definitely not advocating that VMware change it’s file format from VMDK to VHD but would love to see them begin to support VHDs natively.  It’s not enough to convert them on the fly to VMDKs since sometimes I need to bring them back to their original programs (i.e. Citrix Provisioning Services).

Come on VMware!