Backup Mailserver

chris085

Registered User
Sers Leute,

ich möchte die Risiken eines Ausfalls meines Root Servers gerne minimieren um zumindest im Falle eines Ddos Angriffs oder eines Hardwaredefektes was in der Hinterhand zu haben.
Höchste Priorität spielt für mich der Mailserver.
Webserver & co sind erstmal minderwichtig.

Laut der des Smtp Prot. auf DNS ebene gibt es MX Records die ich nach Wichtigkeit anpassen kann.

Nun benutze ich auf meinem Hauptserver Plesk und möchte mir einen zusätzlichen vserver anschaffen.

Die Frage ist wie realisiere ich das ganze, welche vorgehensweise ist am klügsten?

Gruß
 
Hi,
Du kannst damit zumindest den reibungslosen Empfang sicherstellen.

MX Record 1 = Hauptserver Priorität 10
MX Record 2 = Ersatzserver Priorität 20

Es wird erst versucht die Mail an den MX mit der geringsten Prio-Zahl zu schicken, wenn dieser nicht erreichbar ist, dann wird der zweite Server probiert.

Hier müssen alle Konten etc angelegt sein, dass der Server auch wirklich die eMails annimmt.

Wie Du automatisch alle eMail Accounts aus Plesk ausliest und beim zweiten anlegst kann ich Dir aber leider nicht sagen, dieser Artikel sollte Dir aber alle anfallenden Fragen zum MX-Record beantworten: MX Resource Record - Wikipedia

Schönen Abend,
Basti
 
Last edited by a moderator:
Die Frage ist, ob Du mithilfe der MX-Records überhaupt die Redundanz erreichen kannst, die Du willst. Mit Servern bei einem Hoster wird das ziemlich schwierig werden.

Wie soll Dein Fail-over aussehen? Wenn Du lediglich erreichen willst, dass Deine Mails irgendwo zwischengespeichert werden, brauchst Du eigentlich gar nichts unternehmen. Jeder vernünftige MTA (leider auch zunehmend die der Spammer) unternimmt mehrere Zustellversuche, bevor er aufgibt -- normalerweise 5 Tage lang. In der Zwischenzeit bekommt der Absender eine Warnung zugesand:
This is the Postfix program at host i1rrzssmtp02v.rz-as.de.

####################################################################
# THIS IS A WARNING ONLY. YOU DO NOT NEED TO RESEND YOUR MESSAGE. #
####################################################################

Your message could not be delivered for 2.0 hours.
It will be retried until it is 5.0 days old.

For further assistance, please send mail to <postmaster>

If you do so, please include this problem report. You can
delete your own text from the attached returned message.
und das ist auch gut so, denn so oder so wird es zu Verzögerungen kommen, bis Deine Benutzer Ihre Mails wieder lesen können.

Wenn Du einen secondary-MX einrichtest, musst Du auf diesem genau die selben (also aktuellen) Benutzerdatenbanken vorhalten, damit kein unnötiger Backscatter entsteht. Der secondary leitet im Normalbetrieb die angenommenen Mails an den primary-MX weiter, der sie dann in die Mailboxes zustellt. Falls der primary ausfällt, speichert der secondary die Mails (aber das würden die einliefernden MXe ohnehin tun -- immerhin kannst Du eine längere Speicherzeit einstellen).
Bei Ausfall des primary-MX kannst Du natürlich den secondary so umkonfigurieren, dass er die Mails annimmt und in lokale Mailboxen zustellt, was aber leicht zu Verwirrung bei den Benutzern führen kann. Insbesondere ist ein Problem, dass die Umstellung der Daten im DNS (die A-Records, über die die Benutzer zugreifen) mehrere Tage dauern kann.

Um richtige Redundanz hier zu erreichen sind ganz andere Techniken bzw. Netzwerk-Topologien notwendig, auf die ich jetzt leider nicht eingehen kann, da ich jetzt weg muss. Bei Bedarf kann ich morgen mehr dazu sagen.

Viele Grüße,
LinuxAdmin

PS: Sorry, falls das alles in der Eile etwas konfus geraten ist.
 
Sers,

also danke mal für eure raschen Antworten.
Es ist richtig, dass ich Probleme bekomme wenn ich entsprechend zwei Mailserver am laufen habe.
Korregiert Mich falls ich was falsches Sage

Ich richte meinen vserver mit Plesk ein.
Dumpe meine Plesk Einstellungen ohne Webdaten vom Root und spiele sie jede nacht automatisch auf dem Vserver ein.
Erstelle einen niederen Mx Record für meinen Vserver.

alternative

ich source meine DB von psa, qmail & co auf einen dritten server aus und biege die einstellungen so hin das beide server auf die gleichen dbs zugreifen.
:)

Jetzt fällt Mx1 warum auch immer aus.
Mails werden an vserver weitergeleitet.
Nun kriege ich meine Mails per pop nicht weil der A eintrag auf die alte ip zielt.


hmm.... ;)

Am meisten Sinn würde machen von vorne her Web und Mailserver getrennt zu betreiben, wobei hier wieder die Frage mit dem Plesk WI auftaucht, wie das zu handeln wäre.

Linux Admin ich bin auf deine Lösung gespannt.
 
Last edited by a moderator:
Am meisten Sinn würde machen von vorne her Web und Mailserver getrennt zu betreiben, wobei hier wieder die Frage mit dem Plesk WI auftaucht, wie das zu handeln wäre.

Sorry, aber das bringt gar nichts wenn der Mailserver ausfällt, dann kommen sie ja auch nicht an.

Die Hauptfragen nach LinuxAdmins Post sind:
A) Kommst Du damit aus wenn die Mails mit Verzögerung ausgeliefert werden.
B) Schaffst Du es innerhalb der "Vorhaltezeit" Deinen Server wieder zum laufen zu kriegen, bzw. einen Ersatzserver bereit zu stellen?
 
A) Ja ich denke schon, trotzdem würde mich der idealfall ohne Ausfall interessieren.
Ich bin auch kein Gewerbetreibender der 99,9 % zusichert.

B) Kommt auf die schwere des Angriffs oder Schadens an.
Pauschal würde ich Ja sagen.

#
This is the Postfix program at host i1rrzssmtp02v.rz-as.de.

################################################## ##################
# THIS IS A WARNING ONLY. YOU DO NOT NEED TO RESEND YOUR MESSAGE. #
################################################## ##################

Your message could not be delivered for 2.0 hours.
It will be retried until it is 5.0 days old.

For further assistance, please send mail to <postmaster>

If you do so, please include this problem report. You can
delete your own text from the attached returned message.
##

Ich bin mir nicht sicher ob jeder MTA so tollerant wie Postfix ist und diese 5 Tage gibt
 
Vornweg noch ein Wort zu der Vorhaltezeit: Die 4-5 Tage werden im Abschnitt 4.5.4.1 von RFC 2821 (Simple Mail Transfer Protocoll) gefordert. Daran sollte sich jeder vernünftige MTA halten.

Nun zum Hauptproblem; das sind Deine Mailboxen, die Du in einem normalen Setup mit "normalen" (v)Servern bei einem Hoster nur auf einem Rechner haben kannst.
Ein Umschalten des DNS A-Records wird aufgrund der Latenzen schwierig (natürlich könntest Du die TTL für deine POP/IMAP-Server auf eine Stunde setzen und damit die Latenz-Zeit reduzieren, in der nicht alle Clients die richtige Adresse bekommen, aber leider halten sich nicht alle Provider an den TTL-Wert: Wie man so liest, cachen die Nameserver der Telekom unabhängig davon deutlich länger...).
Der kanonische Weg hier Redundanz zu schaffen wäre ein Server, der bei einem Ausfall direkt durch einen (identischen) anderen ersetzt wird, und dabei auch dessen IP-Adresse übernimmt. Die Daten/Mailboxen werden dabei nicht auf einer Platte im Server gespeichert, sondern auf einem redundant ausgelegten NAS-System, das entweder leicht umgehängt werden kann, oder schon direkt mit dem Failover-System verbunden ist, so dass letzteres beim Ausfall des Hauptsystems gleich loslegen kann.
Ich habe zwar auch schon mehrere MX-Rechner gleichzeitig betrieben, die ihre Daten in ein Netzwerkdateisystem (OpenAFS) ausgeliefert haben. Da die Rechner alle gleichberechtigt waren und alle parallel Mails angenommen haben, konnte man ohne große Probleme einen davon ausschalten, ohne dass es jemand gemerkt hätte (die Performance ging natürlich in die Knie). In diesem Setup gibt es natürlich leicht Datenkonistenz-Probleme, die nur durch konsequentes Locking gelöst werden können (und man merkt erst im Laufe der Zeit, welche Programme da nicht so richtig mitspielen) und insbesondere die Zusammenarbeit mit IMAP erfordert daher viel Handarbeit. Aus diesem Grund sagen die meisten Fachleute, dass der Aufwand dafür viel zu groß ist, und man lieber in anständige Hardware investieren sollte, die intern entsprechend redundant ausgelegt ist -- und eben für den Fall der Fälle ein Notsystem bereit halten sollte, das man schnell anstelle des ausgefallenen Systems einsetzen kann (und dessen IP-Adresse man dann übernimmt). Das schnelle Switchen wirst Du bei den meisten (billig-)Hostern jedoch nicht bekommen können.

Also muss ich Dich enttäuschen, denn ich kann keine Lösung anbieten, die mit einfachen Mitteln bei den gängigen Providern umsetzbar wäre.

Stattdessen sollte Deine Strategie sein, immer aktuelle Backups vorzuhalten und die Installation Deines Servers zu automatisieren. Ziel ist es, so schnell wie möglich den ursprünglichen Zustand wieder herzustellen, sobald Dir Dein Hoster nach dem Crash ein jungfräuliches System hinstellt. Daher solltest Du alle Schritte, die Du seit der Übergabe des Systems an Dich unternommen hast, dokumentieren -- ich finde da Shell-Scripte sehr hilfreich, in die man alles reinschreibt, da man die dann einfach zur Installation der Reihe nach ausführen kann. Ein zweiter Server ist dabei zum regelmäßigen Testen sehr nützlich. Ein secondary-MX kann Dir ein besseres Gefühl geben, ist aber nicht unbedingt notwendig. Nicht vergessen sollte man auch Redundanz bei der Administration, denn Notfälle passieren natürlich vorzugsweise genau dann, wenn Du im Urlaub bist, oder krank im Bett liegst....

Viele Grüße,
LinuxAdmin
 
Danke für diese kleine Einführung LinuxAdmin.
Habe ich mir fast gedacht das der Weg nicht ohne Handarbeit meines Hosters möglich ist.
Ich werde jetzt trotzdem meinen vserver als zweiten Mx Record hinzufügen, weil doch dadurch gewährleistet ist, dass jede mail ankommt.
Notfalls können die user als pop/imap server die direkte ip eintragen.
Zwar umständlich, aber immerhin hab ich was in der hinterhand.

Wie muss mein Record aussehen ?
Sind die Werte egal, der eine Muss nur höher als der andere sein oder gibts hier ein bestimmtes System ?

Wahrscheinlich nehme ich postfix um meinen Horizont der bisher nur bis qmail und sendmail reicht etwas zu erweitern.
 
Sorry, wenn ich da jetzt noch was anderes dazu sage: Ich würde auch meinen, dass man auf die verzögerte Zustellung vertrauen kann. Viel wichtiger ist doch, dass - speziell bei der Verwendung von IMAP (und dazu kann ich nur raten) - die Mailboxen nicht weg sind. Daher ist es viel einfacher zu bewerkstelligen und gleichzeitig effektiver, die Mailboxen per cron auf einen anderen Rechner wegzusichern. Ich mach das crongesteuert per "sitecopy" auf Webspace von Servage.net Quality Web Hosting . Zusätzlich werden noch die Datenbankdumps und die Webs gesichert. Denn das ist doch das wichtigste: dass keine unersetzbaren Daten futsch sind. Ein sinnvolles Backup, kombiniert mit Raid1 am Server, lässt einen ruhig schlafen, auch ohne seltsame MX und Zweitservergeschichten abzuziehen.

Ehrlichgesagt ist es für die meisten Mailkommunikationspartner besser, wenn sie einen Hinweis bekommen, dass ihre Nachricht noch nicht angekommen ist, als wenn sie meinen der Adressat hätte sie schon längst gelesen.

THunda
 
Back
Top