VM Backup Reference Architecture – Part 1: Fundamentals
I wanted to do a series of posts discussing the pros and cons of various VM backup strategies and some best practices, but I found it necessary to cover some fundamentals before discussing specific solutions.
As I discussed in a previous post, I don’t like backup agents within a virtual infrastructure. It adds management overhead, several complexities, and is generally less flexible and less cost-effective. A well designed VM Backup infrastructure can enable second-wave private cloud efficiencies and enable DR initiatives.
VMware offers 2 APIs which backup vendors can leverage to perform image-level backups. The original API was called VCB and required the installation of additional components on a dedicated proxy server. VCB has already reached end-of-life and has been replaced with VADP (vStorage API for Data Protection) which was introduced in vSphere 4.0. As of vSphere 4.1, VADP is the only backup API available. I also want to point out that some VADP capabilities are supported in ESX 3.02 and later, but key features such as CBT require vSphere 4.
When performing VCB or VADP backups of Windows applications like SQL, SharePoint and Exchange, there are additional application-consistency considerations that need to be considered which I previously wrote about here.
Differences between VCB and VADP
There are some significant architectural differences as well as some key new features in VADP as shown in the table below
|Requires additional download & install||No, built into the data protection software||Yes|
|Full virtual machine image backup||Yes, single step copy – source to target||Yes, with two step copy – source to VCB proxy and VCB proxy to the target|
|Incremental virtual machine image backup||Yes – using change block tracking||No|
|File level backup||Yes, both Windows and Linux||Yes, Windows only|
|Full virtual machine image restore||Yes||Yes, by using VMware Converter|
|Incremental virtual machine image restore||Yes||No|
|File level restore||Yes, using restore agents||Yes, using restore agents|
|CLI for image backup||No||Yes|
|CLI for file backup||Yes||
In general you will see that VADP is more efficient and capable than VCB, but the biggest benefit may come from Change Block Tracking (CBT).
New Feature: Change Block Tracking (CBT)
CBT basically allows the VMKernel to track which blocks have changed since the last time a VADP snapshot was created (the last backup job). To give an example of how this works, let’s say you have a web server with a lot of static content and less than 5% of the disk blocks change between backups. Without CBT, the backup engine would have to read and process EVERY single block on the VMDK’s during a backup. With CBT enabled, the VMKernel will tell the backup application “these are the only blocks that you need to read”. Not only does this dramatically improve backup window times (based on the rate of change) but it also dramatically reduces the I/O load on your storage infrastructure as a result.
The benefits of CBT will vary based on the rate of change on your VMDKs, but many have reported dramatic reductions (2x or more) in their backup windows using CBT.
CBT is NOT enabled by default. First the VM must be running virtual hardware version 7 (introduced in vSphere 4.0). Second, it will be necessary to enable CBT on the VM as it is not enabled by default. Some backup products will do this CBT enabling for you, so check with your backup vendor.
VAAI is not really a part of VADP but I wanted to briefly mention it as I feel that it should be a consideration for VM Backups. When you backup a VM using VADP, a snap is taken of a VM. The time it takes to open or close a snap can vary based on your disk system and in some cases can cause severe problems as I wrote about here. If you are running vSphere 4.1 with a VAAI-enabled SAN, your snaps are now done at the hardware level (SAN controller) rather than via software at the VMDK level which will significantly improve snap performance – and therefore backup time as well.
VADP is an API in vSphere that backup vendors can leverage to create image-level backups of VM’s and new features like CBT can reduce both backup windows and disk I/O. Most major backup vendors support VADP in some capacity, with varying levels of CBT support. A few vendors are taking things quite a bit further with some innovative features.
In the next article, we’ll take a look at some specific solutions and how they add additional value above what VADP provides, as well as some challenges and best practices.