0

Xen and Virtualbox etc both support a range of different virtual machine image formats.

These are: vmdk, vdi, qcow & qcow2, hdd & vhd.

Without any bias toward a particular product, I'm wanting to know what are the advantages and disadvantages of the various formats both from a features perspective, robustness and speed?

One piece of info I discovered in a forum post was this:

"The major difference is that VDI uses relatively large blocks (1MB) when growing an image, and thus has less overhead for block pointers etc. but isn't ultimately space efficient in the sense that if a single byte is non-zero in such a 1MB block the entire space is used. VMDK in contrast uses 64K blocks, and thus has more management overhead and generally a bit less disk space consumption What offsets this is that VDI is more efficient when it comes to snapshots."

You might be thinking, I want to know this because I want to know which format to choose? Not exactly, I'm developing some software which utilises these formats and want to support one or more of them. Simplicity, large disks and ease of development are my main drivers.

3
  • 1
    Application design decisions aren't generally within our purview as system administrators. Sep 25, 2012 at 0:55
  • @Michael - however, this is the best place to ask as most of you will have had experience with using the formats across a range of products. I'm wanting to know what limitations, features each have.
    – hookenz
    Sep 25, 2012 at 1:34
  • 1
    In that case, please see the FAQ. Sep 25, 2012 at 1:51

1 Answer 1

2

Unless you have a reason to do otherwise always use the format native to the virtualisation product. If you are writing an application that interfaces with VM disk formats you should write it to work with all native formats for the virtualisation products you intend to support. Trying to use one format across all products is a bad idea, as not not all products will work with any one format very efficiently, resulting in less than optimal performance for those systems where the format is not native. Please don't force anyone to change formats just to support your application.

6
  • This sounds like a good answer, but you've misunderstood my reasoning. I'm not developing a tool. I can't actually reveal any more. A comparison between the formats is what I probably need.
    – hookenz
    Sep 25, 2012 at 1:33
  • 1
    This site is simply not a good place for this question, unfortunately. The best place to get details on vendors' virtual hard drive formats are from their own specs/documentation.
    – gWaldo
    Sep 25, 2012 at 1:41
  • I was hoping someone might point me to a feature matrix of the different formats. I couldn't find one. It looks like it doesn't exist (yet).
    – hookenz
    Sep 25, 2012 at 1:49
  • @Matt Largely because the formats move fast enough over their versions that such a matrix is only valid for a few months.
    – sysadmin1138
    Sep 25, 2012 at 2:23
  • @sysadmin1138 - You're wrong about that. Most formats haven't changed significantly for several years. VMDK has gone through 5 revisions (over several years), qcow has 2. Not every few months.
    – hookenz
    Sep 25, 2012 at 2:46

Not the answer you're looking for? Browse other questions tagged .