Your choice in .VHD files, and what it implies (So many questions. So little time. Part 36)

Jeanne asked two questions at our TechNet Event a couple of weeks ago:

Evaluate the Private Cloud

So.. in question #1 you’re asking about the implications of using one particular .VHD (virtual hard disk) disk type; Fixed, Differencing, or Dynamic.  To answer that question, first let me take a minute to describe what these types are.  I’ll point to some benefits and weaknesses, and then I’ll point you to some documentation on what the performance impacts are.

First of all you should understand that when you create a VHD file you have three choices.  Two of these choices concern the difference between what the virtual machine or file system thinks it has when compared the actual file of the disk, and one has to do with a linked relationship between disks.

Fixed: This is a disk that, to the file system using it, believes it is a certain size.. and that size matches the actual size of the .VHD file.  So if I create a virtual disk for a virtual machine that believes it has 40GB on its C: drive, the .VHD file is approximately 40GB in size.

Dynamic: This is in contrast to the Fixed-type disk.  In this case, the operating system or file system sees 40GB in the disk, but the size of the .VHD file starts small and grows dynamically as more information is added to it; potentially growing to the full capacity eventually.

Differencing: This is a parent/child relationship.  Or a grandparent/parent/child relationship.  Or a great-grandparent/grandparent/parent/child relatio…

“Get on with it!”

Sorry.  The idea is that you have a .VHD that is a basis, or starting point of content for a new child disk.  Let’s say the .VHD that is going to be the parent is a fully installed and sysprep’d copy of an operating system.  So it’s ready for duplication.  Then you create differencing disks that refer to the common parent.  Those new machines based on the parent will all have the contents of the parent, plus whatever changes gets written in the child; or in the lowest-most disk in the chain of differencing disks.  IMPORTANT: Once you have based one or more children off of a parent disk, the parent .VHD file must never be modified.  If it is, any disk that they are based on becomes invalid and won’t work. 

“What’s the benefit, then, of differencing disks?”

Mainly there are two benefits:

  1. It’s potentially a quick way to create new machines off of a pre-installed, up-to-date operating system installation.  For example, in my 3-part screencast series on the System Center 2012 Unified Installer, I created all 8 of my virtual machines from the same parent disk.
  2. It’s a huge savings in space.  Differencing disks are dynamic disks that start out small and grows with any changes or additions to the system using it, so it’s easier to fit many more virtual machines in limited space.  In my case, the main place I like to put my virtual machines is a 160GB SSD.  I put my parent on a separate drive, and this way I can fit more new machines on that SSD. 

So what are the performance implications of these options, Kevin?” 

Of course, the more disk operations that are required, the more performance can be degraded.  The .VHD file option with the smallest impact in performance is a Fixed size disk.  (I mention .VHD File option because you do have the ability to run a virtual machine on a “Pass-thru” disk – which is pointing to an actual file or storage system location for the virtual machine to use as its disks.  That is even more efficient than .VHD files in terms of performance; but you lose the big benefits of flexibility and transportability that a virtual machine running off of file system objects gives you).  Next would be Dynamic Disks.  Operations to grow the disk add overhead when it’s required.  The same can be said for differencing disks, because as I mentioned above, your child disk is essentially a dynamic disk.  Changes that would have otherwise been written to the parent are being committed in the child, and that child .VHD file will grow as needed.

“Where can I go to get more detailed information?  Is there anything like, say, a ‘Windows Server 2008 R2 Hyper-V Virtual Hard Disk Performance Whitepaper’?”

As a matter of fact, there is exactly something like that:  ‘Windows Server 2008 R2 Hyper-V Virtual Hard Disk Performance Whitepaper’  Enjoy.

In question #2, you are looking for a small-business equivalent of System Center 2012’s Service Manager component; something along the lines of Microsoft’s System Center Essentials, but with some (or all) of the functionality of Service Manager. 

I’m afraid that doesn’t exist.  At least not from Microsoft.  What happens in the future I don’t know and can’t speculate on, but for now, I don’t know of a product for small-to-midsized businesses that does what Service Manager does.

In case you’re interested in System Center Essentials, check out these resources:

I hope that helps.  Let me know.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s