Load balance multiple servers with common storage
davidk at cs.umass.edu
Wed Nov 12 20:32:06 EST 2008
The Mac OSX 10.5 Leopard series of server software includes a
"clustering" mail server that is a modified version of Cyrus and
postfix. This uses their XSAN technologies as the shared backend that
holds the files. It isn't cheap however. Between the Xservers, Qlogic
Fibre switch, XRAID storage units, you are easily dropping 15k.
I have been building one of these and on the front end I use a Barracuda
300 load balancer. So far so good.
Andrew Morgan wrote:
> On Tue, 11 Nov 2008, ram wrote:
>> I have been googling but couldnt see any concrete answer
>> Is it possible to load balance multiple cyrus imapd connections with
>> multiple servers connecting to same common storage
>> Say , I mount the /var/spool/imap and /var/imap and the sieve dir from a
>> SAN box on 2+ servers, Any user trying to access his mailbox will
>> connect to any server using a h/w load balancer
>> Irrespective of which server he connects to he will always see the same
>> Is this a feasible solution. Will it not create locking issues on the
>> mailboxes.db How many imap processes can a single mailboxes.db handle If
>> I want to give a zero delay response.
>> If there is requirement for more mailboxes , I just add more frontend
>> boxes behind the load balancer.
>> Can this work ?
> You have to use an actual clustered file system solution to do this.
> Search the mailing list archives for "cyrus cluster" and you should find
> extensive discussions on this.
> Some folks use a frontend proxy such as Perdition or nginx in combination
> with multiple replicated backends for high-availability in order to scale
> to large numbers of concurrent connections. There are some tradeoffs with
> that solution also (cannot share mailboxes between backend servers).
> Personally, I use the Cyrus built-in clustering (named "Murder") with 2
> backends and 3 frontends. The 3 frontends are behind a ServerIron network
> load balancer. The backends connect to a SAN, but they do not share the
> same LUNs. This provides excellent scalability, but not
> high-availability. If one of the backend servers dies, all the mailboxes
> it hosts will go offline until it is replaced.
> Cyrus Home Page: http://cyrusimap.web.cmu.edu/
> Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
> List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Software Specialist I
CSCF - Computer Science Computing Facility
Department of Computer Science
More information about the Info-cyrus