Sven Rautenberg: Nameserver, Redundanz und Caching

Beitrag lesen

Moin!

Dann wären die MXe alle mit derselben Priorität anzugeben - hätte auch den Vorteil, dass sich dann der Traffic verteilen würde - aber ich glaube nicht, dass das bei dir SO arg ist, oder?

Nein, der Mailtraffic ist gering. Es geht wirklich nur um eine
Lösung, falls der Hauptserver einmal offline wäre.
Es geht mir primär um Verfügbarkeit, nicht um Performance.

Es gibt eigentlich nur zwei typische Szenarien (abgesehen vielleicht von endlich vielen Speziallösungen in Sondefällen):
1. Zwei oder mehr MXe mit unterschiedlicher Priorität, alle mit höherer Prio liefern ihre Mails letztendlich zu dem primären MX mit kleinster Priorität - wenn der down ist, dann eben später.
2. Zwei oder mehr MXe mit gleicher Priorität - das dient dann zur Verteilung des Traffics, und die hereinkommenden Mails werden dann in der Regel irgendwie (versteckt und geheim im internen Netz) weitergeleitet zu den Mailboxservern, damit man sie mit POP3 oder IMAP abholen kann.

Szenario 2 trifft bei dir nicht zu, weil es kein "innen" gibt, sondern der Mailserver auch selbst die POP3-Mailbox anbietet. Bei zwei identisch priorisierten Mailservern gäbe es zwei Mailboxen, die man separat abfragen müßte. Außerdem wäre bei diesem Szenario nicht unbedingt gesagt, dass Mails, die an den dummerweise ausgefallenen Mailserver gehen sollen, dann alternativ an den nicht ausgefallenen Mailserver gleicher Priorität gehen. Je nachdem, wie MTas gestrickt sind, nehmen die vielleicht einfach nur einen der jeweiligen Prioritätsstufe. Bei Mißerfolg und dem Fehlen einer höheren Priorität wird vielleicht einfach mit der Auslieferung gewartet.

Bleibt also Szenario 1: Du hast einen Sekundären Mailserver, der die Mails für dich annimmt, falls der primäre Mailserver ausgefallen ist.

Dann frage ich dich aber einfach mal: Warum? Sämtliche Mailserver dieser Welt haben eine Mailwarteschlange, in der Mails bis zu 7 Tage lang aufbewahrt werden, ehe sie als endgültig unzustellbar an den Sender zurück gehen. Wenn dein primärer Mailserver also ausfällt, dann würde...

...ohne sekundären Mailserver die Auslieferung der Mails an dich in den Warteschlangen der sendenden Mailserver steckenbleiben und nach Wiederverfügbarkeit deines primären Mailservers nachgeholt. Eventuell erhalten Sender schon nach 4 Stunden (Standard bei Sendmail) eine Nachricht, dass die Mail immer noch nicht ausgeliefert werden konnte.

...mit sekundärem Mailserver die Auslieferung der Mails an diesen natürlich erfolgreich stattfinden, aber der sekundäre Mailserver seinerseits würde eine Warteschlange mit Mails anlegen, die alle darauf warten, an den primären Mailserver weitergeleitet zu werden. Solange der also offline ist, hat sich qualitativ nichts geändert. Im Gegenteil: Die Mailserver der Sender haben zuerst mal ein Erfolgserlebnis zu melden: Erfolgreich die Mail ausgeliefert - zwar nicht an den primären MX, aber das muß ja nicht zwingend böse sein, kurzfristige Nichterreichbarkeit kann ja viele Gründe haben. Dein sekundärer MX wird nun seinerseits bis zu 7 Tage warten (sofern du das nicht länger oder kürzer einstellst) und versuchen, die Mail weiterzuleiten - und beim Fehlschlagen dann eine Nichtzustellbarkeitsnachricht zurückschicken.

Allerdings: Wer es nicht schafft, innerhalb von 7 Tagen für seinen ausgefallenen Mailserver Ersatz zu beschaffen bzw. eine Alternativlösung einzurichten, der sollte vielleicht seine generelle Teilnahme am Mailverkehr überdenken. :)

Es macht jedenfalls keinerlei Unterschied, ob du einen sekundären MX hast, oder nicht: Solange der primäre MX offline ist, kriegst du keine Mails mehr. Wenn er schnell genug wieder online ist, kriegst du alle Mails, die in irgendwelchen Warteschlangen hängen, noch ausgeliefert. Alternativ kannst du natürlich auch einen Ersatzserver herbeischaffen und übergangsweise dessen Namen als primären MX verbreiten. Egal, ob du einen sekundären MX hast oder nicht: Auch dann werden die Mails in den Warteschlangen so nach und nach eintrudeln.

Wie erwähnt: Ein sekundärer MX muß heute leider mehr sein, als nur ein schlichter Forwarding-Slave für deine Maildomain. Spam-Versender zielen teilweise absichtlich auf die sekundären MX, weil dort die Wahrscheinlichkeit für eine Existenzprüfung der Mailbox geringer ist und die Mails erstmal komplett akzeptiert werden. Das bringt wiederum eine höhere Sendequote, gegenüber dem Kunden (der den Auftrag zum Spammen gab) ein Argument für mehr "erfolgreich abgeschickte Mails", und hat eben den entscheidenden Nachteil, dass nachträglich generierte Unzustellbarkeitsnachrichten garantiert den unschuldigen Inhaber der gefälschten Absenderadresse treffen.

Insofern verdoppelt ein sekundärer MX einfach erstmal deinen administrativen Aufwand, ohne tatsächlich irgendwie sinnvolle Zusatzarbeit zu leisten. Ist jedenfalls meine Praxiserfahrung. Natürlich kannst du argumentieren, dass du bei einem sekundären MX quasi den potentiellen neuen primären MX schon aktiv auf Standby laufen hast oder zumindest hilfsweise einen Blick in die Queue werfen könntest, ob irgendwelche wirklich wichtigen Mails reingekommen sind.

Andererseits: Wenn du dir Gedanken über Ausfallsicherheit eines Serverdienstes machst (in diesem Fall Mail), dann aber nicht in der Lage wärst, innerhalb von 7 Tagen einen ausgefallenen Server wieder in Betrieb zu setzen bzw. Ersatz dafür zu beschaffen, solltest du dir eher keine Gedanken um Ausfallsicherheit machen - oder zu einem Provider wechseln, der sowas leisten kann. :)

Das sehe ich ein. Andreas Lösung wäre hier dann anzuwenden. Reiners
Vorschlag einer softwaretechnischen Lösung wäre zwar sehr schön,
jedoch muss ich hier Andreas recht geben, dass auch der Server der
den LoadBalancer (z.B. PEN) betreibt ein "Single Point of Failure"
ist und genau dies will ich ja verhindern.

Klar ist es blöd, sich erst aufwendig zwei statt einen Server hinzustellen, dann aber an der Nichtverfügbarkeit des EINEN Loadbalancers zu scheitern. Logische Konsequenz: Der Loadbalancer muß auch redundant ausgelegt werden. Auf IP-, ARP- und Ethernet-Ebene kann man da sicher nette Dinge drehen - das ist dann aber explizit eine entsprechende Sonderlösung mit entsprechenden Kosten für Hardware und Administration, und garantiert nicht zum Taschengeldtarif zu kriegen.

Ist leider so: Mit normalem Kostenaufwand kriegst du nur relativ leicht erreichbare durchschnittliche Uptimes von 99,9% (8 3/4 Stunden Ausfall im Jahr) oder weniger (je nachdem, was dein Provider für den normalen Kunden so anbietet). Je mehr Neunen aber als Nachkommastellen hinten dranhängen sollen, desto teurer wird es. 99,9999% Verfügbarkeit entsprächen im Jahr durchschnittlich etwas mehr als 31 Sekunden Ausfallzeit des Systems - das wird man wahrscheinlich garnicht bemerken.

- Sven Rautenberg