MX rotation and load balancing
Mark_Andrews at isc.org
Mark_Andrews at isc.org
Wed Jul 21 23:18:39 UTC 1999
BIND 8.2 / 8.2.1 supports random ordering of responses.
options {
rrset-order {
type mx order random;
order cyclic;
};
};
Mind you the MTA is supposed to randomly pick between MX records
of equal preference but if you randomise the answer it won't
matter if it don't.
Mark
> I have noticed that bind8 rotates MX records just like A records, which
> seems to be a good thing. However I have the mailhosts for my domain set
> up as follows:
>
> @ MX 10 mail1.mydomain
> @ MX 10 mail2.mydomain
> @ MX 10 mail3.mydomain
> @ MX 20 mail1.myisp
> @ MX 20 mail2.myisp
> @ MX 30 mail3.myisp
>
> However bind rotates this entire list, which means that in the next
> state, the client will see:
>
> @ MX 10 mail2.mydomain
> @ MX 10 mail3.mydomain
> @ MX 20 mail1.myisp
> @ MX 20 mail2.myisp
> @ MX 30 mail3.myisp
> @ MX 10 mail1.mydomain
>
> etc.
> With the effect that mail1.mydomain will be listed before mail2.mydomain
> in 5 of 6 states. And as many mailserver implementations are simply
> picking the first MX record with the lowest weight, this means that
> mail1.mydomain gets much more traffic than mail3.mydomain. This seems to
> defeat the purpose of having multiple hosts with the same weight. I
> guess this is a mailer problem, but that's a problem for remote hosts:
> nothing I can do about it. More intelligent rotation in bind would help
> as well.
>
> Another solution I tried is having multiple A records for the mailhost
> (which are also rotated by bind):
>
> @ MX 10 mail.mydomain
> @ MX 20 mail1.myisp
> @ MX 20 mail2.myisp
> @ MX 30 mail3.myisp
> mail A 192.168.1.1
> mail A 192.168.1.2
> mail A 192.168.1.3
>
> This works a lot better for load balancing, however as soon as one of
> the three mailhosts drop dead, a lot of the mail for my site is routed
> via mail1.myisp because many mailservers don't seem to check for
> multiple A records, but only use the first one. If this happens to be
> the host that is down, then they immediately use the backup hosts.
>
> I guess the ideal solution would be something like:
>
> @ MX 10 dummy1.mydomain
> @ MX 10 dummy2.mydomain
> @ MX 10 dummy3.mydomain
> @ MX 20 mail1.myisp
> @ MX 20 mail2.myisp
> @ MX 30 mail3.myisp
> dummy1 A 192.168.1.1
> dummy1 A 192.168.1.2
> dummy1 A 192.168.1.3
> dummy2 A 192.168.1.2
> dummy2 A 192.168.1.3
> dummy2 A 192.168.1.1
> dummy3 A 192.168.1.3
> dummy3 A 192.168.1.1
> dummy3 A 192.168.1.2
>
> However this just doesn't look "nice" to me. Is there any other way
> which I may be missing?
>
>
> Greetings,
>
> Johan van Selst
>
>
--
Mark Andrews, Internet Software Consortium
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742 INTERNET: marka at isc.org
More information about the bind-users
mailing list