[Postfixbuch-users] Postfix Loadbalancing und Backup

Maximilian Thoma nospam at thoma.cc
Do Nov 29 06:36:28 CET 2007


Hallo Liste,

ich habe vor mit 4 Servern ein "Loadbalancing/Backup" einzurichten.

Ziel dabei soll sein die Last und die User auf diese 4 Server zu
verteilen. Dabei soll jeweils die anderen 3 den Backup für einen machen.

Das verteilen der Last möchte ich per DNS realisieren das funktioniert
auch im LAB sehr gut.

mxlb.example.de -> A 10.4.4.1, A 10.4.4.2, A 10.4.4.3, A 10.4.4.4
mx01.example.de -> A 10.4.4.1 und jeweils dazu den PTR
mx02.example.de -> A 10.4.4.2 und jeweils dazu den PTR
mx03.example.de -> A 10.4.4.3 und jeweils dazu den PTR
mx04.example.de -> A 10.4.4.4 und jeweils dazu den PTR

Bei einer Kundendomain wird dann mxlb.example.de als MX eingetragen. via
Round Robin werden dann die Mails auf die Server verteilt.

Alle Userdaten sind in MySQL gespeichert. Jeder Host betreibt seinen
eigenen POP und IMAP server. per Perdition werden dann unter einer
Adresse (imap.example.de und pop3.example.de) zur Verfügung gestellt. Es
wird anhand einer mysql Tabelle entschieden wohin der Login (imap und
pop) "geroutet" wird. Das funktioniert ebenfalls super. Die MySQL
Tabellen werden via MySQL Replication auf allen Servern verteilt.
Die Domains für die der Server nicht zuständig ist sind in der
relay_domains drin und sollen dann an den entsprechenden Server
zugestellt werden.

Mein Problem ist folgendes:

Beispiel:

from:x at y.de to:user at example.org

domain example.org liegt auf mx02.example.de
und wird von mx01.example.de angenommen.

mx01.example.de kennt die domain example.org nicht ist aber in
relay_domains drin und der mx eintrag von der domain wird aufgelöst um
den relay host rauszufinden. wenn jetzt bei der auflösung durch das
round robin gerade mx01.example.de als zieladresse aufgelöst wird dann
bounced er die nachricht mit loop back to myself und stellt sie nicht
dem host mx02.example.de zu.

meine idee war dann eine transport map zu schreiben allerdings blieb das
leider ohne erfolg.

mysql> select * from transport;
+----+------------------+------------------------+
| id | domain           | destination            |
+----+------------------+------------------------+
|  1 | example.org      | smtp:mx02.example.de   |
+----+------------------+------------------------+
1 rows in set (0.00 sec)

das ganze hängt dann per
transport_maps = mysql:/etc/postfix/mysql-v_transport.cf
drin.

Der Test ob die Transport Map funktioniert war ebenfalls erfolgreich.

root at mx02:/# postmap -q example.org mysql:/etc/postfix/mysql-v_transport.cf
smtp:mx02.example.de

Leider ignoriert er diese Map vollständig.

Was kann ich tun damit es funktioniert bzw. habt ihr eine bessere Idee ?

Danke im voraus.


Gruß


Maximilian


-- 
                                                     \\|//
                                                     (o o)
--------------------------------------------------ooO-(_)-Ooo---
Maximilian Thoma
PGP: http://mirror.thoma.cc/pgp/0x6AC4976A.asc

Resistance is futile ...
Do not use my spamtrap: spamtrap at thoma.cc - Thanks!      Ooo.
-------------------------------------------------.ooO----(  )---
                                                 (  )    (_/
                                                  \_)



Mehr Informationen über die Mailingliste Postfixbuch-users