Eure Erfahrungen und Strategien fuer Postfix Migrationen?

Jens Meißner heptalium at gmx.de
Mi Mär 16 17:30:56 CET 2016


Am Wed, 16 Mar 2016 13:58:31 +0100
schrieb Matthias Egger <maegger at 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
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 198 bytes
Beschreibung: Digitale Signatur von OpenPGP
URL         : <http://de.postfix.org/pipermail/postfix-users/attachments/20160316/9cd76d2f/attachment.sig>


Mehr Informationen über die Mailingliste postfix-users