Planung und Durchführung von Serverwechsel

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
User avatar
Joe User
Project Manager
Project Manager
Posts: 11191
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:
 

Re: Planung und Durchführung von Serverwechsel

Post by Joe User »

Ganz kurz und knapp:

Server 1:

Code: Select all

IP-Adresse: 192.168.1.100
Hostname/FQDN: server1.domain.tld
PTR/RDNS: server1.domain.tld
A-Record: server1.domain.tld
Server 2:

Code: Select all

IP-Adresse: 192.168.2.200
Hostname/FQDN: server2.domain.tld
PTR/RDNS: server2.domain.tld
A-Record: server2.domain.tld
MX-Record auf mail.domain.tld setzen.
Zertifikat auf mail.domain.tld ausstellen.
Kunden auf mail.domain.tld zugreifen lassen.
Postfix/Dovecot auf mail.domain.tld konfigurieren.

Fertig und jederzeit problemlos umziehbar.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
User avatar
coltseavers
Posts: 189
Joined: 2009-11-04 00:43
Location: NRW
 

Re: Planung und Durchführung von Serverwechsel

Post by coltseavers »

Ah so!
Ich hab immer gedacht, dass HELO vom Postfix mit dem RDNS identisch sein sollten/müssen, da nach meinem Wissen gerade das von Spamfiltern überprüft wird.
Viele Grüße,
Colt Seavers
User avatar
Joe User
Project Manager
Project Manager
Posts: 11191
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:
 

Re: Planung und Durchführung von Serverwechsel

Post by Joe User »

Der HELO (Hostname) muss nur einen A-Record mit der IP-Adresse vom Mailserver besitzen, dann passt es.
Exakt so mache ich es grundsätzlich (auch beim RootForum) und habe keine Probleme damit. Auch die grossen Maildienste machen es so, nur mit entsprechend mehr Hosts und oft zusätzlich noch SPF und/oder DKIM. Sollte auch im Postfix-Buch so beschrieben sein, andernfalls wäre das Buch (teilweise) nicht RFC-konform.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
User avatar
coltseavers
Posts: 189
Joined: 2009-11-04 00:43
Location: NRW
 

Re: Planung und Durchführung von Serverwechsel

Post by coltseavers »

Hi Joe,
im Prinzip ist mir die Sache nun klar, glaube ich - Dein vorletzter Post hat mir sehr geholfen - vielen Dank dafür!

Nun plane ich jedoch auf einer Maschine mehrere Mailserver über mehrere IPs laufen zu lassen.
(Warum mehrere Mailserver? Ich möchte für unterschiedliche Zwecke unterschiedliche Konfigurationen nutzen - und mit Postfix kann man ja inzwischen auch mehrere Instanzen mit mehreren IPs recht ressourcenschonend auf einer Mühle laufen lassen).

Ich stelle mir das wie folgt vor:

Server 1 (ist-Situation):

Code: Select all

IP-Adresse: 192.168.1.100
Hostname/FQDN: mail1.meineserverfarm.tld
PTR/RDNS: 192.168.1.100 -> mail1.meineserverfarm.tld
A-Record: mail1.meineserverfarm.tld -> 192.168.1.100
MX-Record auf mail1.meineserverfarm.tld.
Zertifikat auf mail1.meineserverfarm.tld.
Kunden auf mail1.meineserverfarm.tld.
Postfix/Dovecot auf mail1.meineserverfarm.tld konfiguriert.
Bei dem neuen Szenario gehe ich doch hoffentlich recht in der Annahme, dass der eigentliche Hostname der Maschine für den Mailversand gar keine Rolle spielt, oder?

Server 2 (wie ich mir das derzeit denke):

Code: Select all

IP-Adresse des neuen Servers: 192.168.2.200
Hostname/FQDN: server2.meineserverfarm.tld
PTR/RDNS: server2.domain.tld (spielt für Mailversand keine Rolle)
A-Record: server2.domain.tld (spielt für Mailversand keine Rolle)

Dann folgen auf der gleichen Maschine davon unabhängige, weitere Konfigurationen für die verschiedenen Mailserver-Instanzen:

Mailserver 1 (übernahme der alten Konfiguration) - IP: 192.168.2.201
PTR/RDNS: 192.168.2.201 -> mx1.meineserverfarm.tld
MX-Record auf mx1.meineserverfarm.tld
A-Record: mx1.meineserverfarm.tld -> 192.168.2.201
A-Record: imap.meineserverfarm.tld -> 192.168.2.201
Kunden senden, Postfix und 1 Zertifikat auf: mx1.meineserverfarm.tld
Kunden rufen ab, Dovecot und 1 Zertifikat auf: imap.meineserverfarm.tld

Mailserver 2 (neue Dienste) - IP: 192.168.2.202
PTR/RDNS: 192.168.2.202 -> mx2.meineserverfarm.tld
MX-Record auf mx2.meineserverfarm.tld
A-Record: mx2.meineserverfarm.tld -> 192.168.2.202
A-Record: zarafa.meineserverfarm.tld -> 192.168.2.202
Postfix und 1 Zertifikat auf: mx2.meineserverfarm.tld
Kunden senden, rufen ab, und 1 Zertifikat auf: zarafa.meineserverfarm.tld
Hab ich mir das nun richtig gedacht, oder hab ich mal wieder einen Denkfehler gemacht?
Ich habe jetzt extra mal Postfix und Dovecot/Zarafa voneinander getrennt, damit alles genau aufgeschlüsselt/unterscheidbar wird.
Last edited by coltseavers on 2014-02-27 02:56, edited 4 times in total.
Viele Grüße,
Colt Seavers
User avatar
Joe User
Project Manager
Project Manager
Posts: 11191
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:
 

Re: Planung und Durchführung von Serverwechsel

Post by Joe User »

coltseavers wrote:Bei dem neuen Szenario gehe ich doch hoffentlich recht in der Annahme, dass der eigentliche Hostname der Maschine für den Mailversand gar keine Rolle spielt, oder?
Richtig (solange die DNS-Einträge passen).
coltseavers wrote:Hab ich mir das nun richtig gedacht, oder hab ich mal wieder einen Denkfehler gemacht?
Auf den ersten Blick passt das so.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
User avatar
coltseavers
Posts: 189
Joined: 2009-11-04 00:43
Location: NRW
 

Re: Planung und Durchführung von Serverwechsel

Post by coltseavers »

yeah - ich habs endlich geschnallt! :D

man darf ja ruhig dumm sein, man muss sich nur zu helfen wissen! (...und jemanden fragen, der sich damit auskennt).

1000 Dank für Deine Hilfe und Deine Geduld!
Viele Grüße,
Colt Seavers
User avatar
Joe User
Project Manager
Project Manager
Posts: 11191
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:
 

Re: Planung und Durchführung von Serverwechsel

Post by Joe User »

Kein Problem. Happy mailing ;)
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
User avatar
coltseavers
Posts: 189
Joined: 2009-11-04 00:43
Location: NRW
 

Re: Planung und Durchführung von Serverwechsel

Post by coltseavers »

Hallo zusammen,

die Serverumstellung wurde um 1 Jahr verschoben, nun steht sie aber an diesem Wochenende an.

Jan schrieb in seiner 1. Antwort in diesem Thread folgenden Ablauf auf:
1. Zertifikat auf beiden Server installieren
2. RDNS alter und neuer Server setzen auf: blablubb.xy (MX)
3. neuen Server in Betrieb nehmen
4. mail.blablubb.xy auf neuen Server zeigen lassen (Vorzugweise dies am späten Abend setzen.)
5. fortwährenden Datenabgleich machen
6. nach 24h Stunden blablubb.xy (MX) auf neunen Server zeigen lassen
7. nach weiteren 24h alten Server abschalten
Zu Punkt 5:
Wie würdet ihr den fortwährenden Datenabgleich realisieren?
Ich habe dazu 2 Ideen:
1)
Verwendung von imapsync als cronjob alle x Minuten
2)
Schön wäre es auch, wenn der neue Mailserver erstmal auf die Mailboxen auf dem alten Server mit zugreift, solang die Umstellungen im DNS laufen. Natürlich kein direkter Zugriff auf die Mailbox-Files (das würde sicherlich knallen, wenn zwei Mailserver gleichzeitig auf die Mailbox-Files zugreifen würde), aber vielleicht kann man ja das Dovecot auf dem neuen Server anweisen, alle Anfragen der Mailclients über das Dovecot auf dem alten Server abzuwickeln.
Dann würde man nach Umstellung der DNS-Einstellungen irgendwann (nachts um 3) den alten Server abstellen, die IMAP-Folder auf den neuen Server kopieren und die Konfiguration auf dem neuen Server entsprechend anpassen, dass die Mailbox-Files ab sofort lokal liegen.

Was meint ihr dazu? Wie würdet ihr es machen?
Mir wäre es wichtig, dass die Kunden möglichst wenig Einschränkungen durch den Umzug haben.
Viele Grüße,
Colt Seavers
User avatar
Joe User
Project Manager
Project Manager
Posts: 11191
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:
 

Re: Planung und Durchführung von Serverwechsel

Post by Joe User »

Dovecot2 bringt hierfür dsync mit, welches ich zum Beispiel so einsetze um zwei Server semisyncron zu halten:

Code: Select all

[root@devnoip:~] # cat /usr/local/sbin/update-mailboxes.sh
#!/bin/sh

/usr/local/bin/dsync -v -f -u noreply@example.org mirror ssh -4 -p 22 -q root@mail.example.org /usr/local/bin/dsync -v -f -u noreply@example.org
# ... more mailboxes ...

exit 0
[root@devnoip:~] # grep 'update-mailboxes.sh' /etc/crontab
5,35    *       *       *       *       root    /usr/local/sbin/update-mailboxes.sh
[root@devnoip:~] #
Im update-mailboxes.sh muss allerdings jede Mailbox einzeln angegeben werden.
Der Crontab wird zweimal pro Stunde ausgeführt (h:05 und h:35).
Die Doku zu dsync könnte besser sein, ist aber zusammen mit meinem Beispiel etwas verständlicher.

Das ist aber nur eine von mehreren Lösungen welche dsync bietet.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
User avatar
coltseavers
Posts: 189
Joined: 2009-11-04 00:43
Location: NRW
 

Re: Planung und Durchführung von Serverwechsel

Post by coltseavers »

Danke, das klingt sehr interessant, zumal es da ja verschiedene Modi gibt, wie ich gerade im Wiki gesehen habe:
http://wiki2.dovecot.org/Tools/Doveadm/ ... ls%2FDsync

Wenn ich das richtig verstehe, sollte es ja reichen, wenn der neue Server Version 2.(1.7) hat, oder?
Weil meine alte Mühle hat noch Version 1.2.15 (u.a. deshalb ja der Wechsel).
Viele Grüße,
Colt Seavers
User avatar
Joe User
Project Manager
Project Manager
Posts: 11191
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:
 

Re: Planung und Durchführung von Serverwechsel

Post by Joe User »

In dem Fall fällt dsync flach: http://www.dovecot.org/list/dovecot/201 ... 94943.html
Somit bleibt dann imapsync, damit kenne ich mich aber nicht aus.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
User avatar
coltseavers
Posts: 189
Joined: 2009-11-04 00:43
Location: NRW
 

Re: Planung und Durchführung von Serverwechsel

Post by coltseavers »

Hmm, aber das dsync wird doch in meinem Szenario nur auf dem 2.1.7-Server ausgeführt, und nuckelt per IMAP-Protokoll an den Postfächern des 1.2.15.
Die dsync-Funktion auf dem alten Server (sofern überhaupt vorhanden) wird also gar nicht benutzt.
Von daher verstehe ich nicht, warum der alte Server auch ne 2er-Version haben soll... :-?
Viele Grüße,
Colt Seavers
User avatar
Joe User
Project Manager
Project Manager
Posts: 11191
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:
 

Re: Planung und Durchführung von Serverwechsel

Post by Joe User »

dsync syncronisiert auch die Dovecot internen Statusinformationen, welche per IMAP nicht zur Verfügung stehen. Deshalb ist dsync auch nicht mit anderen IMAPd kompatibel. Für Dovecot 1.x gibt es daher auch kein dsync, da sich das interne Format mit Dovecot 2.x/2.2 geändert hat.

Mit Dovecot 2.2 auf beiden Seiten läuft es bei mir aber sehr gut.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
User avatar
coltseavers
Posts: 189
Joined: 2009-11-04 00:43
Location: NRW
 

Re: Planung und Durchführung von Serverwechsel

Post by coltseavers »

Deshalb ist dsync auch nicht mit anderen IMAPd kompatibel.
Neja, das ist so nicht ganz korrekt.
So wie ich das verstehe gibt es (mindestens) 2 Möglichkeiten:
Einmal die Synchronisation per SSH
Hierbei hat dsync dann Zugriff auf die komplette Ordnerstruktur der einzelnen Postfächer, und kann somit auch die internen Dovecot-Strukturen (ich nenn sie mal Metainformationen) rüberholen. (dazu ist dann vermutlich auch auf beiden Seiten ein Dovecot 2.2x erforderlich.)

Man kann das Tool aber auch zum Migrieren von irgendeinem anderen IMAP-Server nutzen.
Siehe Link: http://wiki2.dovecot.org/Migration/Dsync:
Überschrift: Migrating from any IMAP/POP3 server to Dovecot via dsync

Bei dieser Variante gehen dann wohl die Dovecot eigenen Metainfos verloren, die zwar nice to have, aber nicht unbedingt erforderlich sind.
Wenn ich das richtig verstehe, müssen die Clients nach einem Umzug nach dieser Variante einmal neu synchronisieren, weil irgendwelche IDs oder so dann nicht mehr passen.
Aber ich vermute mal, dass das mit imapsync nicht anders aussieht.
Was dovecots eigenes Synctool nicht versionsübergreifend beherrscht, wird imapsync wohl auch nicht besser können, oder?

Ich habe schon den Autor aus der Mailingliste angeschrieben. Vielleicht kann der ja noch Licht ins Dunkel bringen.

Ne andere Möglichkeit wäre evtl noch auf dem alten System Dovecot auf Version 2.1.x upzugraden, aber das ist mir etwas zu heikel, weil wenn das schief geht, sind die Probleme groß...
Viele Grüße,
Colt Seavers
User avatar
Joe User
Project Manager
Project Manager
Posts: 11191
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:
 

Re: Planung und Durchführung von Serverwechsel

Post by Joe User »

Du kannst das Ganze mal in einer VM testen, dann weisst Du, ob es bei Deinem Setup funktioniert.

Im zweiten Modus sollte es ähnlich funktionieren wie imapsync, testen würde ich trotzdem.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
User avatar
coltseavers
Posts: 189
Joined: 2009-11-04 00:43
Location: NRW
 

Re: Planung und Durchführung von Serverwechsel

Post by coltseavers »

Hallo zusammen,

wollte nur kurz Bericht erstatten:

Habe die Umstellung nun durchgeführt.
Die Postfächer habe ich per rsync rübergeholt. Die anderen Dinge waren mir zu aufwändig und zu unsicher.
Zuerst (24 Stunden vorher) habe ich die TTL im DNS auf wenige Minuten eingestellt.
Danach habe ich rsync einmal im laufenden Betrieb ausgeführt, um den Großteil der Postfächer schonmal rüberzuholen.
Dann habe ich den neuen Server soweit startklar gemacht.
Anschliessend habe ich den alten Server gestoppt und rsync ein zweites Mal ausgeführt.
Währenddessen habe ich die DNS-Einstellung aktualisiert.
Nach dem rsync dann den neuen Server gestartet und alles ist gut.

Ausfallzeit des E-Mail-Dienstes: keine 10 Minuten.

Der Vollständigkeit halber muss ich dazu sagen, dass ich wesentliche Hilfe dazu in der deutschen Dovecot-Mailingliste bekommen habe.
Klasse Support bei Dovecot-Problemen, direkt von Profis wie Peer Heinlein und Patrick Ben Koetter.
Aber auch in diesem Forum möchte ich allen danken, die mir konstruktiv und geduldig meine Fragen beantwortet haben.
Ihr habt mir sehr geholfen!
Viele Grüße,
Colt Seavers
User avatar
Joe User
Project Manager
Project Manager
Posts: 11191
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:
 

Re: Planung und Durchführung von Serverwechsel

Post by Joe User »

Wenn Peer und/oder Patrick ihr OK zur rsync-Lösung gegeben haben, dann wäre es nett, wenn Du kurz ein Beispiel posten würdest.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
User avatar
coltseavers
Posts: 189
Joined: 2009-11-04 00:43
Location: NRW
 

Re: Planung und Durchführung von Serverwechsel

Post by coltseavers »

Syntax einer ganz normalen rsync-Operation:

Code: Select all

rsync -av -e ssh root@alterserver.tld.de:/home/vmail/ /home/
Der Trick dabei ist, dass man 2x rsync macht:
Den ersten rsync kann man ruhig im laufenden Betrieb durchführen.
Diese Kopie ist dann natürlich nicht konsistent! :!:
Aber das muss sie auch nicht. Sie dient nur dazu erstmal die Masse rüberzuschaufeln ohne dabei einen Ausfall zu haben.

Dann wird Dovecot auf dem alten (und neuen) Server gestoppt, und der zweite rsync (mit delete-Option) gemacht:

Code: Select all

rsync -av --delete -e ssh root@alterserver.tld.de:/home/vmail/ /home/
Da nun die Serverdienste gestoppt sind, ist diese Kopie nun auch konsistent.
Kopiert werden nun nur noch die Unterschiede, die im Vergleich zur ersten Kopie auftreten - dadurch geht dieser Durchlauf sehr schnell, und dass muss er ja auch, denn die Dienste sind ja gerade offline.

Gleichzeitig kann man dann schonmal den DNS umstellen.
Nach sehr kurzer Zeit (bei mir warens 1-2 Minuten) ist der 2. rsync dann durchgelaufen und Dovecot kann auf dem neuen Server gestartet werden.
Alle Infos (auch die Metainfos) bleiben erhalten, und somit laufen die Clients weiter wie bisher, müssen also nicht neu syncen.

Funktioniert hat dieses Verfahren bei Umstellung von Dovecot 1.2.15 auf 2.1.7 unter Verwendung des Maildir-Speicherformats.
Last edited by coltseavers on 2014-10-13 03:14, edited 3 times in total.
Viele Grüße,
Colt Seavers
Post Reply