Colin Bruce wrote:
I haven't tried it yet but it may be that DRBD (http://www.drbd.org) might be able to do what you want. We used it with a UW Imap server and I don't see why it shouldn't work with Cyrus. It is probably possible to split the users between two cyrus servers and have each group replicated to the other server so that each server could become a server with all users reasonably quickly. I suspect it would take a few minutes to fail over. As I say I haven't tried this so perhaps it won't work.
drbd in combination with "heartbeat" and a journalling filesystem can do exactly this. You can have Cyrus IMAP running on both servers (different users), with the Cyrus storage areas mirrored to the other server via drbd. When heartbeat notices that one of the servers has died, it can mount the other server's storage area (since it has a copy) and start up Cyrus (and take over the other server's IP address as well, of course).
Users would notice a service disruption, but it's not likely any mail would be lost and they would only have to reconnect. If their mail client is set to only connect/check their mailboxes every few minutes, they may not notice the switchover at all :-)
---
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