Windows Server 2008 saw the introduction of Hyper-V, a virtualization technology that allows you to make use of the hardware resources of a single physical machine to run multiple ‘virtual’ machines simultaneously. In fact, one of the main advantages of a virtualized environment is to improve the efficiency of the computing resources at your disposal and save on running costs (e.g. power, cooling, hardware maintenance, etc). Another notable plus is that the VMs are easily portable between different Hyper-V hosts.
As Hyper-V develops and matures over the years, people discover the ideal way to configure and implement it. A combination of feedback from industry experts, vendors, organizations and users all contribute to the creation of a set of guidelines for what to consider when dealing with Hyper-V backup and restore. These guidelines – known as best practices – can be adapted to suit your environment and used to help prevent common server misconfigurations that may result in poor performance, poor reliability, conflicts, or other unexpected issues.
With this in mind, below are some best practices and considerations that will hopefully give you a more efficient Hyper-V backup and restore process:
- Run the Microsoft Best Practice Analyzer (BPA) for Hyper-V
Once you’ve installed Hyper-V, one of the first things you should do is run the Microsoft Best Practices Analyzer (BPA) to determine if the Hyper-V role is running in accordance with a pre-defined set of best practice metrics (e.g. amount of RAM on the host machine, status of Hyper-V services, etc.).
Figure 1: Hyper-V Best Practices Analyzer in Windows Server 2012
The Microsoft Best Practices Analyzer (BPA) for Hyper-V is included by default when you install the Hyper-V role on Windows Server 2012. In Windows Server 2008 R2 it is available as a separate update package for Windows. The BPA can be accessed from the Server Manager console or via PowerShell.
To access the BPA from Server Manager, click Roles > Hyper-V from the tree pane and scroll down to the Best Practices Analyzer area.
When running the BPA from PowerShell, you first need to import the BPA and Server Manager modules and then invoke the BPAModel command for the Hyper-V component. The cmdlets you need are shown below:
Invoke-BPAModel –BestPracticesModelID Microsoft/Windows/Hyper-V
Using the cmdlet below, you can then pipe the results to a text file:
Get-BpaResult –BestPracticesModelID Microsoft/Windows/Hyper-V | Out-File C:\BPA-Results\results.txt
Alternatively, use Export-CSV to place the results into a CSV file, making it easier and quicker to perform your analysis in Excel:
Get-BpaResult –BestPracticesModelID Microsoft/Windows/Hyper-V | Export-CSV C:\BPA-Results\results.csv
- Create a VM recovery checklist
The idea here is to document a list of step-by-step procedures that anyone can follow in the event that one or more of the VMs becomes unavailable. If something goes wrong, someone can refer to this checklist to get your VMs back up and running in the shortest time possible. You could have situation-specific procedures which cover everything from a simple guest VM running out of space to a VM host server going down.
As part of the recovery checklist, you should create a VM priority list so the most important VMs are booted first.
- Test your VM backups on a regular basis
Do not wait for disaster to strike before you restore your VM backups for the first time! It is extremely important that you test the backup restoration process on a regular basis to ensure the VMs operate as expected and start up within a reasonable timeframe.
- Have recovery hardware on standby
You should consider having hardware on standby that can be used solely for hosting Hyper-V virtual machines if a host server fails. Do not rely on other servers that you may think can share the load with the Hyper-V role in the event of a catastrophic failure because you may overburden that hardware.
- Store a copy of your backed up data remotely
As with traditional backup recommendations, it is advisable that you store a copy of your backed up Hyper-V data in a separate physical location (e.g. cloud storage or network share in another office). This will avoid having a single point of failure.
- Use Hyper-V snapshots sparingly
Hyper-V snapshots should not be confused with VM backups. Snapshots are intended to create a ‘point in time’ capture of a virtual machine. They can quickly eat up valuable disk space and should be used sparingly (e.g. you may wish to take a snapshot of your web server before you install a new service pack so you can roll back in case of a failure).
- Choose a backup solution that supports VSS
VSS (Volume Shadow Copy Service) plays a critical role in the Hyper-V backup process by managing the state of the virtual machines that are running when a backup is taking place. It is therefore important that any Hyper-V backup solution you choose makes use of VSS.
- Keep Hyper-V Integration Services up-to-date
Hyper-V offers a number of services to the virtual machine to enhance the functionality or management of supported guest operating systems. These services are called Integration Services and include Key-Value pair exchange, VSS (Backup), Operating system shutdown, Time synchronization and Heartbeat.
Figure 2: Hyper-V Integration Services on Windows Server 2012
To avoid backup failures and inconsistencies it is a good idea to keep the installed version of Integration Services on all of your VMs up-to-date. In fact, some Hyper-V functionality (such as the Hyper-V Replica feature in Windows Server 2012) requires that all Integration Services be the same version for proper operation.
This article has discussed some of the best practices you should consider when creating a Hyper-V backup and restore strategy. Using best practices as a foundation for your Hyper-V policy will put you on the right track for successfully managing your Hyper-V virtual environment.
Remember that when it comes to the actual tool you use for the backup and restore process, Windows Server Backup is always an option to consider. It does have its limitations though. For example, when backing up the VMs to a network share, it only maintains a single version of the backup set and overwrites the older backup each time. You can get around this by using schedules to target different locations, but because a full backup is performed each time, this workaround is very space inefficient.
Windows Server Backup does a good enough job of providing basic VM backups, especially if you’re on a tight budget. However, if you’re looking for more functionality and flexibility, more substantial backup solutions are available.
Figure 3: Windows Server Backup on Windows Server 2012
The most sensible way of ensuring that your Hyper-V environment is being properly backed up, and that you have more flexibility and peace of mind when it comes to the restore process, is to use a third party application that was specifically designed to work with Hyper-V. You should also make a point of testing the backup and restore process thoroughly and regularly.
Altaro Hyper-V Backup
Altaro Hyper-V Backup offers a simple, easy-to-use solution for backing up Hyper-V VMs. It includes features such as offsite backup, remote management, Exchange item-level Restore, Compression, Encryption, and much more at an affordable cost.
Learn more or try Altaro Hyper-V Backup for yourself. To back up an unlimited number of VMs, download the Unlimited Edition for a fully featured 30-day trial. Alternatively, download the Free Edition that allows you to backup 2 VMs for free, forever.