Performing backups: On one hand, we all know that it's a mission-critical component of standard operations. It's probably a worthwhile time investment to update our resumes in the case of a serious data loss issue. However, implementing backups can be tedious, time consuming and generally not that much fun. While virtualization can help in some areas, it can make the problem more complicated in others. Here we present options related to performing backups for virtual environments with a focus on Microsoft products and solutions. Note that most of the information will apply equally well to any virtualization platform.
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 implement them either within each VM or at the level of virtualization host servers. To set up guest level backups, you'll install backup agents within each supported guest OS and then select which data needs to be protected. Basically, you're treating the VM in the same way as you'd treat a physical machine. You can limit storage space requirements by backing up only what's necessary, but guest OSes must be supported by your backup solution.
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.