BackupPC-users

Re: [BackupPC-users] How does BackupPC work?

2009-02-18 12:35:51
Subject: Re: [BackupPC-users] How does BackupPC work?
From: Tino Schwarze <backuppc.lists AT tisc DOT de>
To: backuppc-users AT lists.sourceforge DOT net
Date: Wed, 18 Feb 2009 18:33:44 +0100
Hi John,

On Wed, Feb 18, 2009 at 10:58:14AM -0600, John Goerzen wrote:

> I've been reading docs on BackupPC and I have a few questions about
> how it works.
> 
> First off, I gather that it keeps a hardlinked pool of data, so
> whenever a file changes on any host, on the backup device, it will be
> hardlinked to a file containing the same data, regardless of the host
> it came from, right?
 
Right.

> So, given that, I don't really understand why there is a distinction
> between a full and an incremental backup.  Shouldn't either one take
> up the same amount of space?  That is, if you've got few changes on
> the client, then on the server you're mostly just hardlinking things
> anyway, right?  So why is there a choice?
 
The only difference between incremental and full (for rsync!) is that
1) all files are completely checksummed, so you detect pool curruption
2) you get the whole directory structore for the server (which is used
as the base for incremental backups) with all hardlinks to pool files

For an incremental, you only get the directory structure and hardlinks
to new/modified files to the pool.

> Secondly, I gather that BackupPC mangles filenames.  That doesn't
> bother me, but how is it possible to use rsync in an efficient way
> with that?  rsync wouldn't be able to match up client-side filenames
> with the server-side names since the server names are different, so it
> wouldn't do its efficient transfers.  Either that or you're having to
> create temporary directory trees on the server, which sounds
> inefficient.  Or am I missing something?

BackupPC does not use rsync directly on the backup server. It uses a
Perl module File::RsyncP which speaks the rsync protocol and handles all
the checksumming, file comparison etc. IIRC, the file hash for the pool
is built based on the first 256k of a file, therefore, collisions occur
and are handled (by creating new pool files). That way, the pool may be
compressed as well. (I've got the feeling I missed some detail here, but
the overall picture should be correct.)

HTH,

Tino.

-- 
"What we nourish flourishes." - "Was wir nähren erblüht."

www.lichtkreis-chemnitz.de
www.craniosacralzentrum.de

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
BackupPC-users mailing list
BackupPC-users AT lists.sourceforge DOT net
List:    https://lists.sourceforge.net/lists/listinfo/backuppc-users
Wiki:    http://backuppc.wiki.sourceforge.net
Project: http://backuppc.sourceforge.net/