Am Wed, 16 Mar 2016 13:58:31 +0100 schrieb Matthias Egger maegger@ee.ethz.ch:
Hallo Liste
Wir haben z.Zt. einen Haupt Server (MX 10) sowie zwei Backup Server (MX 20, MX 30) welche aber eigentlich reine Store-and-Forward Relays sind (Siehe Postfix-Buch, S156).
In bälde werden wir umstellen auf zwei gleichwertige MXe welche alle User kennen und jeder für sich die entsprechenden Antispam/-viren Massnahmen vornimmt (eigentlich so wie Peer es im Postfix Buch empfiehlt).
Ist-Zustand: smtp.domain.ch - 86400 TTL - MX 10 mx2.domain.ch - 86400 TTL - MX 20 mx3.domain.ch - 86400 TTL - MX 30 imap.domain.ch - CNAME auf smtpif2.domain.ch mail.domain.ch - CNAME auf smtpif2.domain.ch
Auf die MX Records haben wir keinen direkten Zugriff sondern müssen Anpassungen via Antrag einfordern (=keine sofort gültigen Direktänderungen möglich).
Schlussendlich sollen die Einträge in etwa so aussehen: ngmx1.domain.ch - 86400 TTL - MX 10 ngmx2.domain.ch - 86400 TTL - MX 10 smtp.domain.ch - 2 A Records auf die IPs von ngmx1/2 (DNS round robin) imap.domain.ch - A Record auf IP von imap.domain.ch
Was mich nun interessiert: Wie würdet Ihr die Umstellung vornehmen? Mich interessiert hier weniger Postfix an sich sondern mehr die DNS Records und wie man das ganze möglichst Reibungs- und Unterbruchslos durchziehen kann.
Hätte ich vollsten Zugriff auf die MX Records würde einfach die TTLs auf z.B. 60s runterschrauben und sobald die Server bereit stehen, die MX, A und CNAME Records auf den Soll-Zustand anpassen.
Die Umstellung findet nun aber an einem Wochenende statt, wo niemand einen allfälligen MX Anpassungsantrag auch nur anschaut. Auf die A Records und CNAMES habe ich während dieser Zeit aber vollen Zugriff.
Mein Vorschlag wäre folgender gewesen:
- In der Woche vor der Umstellung die MX Records anpassen lassen, so
dass die TTLs auf z.B. 600 gesetzt werden und zusätzlich die beiden ngmx1 und ngmx2 als MX 5 einrichten. (Wie ist das eigentlich? Müssen Clients alle MXe abklappern oder nur z.B. die ersten zwei? Sprich: Wenn ich ngmx1/2 als MX5 habe und smtp.domain als MX 10, kommen dann im Normalbetrieb bis zur Umstellun die Mails überhaupt bis zum MX 10?)
- Via Firewall auf den neuen Servern sicherstellen, dass auf den
üblichen Ports (25,587, etc.) bis zur endgültigen Umstellung keine Verbindungen aufgebaut werden können (auch wenn ich gerade was am Server teste).
- Bei allen bestehenden A und CNAME Records einen Tag vor Umstellung
die TTL auf z.B. 600 senken.
- Am Tag der Umstellung die alten Server herunterfahren, Daten
zwischen alten und neuen Servern syncen, Firewall Rules auf den neuen Servern entfernen, A und CNAME records dem Soll-Zustand entsprechend setzen.
- Die neuen Server hochfahren und mit Firewall Rules sicherstellen,
dass bei versehentlichem hochfahren der alten Server nichts mehr auf den üblichen Ports horchen kann.
- Nach der Umstellung via Antrag die MX Records anpassen. Alte
Einträge raus, die MX 5er auf MX 10er wandeln, TTL wieder auf 86400 setzen.
Könnte das funktionieren? Gibt es Verbesserungsvorschläge? Sollte ich es ganz anders machen?
Ich würde mich auf euren Input und eure Erfahrungen freuen ;-)
Liebe Grüsse Matthias
Hallo Matthias,
wenn ich das richtig verstehe, machen mx2 und mx3 nichts anderes, als die Mails annehmen und an smtp weiterleiten. Die beiden könnte man für das Vorhaben nutzen. Mein erster Vorschlag wäre:
1. Falls das nicht ohnehin so eingerichtet ist, auf mx2 und mx3 mithilfe der transport_map smtp als Ziel für domain.ch festlegen. 2. Den 10er MX löschen -> Dann gehen alle Mails über die 20 3. smtp herunterfahren, Daten kopieren, die neuen Server starten 4. Transport-Tabelle auf mx2 und mx3 so ändern, das die Mails an einen der neuen Server gesendet werden. 5. DNS-Einträge auf Soll-Zustand setzen.
zweiter Vorschlag:
1. neuen, temporären A-Record mit TTL 60 anlegen, zeigt auf smtp 2. MXer auf diesen A-Record ändern lassen 3. smtp herunterfahren, Daten kopieren, die neuen Server starten 4. A-Record auf einen der neuen Server ändern 5. MX auf Soll-Zustand setzen 6. A-Record irgendwann wieder löschen.
Ich hoffe, ich konnte helfen
Grüße Jens