Since its introduction, one of the most notable improvements in Hyper-V is its support for Linux VMs. Early on,...
Hyper-V would run Linux VMs, but heavily favored Windows VMs. As such, Linux VMs were unable to take advantage of many of the features that were available for Windows VMs. Thankfully, this has changed, and Hyper-V now offers a greater deal of support for Linux.
Hyper-V admins can run almost any current Linux build in Hyper-V. However, Microsoft maintains a list of specific Linux distributions that they will support. These include:
- Red Hat Enterprise Linux / CentOS 5.x, 6.x, 7.x Series
- Debian 7.x and higher
- Oracle Linux 6.4-6.8, 7.0-7.2
- Oracle Linux RHCK 6.4 – 6.8, 7.0 – 7.2
- SUSE SLES 11 SP2, 11 SP3, 11 SP4, 12, 12 SP1
- Open SUSE 12.3
- Ubuntu 12.4, 14.04, 16.04, 16.10
- Free BSD 8.4, 9.1 – 9.3, 10 – 10.3 11
It's important to understand that although these builds are officially supported for use on Hyper-V, there are limitations associated with some builds. For example, Red Hat Enterprise Linux / CentOS 7.0 don't support copying files from the host to the guest.
For each supported build, Microsoft lists the Hyper-V features that are and aren't supported. Most of the newer builds support nearly all Hyper-V features, while some of the older builds are somewhat lacking.
Microsoft makes Hyper-V more attractive
Although Microsoft's list of supported Linux versions is helpful, you may be curious as to how Linux support has improved in Hyper-V. In Windows Server 2016 Hyper-V, Microsoft has added support for Linux Secure Boot. As previously noted, however, there are often version-specific limitations associated with running Linux VMs in Hyper-V. Secure Boot is supported for Ubuntu 14.04 and higher, SUSE Linux Enterprise Server 12 and higher, Red Hat Enterprise Linux 7.0 and higher and CentOS 7.0 and higher. It's also worth noting that the Secure Boot feature for Linux only works with Generation 2 VMs, and it requires configuration management to use the Microsoft Unified Extensible Firmware Interface certificate authority.
Another thing that Microsoft has done to make Hyper-V more attractive to Linux admins is add the ability to hot add -- or remove -- virtual network adapters and memory from VMs. This capability was introduced in Windows Server 2016 and is supported for both Linux and Windows VMs. Hyper-V administrators can modify the memory allocation to both Generation 1 and Generation 2 VMs while the VM is running. Similarly, administrators can add or remove a running VM's virtual network adapter. However, this feature is supported only for Generation 2 VMs.
There's still room for improvement
Although Microsoft has gone out of its way to make Hyper-V friendlier toward Linux VMs in Windows Server 2012 R2, there are two newly introduced features that simply don't work the same way for Linux VMs as they do for Windows VMs.
The first of these features is production checkpoints. Hyper-V has supported the use of checkpoints -- sometimes referred to as snapshots -- since its debut in Windows Server 2008. Checkpoints allow administrators to revert a VM back to a previous state almost instantly, and without restoring a backup. Needless to say, checkpoints are a very popular Hyper-V feature. Until recently, checkpoints weren't supported for use in production environments.
There is just one catch: Applying a checkpoint can cause serious harm to applications that might be running on a VM. This is especially true for database applications or for multi-tier applications.
Hyper-V 2016 is the first version of Hyper-V to support production checkpoints. Microsoft has updated the checkpoint mechanism so that it now uses the Volume Shadow Copy Services (VSS) to place the VM and its applications into a consistent state prior to creating a checkpoint. That way, the checkpoint can be applied safely.
From a Linux perspective, the problem with this is that VSS is a Windows technology. As such, Hyper-V creates file system consistent checkpoints for Linux VMs, but these checkpoints aren't application consistent.
The other new Hyper-V 2016 feature that doesn't really translate to Linux VMs is the way in which the integration services are kept up to date. Microsoft has finally made it so that updates to Integration Services are delivered through Windows Update. However, Linux VMs use Linux Integration Services, which are different from the Integration Services used by Windows VMs.
According to Microsoft, the Linux kernel contains the Linux Integration Services for Hyper-V, but there are no guarantees that these services are up to date. As such, Microsoft makes the latest version of the Linux Integration Services available for download. These updates aren't delivered through Windows Update.
Microsoft has put a lot of work into making Hyper-V friendlier toward Linux. Microsoft did a tremendous amount of work on improving Hyper-V support for Linux VMs in Windows Server 2012 R2, and has added even more support for Linux in Windows Server 2016.
What features are new in Windows Server 2016 Hyper-V?
Which commodity server OS is best: Linux vs. Windows
When will Windows Server 2016 be fully available?