Like many “technically minded” families we have started to accumulate a startling amount of data at home. A couple hundred gigs of storage on the file server used to be more than adequate. I did a pretty good job of making sure I had a couple tape backups around in case of drive failure from which the RAID couldn’t recovery.
Since then the storage has grown to several terabytes (mostly DVR content), the tape drive had died and was much too low capacity anyway. The RAID now has a hot spare and I’ve gotten comfortable having swapped a couple failed drives that this disk is pretty safe. My concern now is of more catastrophic events such a fire or flood in the house. To lose all of the family photos, home movies and important documents would be terrible.
UbuntuOne, Dropbox and all of the other cloud storage solutions are very slick for convenient storage and offer free to cheap off-site storage solutions for a few gigs of data. When you get above 50GB or 100GB, the cost is beyond what I’m willing to pay. This isn’t a knock on those services since offsite backups isn’t their goal. I started doing some selective backups of key documents to Dropbox, but really wanted something better.
My solution? A secure peer backup solution. I wanted a cheap “device” to put at a friend’s house that I could backup my data to and in return he/she could give me one to put on my network to do the same.
So far the solution looks like this:
- Raspberry Pi computer on a chip ($35 + $10 case)
- 750G external USB drive for testing ($0, it was lying around, but will be replaced with a 2TB+ drive later)
- Drive needs to be externally powered, the Raspberry Pi can’t power it over USB
- Users home folder moved to the USB drive (Moving Home to a New Partition)
- Encrypt home folder (ecryptfs-migrate-home)
- Secure Rsync connection (Making secure remote backups with Rsync)
- or OwnCloud if you prefer
The initial backup I’ll do locally before giving the setup to the friend. At the other end the friend has just a couple things to do:
- Give the Raspberry Pi a static ID on his network
- Forward a port from the firewall to the static ID
Once I get it working smoothly I create a nice step by step How-To. I also may test mirrored USB drives for redundancy.