One of the major new features to debut in Windows Server 2012 Hyper-V was Generation 2 virtual machines. Since then, I have frequently had people ask me if they should be using Generation 1 or Generation 2 VMs. At this point in time, the bigger question is whether organizations with a substantial number of Generation 1 virtual machines should begin the transition to Generation 2 VMs.
Generation 2 VMs have their advantages. For starters, they can boot from SCSI disks. They also support the installation of guest operating systems through synthetic network cards, which is helpful if you are using the Windows Deployment Services. Generation 2 VMs also offer better performance (although there are some who hotly debate this point). The transition away from device emulation tends to yield an overall improvement in performance, but the real performance gains are seen when booting VMs. Generation 2 VMs tend to boot a lot more quickly than Generation 1 VMs.
In spite of the improvements that Generation 2 VMs offer, it is not in an organization’s best interest to begin blindly transitioning away from Generation 1 VMs. There are a number of issues that have to be considered. First and foremost is the compatibility issue. Versions of Windows that are older than Windows Server 2012 or Windows 8 cannot be run on Generation 2 VMs (some Linux editions are supported on Generation 2 VMs). Of course this limitation might provide an additional incentive to begin phasing out aging operating systems.
You also have to consider the transition process itself. Microsoft does not provide a mechanism for migrating from Generation 1 to Generation 2. A VM’s generation is established when the VM is created, and there is no mechanism for converting from one VM generation to another. As such, organizations wishing to migrate to a newer VM generation will have to re-create VMs as a part of the transition process. Needless to say, this is a big deal for VMs that are running mission-critical workloads that cannot be taken off-line.
One also has to consider the hardware limitations imposed by Generation 2 VMs. Most notably, Generation 2 VMs do not support IDE virtual hard disks, pass-through DVD access or network card emulation. These hardware issues tend not to be deal breakers, but at the very least you will need a solution for installing software on the VMs. I personally use a library share within System Center Virtual Machine Manager (SCVMM) as a mechanism for linking virtual DVD drives to ISO files containing installation media.
In addition to the well-documented limitations that I have discussed, there are a number of other compatibility issues to be aware of. Some of the issues that have been reported on various Internet message boards include:
- Lack of compatibility with SCVMM service templates
- lack of support for RemoteFX and VDI deployments
- Lack of support for 32-bit operating systems
The question of whether you should begin transitioning to Generation 2 VMs remains. Ultimately, there is no such thing as a universally applicable answer. You have to do what is best for your own organization.
In my opinion, it is okay to begin the transition away from Generation 1 VMs so long as the limitations of using Generation 2 VMs does not impact your organization’s ability to function, and as long as you can accept that there will inevitably be a period of time in which the organization uses a mixture of Generation 1 and Generation 2 VMs.
However, I don’t think there is a pressing need to make the transition in most cases. While there is certainly nothing wrong with creating new VMs as Generation 2 VMs (assuming that you can accept the limitations), rebuilding an existing VM probably won’t deliver enough of a benefit to justify the amount of work involved.
It will be interesting to see what Microsoft has planned for the future. Microsoft is expected to release the next version of Windows Server, Hyper-V, and System Center later this year. As it stands right now, Microsoft has not made any announcements regarding improved support for Generation 2 VMs. Even so, by the time these products are released, Generation 2 VMs will have existed for about three years and it would make sense for Microsoft to provide a more seamless degree of compatibility between Generation 2 VMs and other Windows Server and Virtual Machine Manager features.