next up previous
Next: Archival backups Up: Supporting backups Previous: Supporting backups

Calamity Backups

Calamity backups are targeted at restoring a complete filesystem in the event of major failure. These backups need to be able to restore a complete filesystem to a recent state, quite possibly on different hardware. We currently take a complete CPIO archive of each filesystem every 8 days or so, and rely on incremental backups to fill in the gaps.

The main problems with this are that we repeatedly (every 8 days) backup lots of data that we already have backed up, and that traversing the filesystem in logical order (by directory, and then by file) is unlikely to involve accessing the disk in physical order, so there will be lots of seeking to gather the various parts of directories together.

In a past life we used to take calamity backups by simply dumping the underlying block device to tape. This meant better disc throughput (which, given the speed of disc drives at the time, was a good thing), but it meant that we needed a spare partition at least the size of the largest active partition for restoring from these backups (sometimes we do need to restore selected files from calamity backups). This also meant that we were dumping a lot of blocks that did not contain live data.

What would be nice is something in between the two: To be able to dump largely in the order that data is on disc, but still to use information from the filesystem to avoid dumping too much dead data, and to arrange the dumped data so that piecemeal restoration is possible.

The structure of a LFS makes such an in-between position possible by focusing of segments.

Combining these ideas we can produce a Calamity backup scheme that is reasonably efficient at creating backups, but exposes some complexity when it comes to restoring backups. This is probably a reasonable trade off as restorations happen much less often than backups are made.


next up previous
Next: Archival backups Up: Supporting backups Previous: Supporting backups
Neil Brown 2003-02-06