Mailserver gehören zu jenen Servern, die am meisten unter Stress stehen. Besonders ärgerlich ist es dann, wenn überlastete SMTP-Partner die Mailzustellung ausbremsen. Dann stecken auch schnell zustellbare Sendungen in der Warteschlange fest, während der Server die den Stau auslösenden Mails an die Mailingliste in Lummerland eigentlich auch nachts zustellen könnte, ohne großes Aufsehen zu verursachen.
Multiple Instance
Mit dem jüngst erschienenen Mailserver Postfix 2.6 ([1], [2]) lassen sich derartige Konzepte erstmals einfach und unabhängig umsetzen. Der eingebaute Multiple-Instance-Manager (MIM, [3]) verwaltet mehrere, unterschiedlich konfigurierte Postfix-Instanzen auf ein und demselben Server [4]. Der Administrator arrangiert mit ihm ehemals kopfzerbrechend komplexe Konfigurationen in einfachen, leicht zu verwaltenden Setups.
Diese Instanzen laufen nahezu vollständig getrennt voneinander, jede hat ihre eigene Konfiguration in einem eigenen Verzeichnis und ihre eigene Warteschlange. Gemeinsam nutzen sie Ressourcen nur dann, wenn es ökonomischer ist, zum Beispiel beim Zugriff auf die Postfix-Binaries (Smtpd, Qmgr, Smtp) und die Dokumentation.
Das Ganze lohnt sich in der Regel immer dann, wenn ein Mailserver mehrere unterschiedliche Aufgaben verrichtet, also praktisch fast immer. Dementsprechend zahlreich sind die Einsatzmöglichkeiten, ein zweigeteiltes Postfix (siehe Abbildung 1) nutzt beispielsweise eine Instanz, um Mail vom Intranet in die Welt zu versenden. Die zweite Instanz besitzt eine völlig eigenständige Konfiguration (und Warteschlange) und führt für alle eingehenden Mails die Spam- und Viren-Erkennung beim Transport vom Internet ins Intranet durch.
Abbildung 1: Zwei getrennte Instanzen eines Postfix-Servers kontrollieren unabhängig voneinander Mail-Eingang und -Ausgang. Dabei bleiben Ressourcen wie Warteschlangen vollständig getrennt.
So verfügt der Postmaster über zwei sauber getrennte Instanzen und Queues, die er separat kontrolliert. Ein Stopp, Start oder gar Flush betrifft immer nur die ein- oder die ausgehenden Mails.
Fast Lane
Gerade rund ums Content Filtering lassen sich mit den unabhängigen Instanzen interessante Konstrukte bauen: In der Postfix-Dokumentation (»MULTI_INSTANCE_README«, [3]) findet sich ein Beispiel mit einer Instanz vor und einer hinter einem »content_filter«. Das folgende Setup dagegen soll zeigen, wie sich die Performance des Mailservers verbessern lässt, indem der Admin Postfix in zwei Instanzen aufteilt und so den Durchsatz des Servers steigert.
Eine aggressiv konfigurierte Instanz versucht Nachrichten so schnell wie möglich auszuliefern. Gelingt ihr das nicht im ersten Anlauf, reicht sie die Nachricht via »$smtp_fallback_relay« an die zweite, konservativ konfigurierte Instanz weiter. Die unternimmt in aller Ruhe weitere Zustellungsversuche und bounct die Nachricht auch an den Absender, falls das Ziel gar nicht erreichbar ist.
« Zurück
1
2
3
4
Weiter »