From: sirtwist on
We're investigating ways to load balance SMTP. Currently we're using
multiple IPs defined for the same A record, but I'm not convinced this
is the best solution, as one of our servers tends to get the the bulk
of the traffic.

We looked at using multiple MX record definitions with the same
priority level, but that restricts us from having the flexilbity to
dynamically add additional servers to the cluster without having to
modify the MX records of thousands and thousands of domains.

We also looked at using balance, which did work. However, the problem
with using balance was that it broke RBL checking because our sendmail
servers saw all the traffic as originating from the balance server.

So... essentially what we need is an effective way to load balance
SMTP traffic to a cluster of sendmail servers (inbound only) that will
allow those sendmail servers to do RBL checking (which is their
primary purpose). Any thoughts?

George
From: Andrzej Adam Filip on
sirtwist <interjuncture(a)gmail.com> wrote:

> We're investigating ways to load balance SMTP. Currently we're using
> multiple IPs defined for the same A record, but I'm not convinced this
> is the best solution, as one of our servers tends to get the the bulk
> of the traffic.
>
> We looked at using multiple MX record definitions with the same
> priority level, but that restricts us from having the flexilbity to
> dynamically add additional servers to the cluster without having to
> modify the MX records of thousands and thousands of domains.
>
> We also looked at using balance, which did work. However, the problem
> with using balance was that it broke RBL checking because our sendmail
> servers saw all the traffic as originating from the balance server.
>
> So... essentially what we need is an effective way to load balance
> SMTP traffic to a cluster of sendmail servers (inbound only) that will
> allow those sendmail servers to do RBL checking (which is their
> primary purpose). Any thoughts?
>
> George

Have you considered "Linux Virtual Server via Direct Routing"?
http://kb.linuxvirtualserver.org/wiki/LVS/DR
[ I do not use it myself ]

It may be the best option if you takes steps to avoid single Ethernet
switch being "single point of overall failure".

--
[pl>en Andrew] Andrzej Adam Filip : anfi(a)priv.onet.pl : anfi(a)xl.wp.pl
The flush toilet is the basis of Western civilization.
-- Alan Coult
From: Grant Taylor on
On 7/3/2008 5:10 PM, Andrzej Adam Filip wrote:
> Have you considered "Linux Virtual Server via Direct Routing"?

This is exactly what I was going to suggest.

> [ I do not use it myself ]

I'm not currently using LVS (a.k.a. IPVS), but I have used it in the
past. In hind site, it is ridiculously easy to use. Once you have the
routing set up, simply running the ipvsadm command to create the initial
ipvs and once per back end server (easily scriptable).

What IPVS in DR mode does is allow the IPVS director (with the virtual
IP) receive packets and forward them on to real back end servers in such
a way that the source IP remains unchanged.

> It may be the best option if you takes steps to avoid single Ethernet
> switch being "single point of overall failure".

Well, this is where you get tricky and have multiple LVS setups. Have
each LVS be a separate MX or IP there for.



Grant. . . .