Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 9 Apr 2006 18:13:10 +0100 (BST)
From:      Jan Grant <jan.grant@bristol.ac.uk>
To:        Bill Moran <wmoran@collaborativefusion.com>
Cc:        "Marc G. Fournier" <scrappy@hub.org>, duane@greenmeadow.ca, freebsd-questions@freebsd.org
Subject:   Re: OT - Scalable email server solution needed
Message-ID:  <20060409180902.K97495@tribble.ilrt.bris.ac.uk>
In-Reply-To: <20060409105550.0620530a.wmoran@collaborativefusion.com>
References:  <443731E5.9030209@greenmeadow.ca> <20060408074034.200f77a1.wmoran@collaborativefusion.com> <20060409002843.B1096@ganymede.hub.org> <20060409105550.0620530a.wmoran@collaborativefusion.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 9 Apr 2006, Bill Moran wrote:

> I have only a small amount of experience with Cyrus.  However:
> http://cyrusimap.web.cmu.edu/twiki/bin/view/Cyrus/Backup
> 
> Based on that document, it appears as if you're dodging the bullet with
> backups.  My interpretation is that Cyrus keeps mailboxes in some sort
> of db file.  If a db file is being modified while you're backing it up,
> the backed up version will be inconsistent, thus the entire mailbox
> unusable.

Not quite. Cyrus maps the imap hierarchy onto directories, with one 
(written once only) file per message. As flat-file as you can get. On 
top of this are per-folder index files (which can be recreated using 
reconstruct) holding stuff like preformatted IMAP responses, header 
indexes etc. That's where cyrus gets its speed from.

Additionally there's a per-server "mailboxes" DB holding folder 
information (including ACLs), per-user seen/subscription databases and a 
deliverdb for duplicate suppression.

The latter can all be stored in multiple formats, including bdb; hot 
backups for these work much the same way as for anything other bdb.

It's not perfect, but there's minimal bullet-dodging.

jan

-- 
jan grant, ISYS, University of Bristol. http://www.bris.ac.uk/
Tel +44 (0)117 3317661   http://ioctl.org/jan/
ioctl(2): probably the coolest Unix system call in the world



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060409180902.K97495>