chrispooledotcom

Notes on My Backup Strategy: The Voldemort Approach

01 August 2011

Reader beware: this article is a bit old!

Along with many others, I keep an increasing amount of memories and important documents on my computer. I don’t want to lose any of it. Here are my thoughts on backup systems, along with justifications:

Use multiple physical devices
Any drive or medium can and will fail.
I don’t trust a drive mechanism to work perfectly for the length of time I care about the data it holds, because it probably won’t.
The same applies to NAS arrays and the like; one drive controller means a single point of failure.
Use multiple physical locations
Fire and theft can occur, so offsite backups just make good sense.
Use multiple programs to do the backup
Tablets and paper have proven to last quite a long time. Software programs haven’t. So that I don’t put all my eggs in one basket, use a few different programs so that if I find some corruption in a backup when I come to restore, it may not be there in other backups from other programs.
Don’t use proprietary container formats
Along the same lines are the previous item, proprietary formats that only a few people know the blueprints to probably won’t last. Free, open formats stand a better chance.

Backup programs

I use Time Machine with my Mac, along with SuperDuper!. Time Machine is great for restoring the odd file, but SuperDuper! is essential if you care about minimal downtime when a hard drive fails. It could take hours to restore from a Time Machine backup, but (assuming you’re using SuperDuper! to backup to the same drive type as your main internal drive), you can just swap the drives out and keep working immediately.

Both programs simply copy files using the standard filesystem for storage: there are no weird storage containers to open first. Assuming you can still read the filesystem (usually HFS+ for current Macs) and the format of the file you’re wanting, everything should be fine.

For offsite backups and other small backups, I use Duplicity. I run it using a wrapper I wrote, Horcrux. It uses the tar file format, along with GnuPG for encryption. It also allows for incremental backups, so a full backup only needs to be completed periodically. Horcrux makes it easy to quickly create new backups using common arguments and options for Duplicity.

This kind of backup workflow leads me to keep small backups of essential files on many devices and drives, just in case, hence why I call my Duplicity wrapper Horcrux.