[afnog] Clustering Exim
sm at resistor.net
Thu Feb 25 16:52:47 UTC 2010
At 08:06 25-02-10, Phil Regnauld wrote:
> You want a redundant mail routing setup, on which mails can't
> get "stuck" if you lose power, crash, etc... ?
The idea seems to be about how to span mail spools across multiple hosts.
> If you're going to pull something like that off, you'd better start
> looking at Linux + DRBD + LVS, or FreeBSD + GeomGate + CARP.
CARP is not required unless you want some internal load
balancing. MTAs should retry delivery. If one host is done, it can
always contact the next host available.
> Any other form of non-synchronous replication will leave you with
> potentially 1 or more mails stuck on the currently active system.
The main problem is how to avoid that message from being stuck in a
spool when the host is unavailable.
> Then if the master goes down, the slave must detect that (heartbeat)
> and move the queue from the backup location to the primary,
> and reload
> Exim (or whatever is needed).
> But when the master recovers, you need to find out if it has lost any
> mails in the process (after all, you don't know if the outage was
> a loss of connectivity, or a crash). Either way, you'll
> need to setup
> some sort of mechanism to avoid duplicate mails.
When the master goes down, take it off the list of available
hosts. You either have to "copy" the spool to another host where it
can be processed or else have some "master" spool and keep track of
messages that have been sent.
> My conclusion would be: don't bother, just use multiple identical
> servers, and load balance. Have yet to lose a mail on
> setups like this
> (~ 1.000.000 mails / day, for the past 8 years or so).
I agree that it is not worth the trouble unless there are a lot of
mail servers. The MTA will probably have to be customized then. If
you are doing one million mails a day, one or more MTAs is
enough. If there is any delivery to POP3/IMAP, add LDAP for validation.
More information about the afnog