We backup 127 servers each night via rsync to a FreeBSD storage server using ZFS. Each server in it's own sub-directory, using exclude files to skip things like /dev, /tmp, mozilla cache, etc.
Recovery process is simple:
- do a minimal install of FreeBSD, partitioning the disks as needed
- boot Frenzy CD
- get an IP
- mount local partitions into ~/mnt/ creating usr/, var/, home/ et al as needed
- rsync from backups server directory into ~/mnt/
- reboot
Depending on the network (100 vs 1000 Mbps) and the amount of data to be transferred, the restore process can take under 20 minutes (firewall), 90 minutes-ish (elementary school server) to a couple hours (secondary school server).
Other than 1 glitch with the way rsync handles a group of hardlinked files on one day becoming a bunch of scripts another day (gzip package in Debian 4.0 vs 5.0), everything works tickety-boo. We've restored several servers over the years since we started the system.
Search for
rsbackup for all the gory details on our setup.
It's simple to modify the setup to use HAST to give you real-time replication into another off-site server (we're in the process of migrating to this setup). Or, one can script zfs send/recv, or script rsync to do the same.