Cyrus IMAP and MySQL mailboxes (Building load-balancing cluster)

Simon Matter simon.matter at invoca.ch
Fri Nov 17 01:24:24 EST 2006


> 2006/11/17, Sarah Walters <s.walters at its.uq.edu.au>:
>> > > > The main problem is to build a shared storage that can
>> > survive server
>> > > > crashes, where mail will be stored.
>> > >
>> > > Use a SAN.
>> > First of all, such SAN must be very reliable itself. Second, it must
>> > support some kind of global locking mechanism, so several nodes can
>> > use lock to protect file from simultaneous writing. Third, Cyrus IMAP
>> > must lock mailboxes, so several instances on different server can work
>> > with one mailbox without conflicts. Whether Cyrus IMAP use locks or
>> > assumes that he is the only one who access mail box, I don't know. Can
>> > it safely access one mailbox from different servers, I don't know too.
>>
>> A good commercial SAN costs a fortune, but it is very reliable. And did
>> you want a *cluster* or a group of servers? A cluster should operate as
>> if it is a single host, and thus avoid the locking issues. Have a look
>> at Red Hat's clustering product for an example. If our cyrus
>> installation was going to be clustered, RH cluster with a SAN backend is
>> what we would do.
>
> Yes, I need the cluster exactly. Have I lots of domains, I could store
> mailboxes of each domain on separate server. But I have only one big
> domain. So, I need to spread mailboxes on one domain across several
> servers. And than I need very clever load-balancer that will send
> request to server where particular mailbox is. I don't know such
> balancers aware of mail system structure.

The question here is what is "one big domain" exactly? How many users,
what's the expected mailbox size (quota) and which usage pattern. That's
what really matters here.

> Another way is to try to use something like GFS, constructed from
> several servers. Each server will contain one portion of data and will
> have Cyrus IMAP instance. But GFS will be mounted to each server, so
> each Cyrus IMAP instance will see whole filesystem. Of course, here we
> have same possible lock issues as with NFS. And we have no redundancy,
> as I understand.
> So, I need cluster for reliability to. I want to have each mailbox at
> least on two servers (or to have shared storage upon two-nodes
> failover cluster), so I can survive crash of any node (and not only of
> disk system, that can be protected by RAID, but CPU crash, memory...)
> with minimal recovery time.

You may also search the list archives for some more info on the topic.
There has been alot of discussion recently.

Simon


More information about the Info-cyrus mailing list