VMware’s Changed Block Tracking is an important part of VMware’s vStorage API for Data Protection (VADP). CBT is part of VMware’s efforts to simplify and improve the efficiency of backup processes for VMware virtual machines.
Traditional virtual machine backups require an agent on every VM. And although that works, it has difficult operational issues. Each agent consumes physical server resources when performing a backup or scan. One agent on one server is not a problem. Dozens of agents on dozens of virtual servers will reduce the number of VMs that can be supported on that physical server.
The trickier problem is managing the timing of the VM backups. Backup software is generally optimized to perform as many backups as possible in the shortest period of time. The object is to meet the ever-shrinking backup window. When multiple concurrent backups occur with VMs on the same physical server, the performance will suffer. Those VMs are sharing the elements, such as the IO path, bus, adapters and buffers. As a result, performance can slow to a crawl, causing backups to miss those backup windows or just plain fail.
Their first VMware solution aimed at addressing the VM backup problem for the backup software market was VMware Consolidated Backup (VCB). VCB did not adequately or fully address the problem. VCB leveraged ESX snapshot capabilities by mounting them on an external Microsoft Windows server via shared SAN storage. A backup agent was installed on the proxy server, which then backed it up. There were obvious problems with the VCB methodology. It required additional server hardware, network hardware, storage networking, rack space, floor space, cables, power, cooling, and other considerations. The number of VMs per proxy server was severely limited, while cost and performance were frequently unacceptable.
VMware’s second attempt at addressing the problem came with the release of vSphere 4 back in 2009, which came out with a much superior effort in VADP and CBT. VADP eliminated the proxy server and enabled third-party data protection and backup software to be more tightly integrated with VMware. VADP essentially allows that third-party software to quiesce and initiate a snapshot of one VM, multiple VMs, or all of the VMs. It then retrieves or replicates the snapshot data out to the backup/media server. VADP provides a single‐step, source to target, copy process without a VCB-like proxy. VADP eliminates backup processing or agents within VM guests. No additional VMware software is required.
There is one exception: VMware is not application-aware. Its snapshots do not quiesce a database or structured application in a “hot” backup mode. In other words, it does not flush the cache, complete the writes in order, and then take the snapshot. To have an easily recoverable snapshot of those VM applications still requires a software agent.
But VADP is, in reality not all that dissimilar to the APIs from Citrix XenServer or Microsoft Hyper-V server virtualization. In all three cases, the backup software is copying a complete snapshot of each VM. Because it is a complete copy of all the data in the VM, it is difficult to complete the backups within the required backup windows.
The general rule of thumb for a typical server application’s data change rate is between .5% and 1% per week. It makes little sense to have to back up 100% of the data every day when so little has changed. So, VMware took a page from the storage system snapshot vendors as well as common backup software vendors to solve the VM data protection problem with Changed Block Tracking.
Changed Block Tracking is conceptually similar to snapshot differential, backup delta block, or incremental backup. It determines if any blocks have changed since the last VM snapshot and tags the blocks that have changed. This enables the third-party backup or data protection software to copy out only the blocks that have changed since the last backup.
This means they don’t copy out data that has been copied previously. The amount of data copied out is commonly reduced by more than 99%, which saves a lot of time in the backup process. Without Changed Block Tracking, it can only do so after the entire snapshot is first copied out to the media server. And that remains the case if the backup or data protection software provides delta block, incremental backups, compresses, and/or dedupes.
Changed Block Tracking dramatically reduces the amount of data copied before additional data reduction technologies are applied, reducing backup and processing time.
What does all this mean? If you are planning on backing up VMware vSphere virtual server VMs, make sure your backup software makes effective use of VADP and Changed Block Tracking. It will be simpler. It will save time, money, and reduce the amount of backup data being stored.
About the author: Marc Staimer is the founder, senior analyst, and CDS of Dragon Slayer Consulting in Beaverton, OR.