How the Change Block Tracking (CBT) driver used to work?
Vembu BDR CBT or Changed Block Tracking driver efficiently tracks changes in the backed up disk since the last backup. This helps to improve performance of incrementals by reducing the size of the increment data to be sent. Unfortunately the earlier version of the CBT driver was unable to track the deletions properly. When a file is deleted in windows, the file’s data is not deleted, only the metadata or pointer to the file is actually deleted. So, the CBT driver will track only the metadata changes unless a part of deleted file is overwritten by another file.
How were the incrementals affected?
Lets take the scenario where we backup a 4TB disk with 1TB used data. For the first incremental, lets say we delete 500GB and add 200GB of data. We can only track the 200GB of changes. The worst case is that all 200GB of data will be written to new clusters. This happens a lot when the disk capacity is more than the size of used data and newly inserted data. When we restore the incremental, the size of the downloaded image would be up to 1.2TB. Which is 500GB more than what we actually needed. When we do synthetic merge between the incremental and the full backup, the amount of data retained in the server will be upto 1.2TB instead of 700GB.
How deletions are now handled in the new VembuBDR?
In the new VembuBDR, we handle this efficiently during restore and synthetic merge. During restores, only the used data is restored which improves the overall restore performance and reduces data size. During synthetic merge, only the used data is merged. The unused data is marked deleted, which will be cleaned up later by a vacuum process.
Advantages and Drawbacks:
Advantages:
- After synthetic merge the amount of backed up data stored in the server is reduced.
- Increases the performance of restore by reducing the amount of data to restore.
Drawbacks:
- The only drawback is that the deleted files cannot be restored, which is always the case for synthetic merge.