High availability ... again
tore at linpro.no
Tue Jun 22 12:52:09 EDT 2004
* 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.
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
More information about the Info-cyrus