Best practices for VHDX: Dynamic vs. Fixed size disks

Hello,

We are in the middle of a project where we roll out about 500T of disk space literally all across the globe, all virtualized on Hyper-V 2012 using DAS storage. As you all can imagine, using dynamically expanding .vhdx disks would be a huge time-saver during the rollout.

However, I could not find any clear statement from MSFT that dynamically expanding .vhdx files are OK or recommended for production environments. Can anyone point me to a reliable source which I can use in official project documentation (i.e. MSFT whitepapers, best practice documents or the likes)?

Thanks in advance,

Volker

July 22nd, 2013 4:24pm

Hiya, 

Dynamically expanding disks are still not recommended for production use.

Windows Server 2012 Hyper-V Best Practices (In Easy Checklist Form)
http://blogs.technet.com/b/askpfeplat/archive/2013/03/10/windows-server-2012-hyper-v-best-practices-in-easy-checklist-form.aspx

That said, I would make it a case by case decision and still go for a dynamically expanding disk where best guess would indicate it made sense. If I'm not mistaken, you can move between the different types. Fixed to Dynamic and vice-versa. 

Free Windows Admin Tool Kit Click here and download it now
July 22nd, 2013 10:19pm

Hi Volker,

in general dynamic VHDs are not recommendable. First they are slower than fixed disks, second you have to be careful with the placement of your VMs, not to overcommit the physical disk drives. If you overcommit them and the disks run out of space, you'll see all your VMs in a saved-critical state until more space is available.

On the other side, for this kind of rollouts dynamic VHDs are really nice, because they are smaller.

What I do usually is the following:
- Create new machines or templates with dynamic disks
- Distribute them to remote offices
- Convert the disks there to fixed

Doing so can save you a lot of time.

Best Regards,
Jens

July 22nd, 2013 11:21pm

Thanks for your link. The link when reasoning for using fixed sized .vhdx in that blog post lead to something completely unrelated ;) (differential .vhd files). However, in the comments, I found a reference by another reader to this document: http://msdn.microsoft.com/en-us/library/windows/hardware/jj248719.aspx (Performance tuning guidelines for Windows Server 2012) which states (among lots of other valuable insight):

  • When using the VHD format, we recommend that you use the fixed type because it has better resiliency and performance characteristics compared to the other VHD file types. 
  • When using the VHDX format, we recommend that you use the dynamic type because it offers resiliency guarantees in addition to space savings that are associated with allocating space only when there is a need to do so. 

This leads me to the conclusion, that using dynamically expanding .vhdx in production should be fine.

Free Windows Admin Tool Kit Click here and download it now
July 22nd, 2013 11:42pm

Hello Jens,

I just found out that MSFT thinks that dynamically expanding .vhdx are fine after all ;) See my other post in that thread for details.

Best regards,

Volker

July 22nd, 2013 11:43pm

Hi Volker,

the only thing not mentioned here is the possible overcommitment. Trust me, I had the case that a CSV in a productive Hyper-V Cluster was running out of disk space (because of dynamic VHDs).

So in case you go for that, Monitor your disk space and be absolutely sure not to overcommit.

Best Regards,
Jens

Free Windows Admin Tool Kit Click here and download it now
July 22nd, 2013 11:47pm

You plan as if you are using fixed disks, but you implement as appropriate for the technology.

From what I have seen in these forums over the years, many folks run into the dynamic disk and space issue because:

1) they don't cap the size of the dynamic VHD the same as if they were using fixed disks.

2) they provision more VMs than planned / designed for

3) snapshots

4) not counting the additional storage for the failback .BIN running memory state of the VMs

Or any combination of the above.

July 22nd, 2013 11:52pm

Hello Jens,

we are monitoring quite closely (Nagios/Cacti), and as we are building a (hopefully) well designed and standardized platform I think that the risk of overcommitment is quite small.

Thanks for your input,

Volker

Free Windows Admin Tool Kit Click here and download it now
July 22nd, 2013 11:55pm

You plan as if you are using fixed disks, but you implement as appropriate for the technology.

That's exactly what we are going to do. This is a closely guarded platform we are building for ourselves, so I don't think we will run into the issue of overcommitment. Every design change has to go through a committee - which is prudent, because we are implementing that on about 130 servers in 65 locations literally around the world.

Thanks for your input.

July 22nd, 2013 11:58pm

Hello,

We are in the middle of a project where we roll out about 500T of disk space literally all across the globe, all virtualized on Hyper-V 2012 using DAS storage. As you all can imagine, using dynamically expanding .vhdx disks would be a huge time-saver during the rollout.

However, I could not find any clear statement from MSFT that dynamically expanding .vhdx files are OK or recommended for production environments. Can anyone point me to a reliable source which I can use in official project documentation (i.e. MSFT whitepapers, best practice documents or the likes)?

Thanks in advance,

Volker

Stick with fixed VHDX for production. Dynamic VHDX will create a highly fragmented environment (esp. in case of a huge number of the VHDX files). Try offloading thin provisioning and deduplication one level below (to file system or storage array).
Free Windows Admin Tool Kit Click here and download it now
July 24th, 2013 3:56am

Hello Jens,

I just found out that MSFT thinks that dynamically expanding .vhdx are fine after all ;) See my other post in that thread for details.

Best regards,

Volker

They are fine of course. But create more issues then they fix. 
July 24th, 2013 3:59am

We are looking at a rather scope-limited and tightly controlled deployment of two servers per remote location, each holding two VMs. These VMs have two volumes each, so only four .vhdx per (local) storage volume. Storage is DAS (SAS), so we don't really have the option of offloading thin provisioning. The roles are mainly file and deployment services as well as a domain controller.

So, I guess in the light of the special deployment situation, it makes sense after all to use dynamically expanding .vhdx, would you agree to that?

Free Windows Admin Tool Kit Click here and download it now
July 24th, 2013 5:29am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics