From owner-freebsd-questions@FreeBSD.ORG Sun Apr 9 17:14:32 2006 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7765116A405 for ; Sun, 9 Apr 2006 17:14:32 +0000 (UTC) (envelope-from jan.grant@bristol.ac.uk) Received: from dirg.bris.ac.uk (dirg.bris.ac.uk [137.222.10.102]) by mx1.FreeBSD.org (Postfix) with ESMTP id 58FEF43DA9 for ; Sun, 9 Apr 2006 17:13:46 +0000 (GMT) (envelope-from jan.grant@bristol.ac.uk) Received: from mail.ilrt.bris.ac.uk ([137.222.16.62]) by dirg.bris.ac.uk with esmtp (Exim 4.60) (envelope-from ) id 1FSdTi-0003jM-L5; Sun, 09 Apr 2006 18:13:36 +0100 Received: from cse-jg.cse.bris.ac.uk ([137.222.12.37]:54608) by mail.ilrt.bris.ac.uk with esmtps (TLSv1:AES256-SHA:256) (Exim 4.50) id 1FSdTa-0006CJ-Kk; Sun, 09 Apr 2006 18:13:31 +0100 Date: Sun, 9 Apr 2006 18:13:10 +0100 (BST) From: Jan Grant X-X-Sender: cmjg@tribble.ilrt.bris.ac.uk To: Bill Moran In-Reply-To: <20060409105550.0620530a.wmoran@collaborativefusion.com> Message-ID: <20060409180902.K97495@tribble.ilrt.bris.ac.uk> References: <443731E5.9030209@greenmeadow.ca> <20060408074034.200f77a1.wmoran@collaborativefusion.com> <20060409002843.B1096@ganymede.hub.org> <20060409105550.0620530a.wmoran@collaborativefusion.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Spamassassin: mail.ilrt.bris.ac.uk X-Spam-Score: 0.0 X-Spam-Level: / X-Spam-Score: -1.4 X-Spam-Level: - Cc: "Marc G. Fournier" , duane@greenmeadow.ca, freebsd-questions@freebsd.org Subject: Re: OT - Scalable email server solution needed X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Apr 2006 17:14:32 -0000 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