(note: this post also appears on the official Veeam blog)
Also available in this series:
Part 1: linux certificate-based authentication
Part 3: Quick Backup
Part 4: support for vSphere tags
Part 5: Snapshot Hunter
Part 6: Tape Server
Part 7: Save as Default
Part 8: Hyper-V
Veeam Backup & Replication v8, part of Veeam Availability Suite v8, has been released and customers and partners are already upgrading their environments and exploring the several new features that have been added to this latest version of the software. There are many enhancements that are not part of the marketing activities, but nonetheless they all contribute to create every time an awesome version of the software.
I’ve created a list of my favourite 8 new technical features, my “gems”. In this series of posts, I will show you them and dive a little bit into their technical details. In this second episode, we will talk about Quick Rollback.
Veeam Backup & Replication has always had a large number of restores options, varying from Instant VM Recovery, full VM restores or single files and application items. This huge list of options is the best solution to solve different restore needs that a user could face.
When it comes to virtual disk restores, regardless the usage of Instant VM Recovery, the final activity still involves the complete copy of the entire virtual disk from the backup storage to the production storage. For sure, with Instant VM Recovery this is not an issue since the migration happens in the background while the virtual machine is already up and running, but what if you need full I/O capacity immediately upon VM recovery? Or if your deduplicating backup storage simply cannot provide any decent IOPS to run the VMs off it?
This can be now achieved in Backup & Replication v8 thanks to this new feature. Quick rollback can be invoked everytime you are restoring a full VM or a VM hard disk into the original location. What it does is an incremental restore: instead of restoring the entire virtual disk, Veeam Backup & Replication recovers only the needed blocks to revert the VM to the state that is stored in the selected restore point. Restore times are reduced drastically because only blocks changed since last backup are copied back.
To identify the changed blocks, Veeam Backup & Replication uses the same Change Block Tracking (CBT) technology that is used to perform incremental backups. With VMware, Veeam Backup & Replication queries vSphere API to get this information, while in Hyper-V (yes, we do it for Hyper-V too!) it retrieves the same informations by quering Veeam’s proprietary CBT engine. By obtaining the list of changed virtual disk blocks between the required restore point and the current VM state, Veeam Backup & Replication knows exactly what data blocks has been changed since then, and must be restored back to virtual disks to roll the VM state back to an earlier point in time.
While it is as simple and easy as it sounds, there are many use cases for it. One of the best actual uses I’ve read so far on the Internet after we released v8, is from a user whose virtual desktop got infected by a trojan horse. Instead of trying to remove the malware and wasting hours to do so, he decided to try Quick Rollback – and the recovery completed in seconds!
In the console, you can start for example the restore of the entire virtual machine. In the “Restore Mode” step of the wizard, if the default option to restore to the original location is selected, Quick Rollback can be requested by simply flagging the corresponding option:
The wizard shuts down the original VM if it’s still running, and starts restoring only changed blocks. You can immediately note the benefit of Quick Rollback if you compare the same operation side by side with a regular full VMrestore (on the left):
Out of 20 GB of the VMDK disk, 2,2 GB are effectively used. The restore of the entire VM had to restore the whole 2,2 GB and it took 68 seconds, while quick rollback only restored 29 MB in 12 seconds. As you can imagine, the difference on a real production VM with multi-TB virtual disks will be much bigger of course.
So, what’s the catch? As said, Quick Rollback uses CBT information. However, CBT data cannot be relied upon in many disaster scenarios. For these reasons, we disable this option by default, and we highly recommend to only use Quick Rollback when restoring a VM after a problem that occurred at the VM guest OS level. Do not use Quick Rollback option if the issue causing you to perform a restore was caused by host or storage hardware issues, or due to a power loss. CBT data in these cases could be corrupted, and you risk to restore the wrong blocks and damage the virtual machine disks permanently.
Finally, there are some limitations that you need to remember before using Quick Rollback. First, you cannot perform two incremental restores subsequently. After you perform a first incremental restore, the CBT on the original VM is reset. You must perform at least one incremental backup to be able to perform incremental restore again. Second, in VMware environments, incremental restore can only be performed in Network or Virtual Appliance transport modes. The Direct SAN Access transport mode cannot be used for this particular restore type.
But even with some limitations, Quick Rollback I’m sure can become another great tool in your restore arsenal!