Re: [exim] heartbeat load balancing and exim

Top Page
Delete this message
Reply to this message
Author: Christian Recktenwald
Date:  
To: Jeroen van Aart
CC: exim-users
Subject: Re: [exim] heartbeat load balancing and exim
On Wed, Mar 26, 2008 at 02:37:22PM -0700, Jeroen van Aart wrote:
> Just some ideas about using something like heartbeat to load balance 2
> or more MTA servers. Say in the case you have 2 servers and wish to
> combine them in a load balancing set up. This would require a 3rd server
> to serve as a load balancer, either using heartbeat or a dedicated
> machine like a cisco box.


I think you're confusing things.

"heartbeat" is a software for detecting outages and
maintaining failover services. This
can be used as a component for implementing a
high availability (HA) service build of two (not more)
machines.
A "load balancer" is for distributing requests on several
(2 or more) worker systems running in parallel, used
when one single machine would not bear the load.

> If this is the case wouldn't implementing a load balancing setup
> actually introduce more points of failure?


Any single component added introduces at least one more point
of failure.

As you ask this, you're discussing HA, not load balancing.

> You have halved the chance of
> a failed MTA server causing downtime, but introduced the chance of the
> load balancer failing, causing downtime of both MTA servers.


sure.

Again, you're looking for HA, not for load balancing.

For HA you run heartbeat on both mail servers,
and the active one will have the services activated and the
other one will have them shut down.
If the active system fails, heartbeat will detect this
and enable services on the standby host.

> You also
> may have to deal with the added complexity of replicating the mailstore
> on 2 (in this example) servers, and such a mechanism (using rsync, or
> drbd) will have its own chance of failure.


exactly.

There exists some sort of reference design dividing the
discrete tasks of mail handling which are built
around a file storage, which is lined out
in the exim handbook. At least in the print version.
This takes into account the design of SMTP concerning
outages using DNS IN MX RR.

To get the idea think of two SMTP listeners just receiving
mail and instantly writing them to a common storage.
Both are pointed to by an MX record with same or
different priority. Any of them may fail without causing
interruption of service. No additional LB or HA setup needed
here. (For POP/IMAP it's not as easy.)

> Or is there a way to access a server directly, automatically, when a
> load balancer fails? Maybe I am missing some obvious things.


As stated above.

-- 
Christian Recktenwald      : voice +49 711 601 2091  : Boeblinger Strasse 189
chris@???            : fax   +49 711 601 2092  : D-70199 Stuttgart