When configuring a File Replication job, the user will be able to select folders and files to be backed up using a tree-like interface, similar to the existing “Files and folders” settings tab of NTBackup jobs.
There are 4 main factors in the design of the File Replication Engine:
- Envisaged applications — data backup, VM backup, etc.
- Mapping of the source path to the destination path
- Backup History
- Media Rotation (for portable media, like USB HDD)
1. Envisaged Applications
We anticipated that the File Replication Engine will be very useful for:
- Data backup — thanks to the single instance store architecture, it’s possible to store tens or hundreds of revisions on a single medium. For example, if you have 100GB of data and approximately 1GB changes each day, you will be able to store around 60 “snapshots” of your data on one 160GB USB HDD! This feature will far exceed the typical capabilities of VSS snapshots. To get your data back — just copy the entire snapshotted directory back to your server, or individual files if you prefer.
- VM backup — to backup client VMs, simply use the File Replication Engine to replicate the entire VM directories to a USB HDD. If your server goes down, simply plug the USB HDD into a different machine, install your VM software (eg. VMware Server) and run the virtual machines — this reduces your downtime to virtually zero!
- Exchange backup — backup your Exchange database files by a VSS-compliant file-copy operation, enabling you to forklift the database easily
… if you have other scenarios, we’d like to hear about them to make sure we cater for them all!
2. Mapping of the Source Path to the Destination Path
A single destination folder may be selected for each job. The destination folder may be on a local drive, NAS or removeable media. There are two options for how source files and folders are mapped to files and folders within the destination folder. The user interface will allow selection of one of these options, e.g. using a checkbox.
In the discussion below, it is assumed that the destination folder is X:\Backups.
Option 1: Full path
The full path to each source file will be encoded within the destination folder.
Example
| Source File |
Destination File |
| C:\Foo\bar.doc |
X:\Backup\C\Foo\bar.doc |
Option 2: Relative to common ancestor
Rather than encoding the full path for each file, use only a sub path relative to the lowest common ancestor of all selected files and folders.
Example 1. One source folder selected
| Source File |
Destination File |
| C:\Foo\bar.doc |
X:\Backup\bar.doc |
| C:\Foo\baz.doc |
X:\Backup\baz.doc |
Common ancestor is C:\Foo so backup file paths are relative to this folder.
Example 2. Multiple source folders
| Source File |
Destination File |
| C:\Foo\Bar\baz.doc |
X:\Backup\Bar\baz.doc |
| C:\Foo\Qux\quux.doc |
X:\Backup\Qux\quux.doc |
Common ancestor is C:\Foo so backup file paths are relative to this folder.
Example 3. Multiple source drives
| Source File |
Destination File |
| C:\Foo\Bar\baz.doc |
X:\Backup\C\Foo\Bar\baz.doc |
| D:\Qux\quux.doc |
X:\Backup\D\Qux\quux.doc |
Selections span multiple drives so there is no common ancestor and the full path to each file, including drive letter, is used in the backup.
3. Backup History
A number of backup schemes will be provided to allow historic backup to be retained. Historic backup stored on the same volume will use a single instance store to ensure that only one copy of unchanged files is stored on the disk. When a scheme with backup history is in use, there will be an extra level of folders within the backup destination folder to store historical backups.
Example (assuming “Full path” option chosen)
| Source File |
Destination File |
| C:\Foo\bar.doc |
X:\Backup\2008-05-13\C\Foo\bar.doc |
|
X:\Backup\2008-05-12\C\Foo\bar.doc |
|
… |
This scheme has daily backups stored under destination folder\date.
4. Media Rotation
For portable media, such as USB disk drives, the user will be able to set up media rotation schemes to allow regular backups to be rotated among different volumes. Each volume will hold a set of complete (i.e. not incremental) backups. The single instance store architecture will ensure that identical files are shared between backups within a volume, but not across volumes. For example, if a user has 3 USB HDDs and chooses to rotate them one after the other, the list of backups on each drive might be:
- Drive 1:
- Drive 2:
- Drive 3:
Similarly, if the user has 5 drives (one for each day of the week) then each drive would contain backups of data for every week, and the backup history goes back in one week increments.
Feedback
If you have any comments or suggestions about this proposal, or scenarios for which you think the File Replication Engine would be useful, please let us know by leaving a comment.