Nmedia - Fotolia
Backing up Linux VMs running on Microsoft Hyper-V
Independent backup expert Brien Posey explains what you should know about backing up Linux VMs running on Microsoft Hyper-V.
One of Microsoft's primary design goals for the latest version of their server products was to provide better support for Linux virtual machines.
System Center 2012 R2 is able to manage Linux virtual machines (VMs) more effectively than was previously possible and Windows Server 2012 R2 Hyper-V now makes features such as dynamic memory available to Linux VMs. Since it has finally become more practical to run Linux workloads on Hyper-V, one has to question how Linux VMs impact the backup process. IT shops that had previously only run Windows VMs might suddenly find themselves having to support Linux VMs.
Hyper-V Integration Services
If at all possible, Linux VMs should be configured to make use of the Hyper-V Integration Services. The Hyper-V Integration Services that are exposed through the Hyper-V Manager can only be installed onto Windows VMs. However, most of the major Linux builds now contain Hyper-V Integration Services drivers. Microsoft also offers a version of the Linux Integration Services for Hyper-V.
There are a number of reasons why it is a good idea to use the Hyper-V Integration Services whenever possible, but the reasons are primarily oriented around the fact that the Integration Services free Linux VMs from having to use emulated hardware. Instead, Linux VMs are able to use native Hyper-V virtual hardware.
Using native virtual hardware provides VMs with much better performance than can be achieved with emulated hardware. More importantly, the Integration Services allow the hypervisor to interact directly with the VM in an effort to provide services such as heartbeat monitoring and time synchronization. This is important from a backup standpoint, because backup applications tend to handle Hyper-V VM backups very differently depending on whether or not the Integration Services are installed. Backup applications require VMs without Integration Services installed to be shut down or put into a saved state in order to be backed up.
It is also worth noting that a Hyper-V bug exists that can cause a Linux VM to use a random value for the network name if the VM is configured to use a mixture of Hyper-V native virtual network adapters and emulated network adapters. Under the right circumstances, this bug could cause a loss of network connectivity. The bug might not impact a backup made directly against the host server, but if the VM is configured to use a dedicated virtual network segment for backups then the bug could cause backups to be impacted. As a best practice, you should therefore use only native virtual hardware on your Linux VMs whenever possible.
When it comes to running Linux VMs on Hyper-V, there are some considerations beyond the use of the Integration Services. One such consideration is that Microsoft recommends configuring fault-tolerant Linux VMs (Linux VMs that are running on a Hyper-V cluster) to use a static MAC address. The reason for this is that if a dynamic MAC address is used then the VM can lose connectivity when moving to a different cluster node. The reason why backup administrators need to be aware of this particular configuration issue is because most organizations make backups on an ongoing basis and loss of connectivity can disrupt the backup process.
Another consideration is the way that Linux VMs handle I/O scheduling. There are a number of different I/O schedulers that are available for Linux VMs. These schedulers control the way that I/O requests are ordered. Typically the scheduler works to arrange I/O requests into an order that results in the least possible amount of disk head movement.
In the case of Linux VMs running on Hyper-V, Microsoft recommends using the Noop scheduler. The Noop scheduler is a Linux I/O scheduler that does not attempt to rearrange any I/O requests. In native Linux environments, Noop is commonly used on systems that use SSDs because disk head movement is not a factor on solid-state media. The reason why Microsoft recommends using the Noop scheduler is because it is more efficient to allow the hypervisor to control I/O activity than to allow each individual VM to try to set its own I/O patterns (assuming that the VM is not using pass-through disks). Using the Noop scheduler will result in better I/O performance for virtualized Linux machines, which translates directly to more efficient backups.
Live backup support
As previously alluded to, it is now possible to create backups of running Linux VMs. This capability is made possible by a snapshot driver which any backup application that supports Hyper-V 2012 R2 can use to make a snapshot-based backup of a running Linux VM.
Keep in mind, however, that Windows backups are commonly based on VSS. This approach makes it possible to create file system-consistent and application-consistent backups. Since Linux backups do not use VSS, the backup process provides file system consistency, but not application consistency (at least not natively).
Microsoft's support for Linux makes it much more practical to protect Linux VMs running on Hyper-V than ever before. Even so, it is important to adhere to Microsoft's recommended best practices for Linux VM configurations in order to prevent poor I/O performance or a loss of connectivity that could impact your backup.
About the author:
Brien M. Posey, MCSE, has received Microsoft's MVP award for Exchange Server, Windows Server and Internet Information Server. Brien has served as CIO for a nationwide chain of hospitals and has been responsible for the Department of Information Management at Fort Knox. You can visit Brien's personal website at www.brienposey.com.