Postfix im Cluster

W

Willüüü

Guest
Hallo zusammen,

ich betreibe jetzt schon seit einer Weile einen Postfix, MySQL, Dovecot, Amavis, SpamAssasssin Mail Server. Jetzte spiele ich mit dem Gedanken das etwas ausfallsicherer zu bauen. Ich habe folgende Idee gehabt, mindestens 2 Postfix Server die die Mails entgegen nehmen und in einen gemounteten NFS-Share verteilen auf den die maildirs liegen. 2 Dovect Server greifen auf die Share zu um so die IMAP Verbindungen(SSL) abzuhandeln. Dann benötige ich noch einen DB-Server, bloß wie halte ich diesen ausfallsicher? Mit einem MySQL Cluster? Und wie verteile ich die Anfragen auf die Postfix und Dovecot Server? Mit einem Loadbalancer und einem einfachen Round Robin Verfahren? Mehreren MX-Einträgen mit höherer oder identischer Priorität?

Ich bin für jeden Vorschlag, Ratschlag dankbar.

Vielen Dank.
 

bitmuncher

Moderator
Ein MySQL-Cluster ist recht fehleranfällig und sollte aus Sicherheitsgründen prinzipiell nur in geschlossenen LANs eingesetzt werden (Stichwort: dynamische Port-Vergabe für Rückverbindungen). Ich würde eher zu einer Replikation raten. Da Postfix ja eh nur aus der DB liest, kann es problemlos auch die Slaves nutzen und der Master bleibt für die Schreibzugriffe oder den Notfall frei. Alternativ verwendest du eine Master-Master-Replikation.

Für's Loadbalancing wirst du aber einen Loadbalancer benötigen, der mindestens Layer 4 TCP unterstützt. Ob Round-Robin wirklich sinnvoll ist, würde ich erstmal ausprobieren. Kommt ganz darauf an, ob die verwendeten DB-Server eine identische Leistung bringen. Wenn nicht, dürfte eine Verteilung anhand von SNMP-Daten wie LoadAVG, CPU-Usage, RAM-Usage, HD-Durchsatz usw. sicherlich sinnvoller sein.

Im übrigen wirst du mit identischen IMAP-Servern, die via Round-Robin verteilt werden vermutlich ein Problem bekommen, da z.B. der Login an Server-1 geht, der Request zum Abrufen an Server-2 u.ä. Du wirst also einen LB benötigen, der in der Lage ist Verbindungen einer IP auch auf einem bestimmten Server zu belassen. Selbiges gilt für SMTP.
 
W

Willüüü

Guest
Hallo Bitmuncher,

das Problem mit dem Loadbalancer lässt sich testen. Die Loadbalancer die wir einsetzen sind speziell für SMTP und IMAP optimiert. Die DB-Server werde ich nur intern abfragen um die Benutzerinformationen zentral aus der DB zu bekommen. Von MySQL Replikation habe ich generell wenig Ahnung, da muss ich mich noch genauer einlesen. Wo ich noch nicht zu 100% sicher bin ist wie ich den Ausfall des NAS Servers verkraften kann. Entweder eine rsync Methode bzw. mal sehen was sich da machen lässt. Was hälst du von der MX Prioritäts Variante und nur die IMAP Server zu balancen? Wie machen das generell eigentlich Provider wie GMX, T-Online usw.? Diese werden doch sicher auch eine Postfix MySQL oder Exim MySQL Kombination verwenden?

Danke nochmal.
 

bitmuncher

Moderator
Für das Spiegeln von Festplatten übers Netzwerk bietet sich DRBD an. In Clustern wird das recht häufig verwendet und ich habe bisher kaum schlechte Erfahrungen damit gemacht. Man muss nur dafür sorgen, dass das zu spiegelnde Dateisystem nicht beim Systemstart gemountet wird, sonst wundert man sich, warum das Spiegeln nicht geht. ;)

Schau auch mal auf http://www.linux-ha.org/ wo du unter http://www.linux-ha.org/DRBD auch DRBD findest. Auf der Seite findet man beim Stöbern viele gute Infos zu HA-Linux-Netzwerken.
 
Oben