* Etienne Goyer > I have been asked to consider how to build an high-availability > Cyrus installation. This is a small installation (~200 accounts ... > peanuts), so scalability is not really a concern. In this regard, a > Murder is not really appropriate. > > The platform would be Linux. We already have the fail-over stuff > figured out with heartbeat and friends, so that part is covered. > > From what I can see, I would have two possibilities to make a hot > spare Cyrus IMAP daemon : replication, or cluster filesystem/block > device (drdb, GFS, etc).
There's a third option, which is the one I prefer the most: shared block device. Connect your two servers to a SAN, and store all of Cyrus' data on one LUN, which both servers have access to. Then, set your cluster software to automatically mount the file system before starting Cyrus. You'll need STONITH or IO-fencing to protect against file system corruption in a split-brain scenario, but other than that it's a fairly simple solution that's unlikely to break in spectacular ways. You could share a SCSI cabinet between the servers instead of using a SAN, though I can't say I reccomend it - too failure-prone. I'm working on building such a system with Cyrus+Exim these days, and I tend to use the same setup for all other HA stuff I set up as well. I can't remember that any of those systems have ever misbehaved, either. So based on that experience I'd reccomend doing it this way. -- Tore Anderson --- Cyrus Home Page: http://asg.web.cmu.edu/cyrus Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html