I've been testing native vhd boot on several servers. It seems to be pretty transparent in terms of deployment and with my seat of the pants testing I have not noticed any difference in performance. The main reason that I want to boot vhd is due to their transportablility between different hardware and to hyper-v servers.
the following roles will be installed.
dfsr
dhcp
iis
application server
dc <- haven't tested this yet but see no reason why it won't work.
With the above low impact (in terms of performance) roles do you thing booting from VHD is appropriate.
thx
No, no i wouldn't. There is no reason to add even more complexity for no good reason (and Microsoft saying "this is the future" does not qualify as a good reason) Why make life more difficult by adding another layer to the stack with little to no benefit?
The abstraction does add overhead, particularly if you end up with a fragmented dynamically growing VHD.
If the VHD becomes corrupted, it's more likely you lose the whole thing. If part of a HD becomes corrupted it's less likely you lose the whole thing.
It's an added complication (cost) with no benefit in 99.99% of situations.
Boot from VHD was never meant to replace traditional image deployment. For best performance you should deploy an image directly to the target hardware. Booting from VHD is meant to allow testing and development in situations where the developer or tester does not have access to virtualization technology (which in this day and age is fairly rare). VHDs should be sysprepped before the first poweron (so offline joins aren't a big help here) so that the system detects the new hardware.
I would certainly not support any applications running on a VHD image rather than the default filesystem. Note that you are dependant on the host filesystem in order to run the VHD. The boot entry "lives" on the parent OS (which also needs to be maintained)
According to this Microsoft Virtualization Team Blog Post One of the goals of native VHD support is to "1.Simplify the experience of creating, managing, and deploying Windows images across both physical and virtual machines using a single image format and common tools. "
This is a great idea in a hyper-v environment where I may have to perform rapid deployment of a machine with unforseen and immediate high cpu or ram requirements. When my virtual machine needs more resources than my hypre-v environment can provide you can use this to rapidly deploy the image to another machine already running server 2008 or windows 7 and repurpose the system. In the case of this question this scenario does not apply, see this link for common VHD usage scenarios. In the case of physical machines the library of images should be maintained in WIM format as it will be more space efficient and be simple to maintain. Should there be a decision to deploy to a VHD, a WIM image can be applied at any time.
There are additional caveats when using VHDS, from the VHD FAQ
Store all critical data outside the native-boot VHDs. When you store critical data outside the VHD that contains the Windows boot image, it is easier to recover the data if the VHD becomes unusable.
Create VHD files with a maximum size that is larger than the minimum disk requirements for the operating system. - note that this means image storage requirements are huge vs a multi instance WIM file
backups are also a concern as you should backup a VHD while it is detached. VSS does support creating snapshots of volumes on a VHD