Live backup

Bron Gondwana brong at fastmail.fm
Wed Jun 16 07:03:13 EDT 2010


On Wed, Jun 16, 2010 at 11:45:10AM +0200, Roland Baum wrote:
> For non-HA situations, you can do a 2-stage rsync-backup once a day:
> 
> 1 ) copy all cyrus-folders (/var/spool/cyrus, /var/lib/cyrus etc) via rsync to 
> a backup-folder
> 2 a) shutdown cyrus
> 2 b) rsync the same folders to complete the snapshot

rsync is horribly inefficient due to the masses of 'stat' calls it makes
on all the files in the spool, unfortunately.  It's OK if you're not living
on the edge - but we found it cost too many hours.

> 2 c) restart cyrus
> 
> 
> This is a feasible solution with a small downtime (a few seconds), without 
> using murder or lvm-based volumes or something else.

It's nowhere near realtime though, which doesn't actually answer the original
question: "I'm looking to keep a live or near-live backup"

The answer, currently, is replication along with delayed expunge and
rename-delete.  It's not 100% totally safe to due to the expunge hole
(if you expunge a message before it gets replicated, the message file
will never exist on the replica) - but the hole basically requires that
replication fall behind, that the message file be expunged almost
instantly, and that you lose the master and still want to recover a
deleted message.  It's very unlikely.

I am planning with Cyrus 2.4 (the mythical beast that is Cyrus 2.4) to have
an incremental mbdump format that's efficient to generate.

I say mythical, but I rolled out the first copy of cyrus-future on our
production machines today.  Only for a test instance, but it will have live
users (me and Rob for a start) on it in a few hours!

Bron.


More information about the Info-cyrus mailing list