LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: Load balanced mail system

To: "LinuxVirtualServer.org users mailing list." <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: Load balanced mail system
From: "Scott J. Henson" <scotth@xxxxxxxxxxxx>
Date: Thu, 15 Dec 2005 18:11:03 -0500
Pierre Ancelot wrote:

Hi everyone,
I tried to implement a mail system load balanced but i had some issues:

- The system implement imap amd imaps

 So in this case, someone creating an imap folder will creating it on
only one node....

- How to update a mail received on one host to every hosts ? using rsync
would delete every mail received in the same time on other servers...

All this makes me think i should store mails in a mysql cluster database
or in a filesystem like AFS for example.

Anyone could enlight me on this please ?


Perdition or Courier-Imap. Both of them are/have imap proxies(or directors). So what you end up with is one(or more) front end proxies that send the person to the right machine. It looks something like this. Btw, we are moving to such a setup so I don't know how well it will be

The connection hits your load balancers(just straight ip_vs).
Then it hands of the connection to a pool of imap proxies. Then each imap proxy figures out which real mail warehouse to send the message to(ldap is a good place to store this info cause it too can be load balanced, slaves anyway and then no need to load balance the master). At that point the user does their thing and its all stored on one server. But you have many mail boxes distributed across many mail warehouses. There is an issue of backups and such for the mail warehouse, but this distributes the load so you can serve many more mail boxes than one server could. I think we are gonna go with RAID arrays and then hot spare mail warehouse mirrors. If the lead warehouse fails the backup comes online(through something like heartbeat). This should be more than enough redundancy for us, but you may want to look into other solutions if you want more, aka fiberchannel or some such.

Obviously this setup can get very complexe but become very stable. Depending on your application you can throw money at it or not even have hot spares and trust in your RAID/backups.
<Prev in Thread] Current Thread [Next in Thread>