Citrix XenServer 7.3 introduce Changed Block Tracking (CBT) to enable backup vendors provide efficient data protection

Today Citrix has a very good news for XenServer users. New 7.3 version finally introducesa long-awaited Changed Block Tracking (CBT) mechanism. That makes a huge difference as far as backup process is concerned.
Over the years we have been implementing snapshot-based backup for Citrix XenServer environments. The key problem, noticeable on many user forums, was lack of CBT, to implement similar to VMware approach of quick, agent-less backup.
Earlier version of XenServer already provided APIs to export whole VM in single file (XVA format) for several years. In version 6.x you also could export specific disks of the VM. Moreover there was an option to export data that has changed since specific snapshot.
So technically, XenServer provided APIs necessary for incremental backups in the past. However, things are a bit different compared to CBT.
Incremental backup using old APIs were cumulative. This means that after first full backup, each consecutive incremental backup contains data that has changed since last full backup, which results in growing increments. At some point you create another full backup and swap snapshots, so that increments are small again, and so the process repeats.
Using vProtect we had implemented this approach successfully many times in production. However now, with version 3.2, which is going to be released in one week – 20th December, users will be able to have similar to VMware backup approach. See a screenshot below.
So how CBT in XenServer 7.3 looks like? In general the APIs for exporting full backups did not change, however administrators will now be able to enable NBD service on their hypervisors. This service is responsible for giving direct access to the data over the network. There is also a new mechanism that has appeared in API that is able to compare blocks that has changed between consecutive snapshots.
The backup strategy is to use map of changed blocks from XenServer API and read only specific blocks that have changed between 2 snapshots (last snapshot is left for future backup). So the time and resources needed to export just changed data reduces significantly the overall process. Data is exported with NBD service from the hypervisor. Now your backups don’t grow over time – they are just as big as the amount of data that has changed since last backup (full or incremental). In this scenario with XenServer 7.3 you will be able to effectively protect your virtual infrastructure, especially that vProtect can simultaneously export data from multiple hypervisors.
It is also worth to emphasize, that together with new CBT backup technique, vProtect 3.2 will also introduce an option to exclude specific disks from the backup, to skip changes in data that won’t need to be protected. New backup strategy also enables to file level recovery by mounting XenServer backups directly on vProtect nodes, which means easy way of restoring single files from your snapshot based backups.