Documenting backup requirements for each workload
All virtual machines (VMs) are not created equally, and therefore different types of OSes, applications, and services will have different backup requirements. A good starting point for managing backups is to define the requirements. The factors to consider and their translation into requirements for each workload or VM are listed in the following table:
Be sure to include business representatives and users of the application in these policies to ensure that requirements are being met. It's often a negotiation process that will work like this: "Do you really need 99.999% uptime for that test/development VM? Here's the cost. Now 99.99% is looking better, huh?"
Guest and host level backups
The two major approaches to performing virtual machine backups are to
Host level backups involve copying entire virtual hard disk (VHD) files to capture all of the contents of the VM. This approach provides the simplest recovery method (generally, you'll just need to reattach the VM to a functioning host server), but it comes at the expense of storage space. Keep in mind that you'll automatically be storing the guest OS and everything that it contains. VHD files are locked for exclusive read/write access while VMs are in use. One approach to performing backups is to shutdown or pause the VM, copy the necessary files, and then resume the VM. But, that requires downtime.
Automating backup operations
Microsoft Virtual Server provides a simple method of implementing routine backup operations. In just a few lines of code (using VBScript, VB.NET or C#), you can write simple code to automate the process. Generally, the downtime for your VMs will be limited to a few minutes (that is, the amount of time it takes to make a copy of the necessary VM-related files to a local or network location). It might only be a few minutes per day, but not all applications can support this amount of downtime.
Microsoft System Center Data Protection Manager (DPM)
The name of the product doesn't roll off the tongue easily, but DPM is designed to support Microsoft Virtual Server 2005 R2 SP1. It uses an approach known as continuous data protection (CDP) to perform frequent snapshot-based backups of files. To protect VHD files, DPM uses Microsoft's Volume Shadow Copy Services (VSS) to get a clean backup of the entire state of a VM. This translates to zero downtime and only a minimal hit to performance. It minimizes storage space requirements by detecting block level differentials. This approach allows you to make backups more frequently without worrying about using excessive amounts of disk space. You can also roll-back to a particular point in time, should the need arise. DPM's management tools make it easy to manage large numbers of hosts and virtual machines. The product isn't free, but it can easily pay for itself by simplifying the backup process.
Backups are a necessary evil in the world of IT. They can be painful to implement and support, and the use of VMs doesn't always make things easier. The good news is that you have several options for determining how and when to perform backups. It's likely that you'll use a combination of guest level backups, host level automation, and additional products such as Microsoft System Center Data Protection Manager to achieve your goals. Of course, the most important point is to determine the business requirements for each VM. Rule of thumb: It's always better to perform a backup sooner rather than later when you've lost some critical data.
ABOUT THE AUTHOR: Anil Desai is an independent consultant based in Austin, Texas. He specializes in evaluating, implementing and managing solutions based on Microsoft technologies. He has worked extensively with Microsoft's Server products and the .NET development platform and has managed data center environments that support thousands of virtual machines. Desai is a MCSE, MCSD, MCDA and Microsoft MVP.
This was first published in March 2008