Windows Insider
Should You Deploy Hyper-V Generation 2 VMs?
While the new features may be tempting, the new Hyper-V VMs' incompatibilities should stop you from jumping on board.
- By Greg Shields
- 10/01/2014
Even I fell prey to the excitement before realizing their limitations the hard way. I'm referring to Hyper-V Generation 2 virtual machines (VMs), new in Windows Server 2012 R2. As their name suggests, Generation 2 VMs are a wholesale evolution to the structure and delivery of VMs on Microsoft's signature hypervisor.
They arrive with a long list of new features, many of which are patently exciting. New things such as boot from SCSI-attached storage, installation of guest OSes through synthetic network cards (which come in handy for Windows Deployment Services [WDS] and Microsoft Deployment Toolkit [MDT] deployments), a secure boot feature and larger boot volume, online boot disk expansion and add/remove of DVD drives. Generation 2 VMs also consume fewer host resources thanks to their elimination of device emulation. That indirectly translates into a better performing VM.
Most important, Generation 2 VMs boot faster -- ridiculously faster than their equivalent Generation 1 VMs. This feature alone is sure to excite IT pros who're perpetually worried about downtime metrics, and absolutely tired of waiting for black screens to turn gray.
Yet, while Generation 2 VMs exude awesomeness at first blush, you needn't dig too far into their incompatibilities to find some surprising showstoppers.
Take, for example, their lack of compatibility with Service Templates in System Center Virtual Machine Manager 2012 R2. I discovered this omission too late when filming a recent video-training series on VM deployment. I created a Generation 2 VM using Virtual Machine Manager and then converted that VM to a template. It wasn't until I attempted to use my VM in a Service Template that I learned I had to start over and regress a generation backward.
Considering Service Templates are the suggested VMM approach in deploying IT services, the lack of Generation 2 support surprises me. Their further absence of support as VM Roles in Windows Azure Pack is also a disconcerting discovery.
Dear Microsoft, please stop teasing me with functionality I want, but can't realistically have. It's cruelty, I say!
Researching a bit more about what didn't make the second-generation cut, I came across a widening list of striking incompatibilities. Generation 2 VMs aren't supported in Microsoft VDI environments. Remote Desktop Services will throw an error if you attempt to use one as a template in a VDI deployment.
RemoteFX support is also missing. This may be due to Generation 2's retreat from device emulation. You'd assume replacement support is on the way; however, little information has surfaced since the Gen 2 release nearly a year ago.
Microsoft also quietly acknowledged (see bit.ly/1cJcx4N) a bug with Generation 2 VMs that prevents them from running GUIRunOnce commands when deployed through Virtual Machine Manager. Thankfully this error will get fixed once the VMM Update Rollup 4 sees its public release.
Generation 2 VMs won't support 32-bit guest OSes, as well as any Windows guest that's older than Windows Server 2012 and Windows 8. While setting the bar high for this support is probably a smart move by Microsoft, it does signal an impending hybrid environment (and extra watchfulness) for early adopters.
A few arguably minor exclusions are worth noting, as well, surrounding their lack of emulated devices. You won't find floppy drives, pass-through DVDs, legacy network adapters, or IDE controllers in any of your next-generation VMs. In with the new, it seems, requires an out with the old.
The next-generation Hyper-V delivers exactly what it promises: a new generation. Making that jump happen, along with all the associated benefits, requires leaving behind some dragging functionality. If your Hyper-V environment can handle the end of aging devices, OSes and processor architectures, you might consider dipping a tentative toe into the Generation 2 pool.
Use caution with that decision, though. While Generation 2 VMs deliver some impressive boot time and performance metrics, a notable list of non-functionalities might suggest waiting on implementing them just a bit longer.
OK, I'll say it, "Really, Microsoft? No Service Template support? None for VDI? And no warning when creating VMs in VMM that they might not be useful later? Frustrating!"
In the end, I think I'll wait a bit longer. This generation needs a bit more time to grow up before I'm ready to put it to work.
About the Author
Greg Shields is Author Evangelist with PluralSight, and is a globally-recognized expert on systems management, virtualization, and cloud technologies. A multiple-year recipient of the Microsoft MVP, VMware vExpert, and Citrix CTP awards, Greg is a contributing editor for Redmond Magazine and Virtualization Review Magazine, and is a frequent speaker at IT conferences worldwide. Reach him on Twitter at @concentratedgreg.