Backups: rsync, software RAID, other strategies?

Bob Johnson bob89 at bobj.org
Thu Mar 11 21:20:00 PST 2004


Thanks for pointing me to these tools.  I may not use Unison on this 
particular project, but I think it will be the next project after the 
backup server is finalized!

- Bob


On Monday 08 March 2004 02:22 am, Dany Nativel <Dany Nativel 
<dany_list at natzo.com>> wrote:
> Hi Bob,
>
> I use the following configuration on my file server.
> It's a small cube based on a low power mini-ITX EPIA 5000 motherboard
> (fanless) and running two 120GB HDDs.
> I looked at RAID but it doesn't help solving one of the potential
> issue ... me, user removing files that are not supposed to be removed
> so incremental backup is a plus. This baby is powered by FreeBSD
> 5.2.1 (used to be Debian).
>
> DISK 0 (live)
> 128M   ad0s1a /
> 512M   ad0s1b swap
> 128M   ad0s1d /var
> 200M   ad0s1e /tmp
> 3200MB ad0s1f /usr
> 110GB  ad0s2d /data
>
> DISK 1  (Backup)
> ad2s1d     128M  /backup/os/root
> ad2s0b     512M  swap
> ad2s1e     128M  /backup/os/var
> ad2s1f     200M  /backup/os/tmp
> ad2s1g    3199M  /backup/os/usr
> ad2s2d     108G  /backup/data/backup
>
>
> I use 3 different programs :
> - Unison (http://www.cis.upenn.edu/~bcpierce/unison/):  2-way
> synchronization using rsync/ssh, multi-platform graphical interface.
> I can have the same files on my file server, laptop running win2k as
> well as my desktop running BSD.  Very convenient especially with
> laptops when you can't be connected all the time.Very fast too (only
> transmit diffs) - rsync (man rsync) :  typical rsync that will mirror
> the source to the destination
> - rdiff-backup (http://rdiff-backup.stanford.edu/index.html): it's
> based on rsync but you get the advantage of incremental backups so
> you can restore from a specific date. You can also purge the backup
> by removing old stuff. No fancy  file  format, just .gz for the
> diffs.
>
> Here is how I use those tools :
> /data/current/user0_live (DISK 0)         <---->   UNISON : 2-way
> synchronization with laptop/desktop
> /data/current/user0_incremental (DISK 0)   <---->   RDIFF-BACKUP :
> incremental backup of user0_live using RDIFF system
> /backup/data/backup/user0_incremental (DISK1)  <---->  RSYNC : quick
> mirror of the already incremental backup
>
> /backup/data/backup/pictures (DISK1)             <---->  RDIFF-BACKUP
> : in this case, rdiff-backup between drive0 and drive1 (no
> incremental on disk0)
>
> /backup/os/root (DISK1)    <---->    DUMP : 1:1 copy of the live root
> fs /backup/os/tmp  (DISK1)
> /backup/os/var  (DISK1)
>
> /backup/os/usr (DISK1)     <---->    RSYNC :  (with -delete option)
> for a quick mirror of current /usr
>
> PS: for user0, there are two copies of the data on disk0, 1 live
> synchronized with Unison and another one which is an incremental of
> the first one.  For less critical data (like /data/current/pictures)
> I use rdiff-backup between disk0 and disk1. In that case I would lose
> incremental backups if disk1 fails.
>
> I've simulated a crisis situation by removing the drive0 and swapping
> it with drive1. It worked (except for those entries in fstab
> referring to disk1).
>
> I have a cron job taking of the different backups at night.
>
> #!/bin/sh
>
> # Duplicate /
> # erase slive before mirroring, any other way?
> umount /backup/os/root
> newfs /dev/ad2s1a
> mount /backup/os/root
> # dump with 'live filesystem' option
> dump -0 -L -f - /dev/ad0s1a | (cd /backup/os/root ; restore -r -v -f
> -)
>
> # Duplicate /var
> umount /backup/os/var
> newfs /dev/ad2s1d
> mount /backup/os/var
> dump -0 -L -f - /dev/ad0s1d | (cd /backup/os/var ; restore -r -v -f
> -)
>
> # Duplicate /tmp (probably a wate of time)
> umount /backup/os/tmp
> newfs /dev/ad2s1e
> mount /backup/os/tmp
> dump -0 -L -f - /dev/ad0s1e | (cd /backup/os/tmp ; restore -r -v -f
> -)
>
> # incremental backup of the ./pictures directory on the second drive
> rdiff-backup /data/current/pictures /backup/data/backup/pictures
>
> # First, incremental of the user0_live dir on the same drive then
> rsync on the second drive
> rdiff-backup /data/current/user0_live /data/current/user0_incremental
> rsync  -a --delete /data/current/user0_incremental/
> /backup/data/backup/user0_incremental
>
>
> The only I don't like is the NEWFS command. Is there a cleaner way to
> do this dump ?
>
> I use this configuration is a non-critical installation (my house)
> but it has been serving its purpose so far.
> Dany
>
>
> PS:  On the rdiff-backup webpage there is a link to another tool call
> duplicity (http://rdiff-backup.stanford.edu/duplicity.html).  You can
> do remote backup but in that case the image can be stored on a remote
> FTP server and encrypted with GPG... sweet if you're planning to use
> your ISP's disk space for backups!
>
> Bob Johnson wrote:
> >A bunch of related questions:
> >
> >I'm setting up a small mail and file server.  The mail server part
> > will be Courier, while the file server part will primarily be used
> > via NFS and Samba to store backups of my desktop and laptop
> > computers.
> >
> >The system has a pair of WD1600JB 160 GB ATA 100 drives in it, both
> > on a single Promise PDC20268 UDMA100 controller, but each on a
> > separate channel (i.e. both are masters with no slaves).  My plan
> > is to use one of the drives as a backup for the other.  I want to
> > use a backup method that creates a mirror of the working drive so
> > that if it fails, I can simply mount the backup in place of the
> > working drive, and get back in business.  The operating system will
> > (probably) not be on either of these drives, they will only host
> > /home where mail and backup files will reside.
> >
> >I've tentatively decided to synchronize the mirror to the working
> > drive with rsync run once a night (perhaps more often later).  This
> > risks losing up to a day of mail, but that's probably not the end
> > of the world.  The reasoning I used was that if I use software
> > RAID, an unexpected power failure during a large write operation
> > (yes, it will be on a UPS) could corrupt both drives.  Running
> > rsync once a night would reduce the risk of a failure that damaged
> > both drives, since their write activity would not be so strongly
> > correlated.
> >
> >Is my fear of losing both drives in a software RAID (mirrored
> > drives) configuration a reasonable one?  Or is that not going to
> > happen?
> >
> >If I use rsync with -delete to maintain a mirror of the primary
> > drive, what happens when the primary drive fails?  Is there a
> > scenario that causes rsync to duplicate all the missing data on the
> > primary drive by deleting it from the mirror drive (I've heard of
> > this happening to someone, but I believe he was using a homegrown
> > perl script rather than rsync).
> >
> >Is Courier compatible with this scheme?  Or does it care about inode
> >numbers or some such thing that will make the backup copy useless?
> >
> >Is there any chance it would make sense to use the Coda file system
> > for this?
> >
> >Do any of the answers change if the mail server ends up on a remote
> >system, but I still want the maildirs backed up on the file server?
> >
> >Any other suggestions that don't involve buying new hardware?  An
> > IDE RAID controller would be nice, but buying one isn't on my list
> > of things to do.  But if I DID break down and buy a new controller
> > card, what should it be?
> >
> >Thanks,
> >
> >- Bob
> >_______________________________________________
> >freebsd-questions at freebsd.org mailing list
> >http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> >To unsubscribe, send any mail to
> > "freebsd-questions-unsubscribe at freebsd.org"


More information about the freebsd-questions mailing list