The Virtual Full Backup method was pioneered by R1Soft and overcomes limitations of the other known backup methods.
The chief drawbacks to all of the other backup methods that Virtual Full Backups overcome are:
The Virtual Full Method involves one initial Full backup called an Initial Replica. It is called an Initial Replica because it is performed only one time ever as long as the storage medium is not replaced. For example if the Virtual Full Backups are stored on a NAS device at \\myNAS\backups then there is only one Virtual Full Backup until a new storage location is used. This is very different form Incremental or Differential backups where the full backup is performed periodically for example weekly.
The Virtual Full Backup method requires that a database be used to store block deltas. R1Soft calls this a Disk Safe ® While in theory an SQL type database could be used in pratice they do not deal with large amounts of binary block efficiently so custom tailored data stores are used. The important function of the block deltas database is to map what versions of blocks are allocated and used by particular recovery points. This facilitates the efficient retrieval of blocks belonging to a recovery point as well as the process of merging. Merging involves deleting a recovery point and deltas specific to that recovery point not needed by other recovery points that are not being deleted.
In a Virtual Full Backup each recovery point is comprised of many deltas. A deltas represents the state of a disk volume block at a particular point in time and each delta can be used by one or more recovery point. Since the relationship between Deltas and Recovery Points is maintained by the Disk Safe it is possible to delete any unwanted Recovery Point.
As the two recovery points are compared two types of deltas can be discarded:
A) deltas associated with blocks that are allocated in recovery point N (the unwanted recovery point) and Not allocated in Recovery Point N+1.
B) deltas that are allocated in both recovery points that are not duplicated. Or deltas that changed from N to N+1 so that the corresponding deltas in N are no longer needed and can be discarded.
Merging recovery points allows for archiving rules. For example a backup policy or schedule can be defined to support the following example configurations:
After the Initial Replica the process is very different form the other methods. Every time a backup job is run a Synchronization is performed. During the synchronization process a point-in-time snapshot of the Disk Volume is created and Deltas are computed based on the last completed synchronization. The Deltas are block level and are usually computed at a level below the file system very close to the raw disk structure. These deltas represent the low level changes to the disk volume made since the last recovery point.
A Recovery Point appears like a Full backup to the user. That is only in appearance as each recovery point only contains block level Deltas or changes since the last Synchronization. The method for computing deltas can vary in implementation. R1Soft uses a near-Continuous Delta method described here Computing Deltas \- near\-Continuous \(CDP\). Deltas could potentially be computed by comparing all disk volume blocks every synchronization however this would be undesirable due to the time needed to do the comparison and heavy impact on disk I/O.
Restores are easy with Virtual Full Backups. The Disk Safe makes each Virtual Full Backup appear as a complete Full backup even though it is comprised of Deltas taken across many or even all recovery points. Each Recovery Point is then usable as a complete Volume or Disk image. R1Soft has special software capable of reading raw Disk blocks into a usable file system like NTFS on Windows or ext3 and reiserfs on Linux so that files can be browsed and restored seamlessly as if the files are being seen like they appeared on the live server at the point-in-time the synchronization was performed.
Behind the scenes the work of making a recovery point looks like the image below where Deltas are read from the Disk Safe to comprise a complete Full backup.
The impact of the Virtual Full Backups on performance is as little as possible since only the deltas between synchronizations are read form the live server Disk(s). And unlike the other methods Deltas are only ever stored one time in the backup storage medium.