Skip to content

Webserver-Umzug mit minimaler Ausfallzeit

Ein interessanter Artikel:

http://sw4.de/530

(wobei wir persönlich den TTL-Weg bevorzugen)

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Stefan Wild

Bei euch kann man ja auch die TTL übers Kundenmenü einstellen. :)
Leider ist das bei vielen Hostern nicht möglich. Außerdem gibt es einige Konstellationen, in denen Proxy Caches die TTL nicht berücksichtigen (können) und die DNS Einträge intern für einen längeren Zeitraum cachen.

Manuel Schmitt (manitu)

Diese würde ich dann auf dem alten Host mit einem entsprechenden HTTP-Code verweisen, zur Not mit einem 307 oder auch einem 503.

ZeldoR

Danke für den Artikel(den fand ich nicht so toll), dafür aber das Thema fand ich wirklich interessant!

Habe auch neulich Wordpress auf Nginx + neue Hardware migriert.

Die TTL vor Wochen runter gedreht.
Ich hatte OpenVPN als Proxy ersatz verwendet, übers WAN die MySQL Anfragen auf den neuen Server umgeleitet.

Das war echt schön und einfach:) Cheers!

MK

Ich habe bisher immer einfach den Webserver auf dem alten Server beendet und per iptables Port 80 und 443 an den neuen Webserver umgeleitet, solange wie die DNS-Einträge noch nicht aktualisiert waren. Klappt auch... ;-)

Stefan Wild

Auch möglich, macht im Grunde ja auch fast das gleiche. Schön an der Reverse Proxy Lösung ist, dass man auch einzelne (virtuelle) Server umlenken und so bei Bedarf schrittweise vorgehen kann.

Jens

So machen wir es auch :-)

Holger Just

Wenn man beides macht, dann ist die ganze Geschichte dann auch tatsächlich transparent für den User und nicht so langzeit-fragil für die Infrastruktur.

Sobald man den Schalter auf dem Proxy / der Firewall umlegt, gehen die User zum neuen Host und ich hab genug Zeit, den DNS-Eintrag umzulenken. In der Regel hat man dann nach 5 Minuten beinahe den gesammten Traffic auf dem neuen Host (bei einer TTL von 10 Minuten). Die User merken davon gar nichts solange beide Hosts antworten.

Simon

Da ich meistens Server mit dutzenden von Diensten (HTTP, SMTP, POP3 & IMAP, XMPP etc.) umziehen muss, ist die Lösung mit einem Reverse Proxy hier nicht sinnvoll.
Was ich mache:
Ich ändere die TTL der Domains schon ~7 Tage davor auf einen niedrigen Wert ab (300 sek. ist hier gut), richte den neuen Server ein, ziehe alle Daten per rsync um und lege zuletzt noch die IPtables-Regeln an:
(ich hoffe ich hab die jetzt richtig im Kopf, bin gerade unterwegs)
Server #1:
iptables -t nat -A PREROUTING -p udp -d ALTE_IP --dport PORT_NR -j DNAT --to-destination NEUE_IP:PORT_NR
Server #2:
iptables -t nat -A POSTROUTING -p udp -s NEUE_IP -sport PORT_NR -j SNAT --to-destination ALTE_IP:PORT_NR
oder auch ohne Port-Zuweisung:
Server #1:
iptables -t nat -I PREROUTING -d ALTE_IP -j DNAT --to NEUE_IP
Server #2:
iptables -t nat -I POSTROUTING -s NEUE_IP -j SNAT --to ALTE_IP

Simon

so, ich habe noch einmal nachgeschaut. Beide IPtables-Kommandos müssen auf dem ALTEN Server ausgeführt werden und zwar jeweils für tcp und udp getrennt...

Victor Hahn

So hab ichs auch schon mehrfach mit meinen Serverchen gemacht. Leider führt das ja dazu, dass Anfragen, die über den alten an den neuen Host weitergeleitet werden, dort als Quell-IP den alten Host haben.

Einmal habe ich das mit einem Forum gemacht und mir mit dem Umlegen des DNS - großer Fehler - etwas mehr Zeit gelassen. Als einer der Mods dann einen IP-Bann vergeben hat, hat er leider sämtliche Nutzer einschließlich sich selbst ausgesperrt, da ja alle mit der IP-Adressen des alten Hosts im Forum angekommen sind...

Kommentar schreiben

Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.

Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten Sie, dass Ihr Browser Cookies unterstützen muss, um dieses Verfahren anzuwenden.
CAPTCHA

BBCode-Formatierung erlaubt
Formular-Optionen