OffshoreVps
Ratgeber18 Okt. 20268 Min. LesezeitVon dem OffshoreVps-Team

Eine Website ohne Ausfallzeit auf einen neuen VPS umziehen

Eine Website-Migration Schritt für Schritt: DNS-TTL senken, Dateien und Datenbank zweimal kopieren, mit einem hosts-Eintrag testen, DNS umstellen und den alten Server behalten, bis der Traffic abgeflossen ist.

Die meisten leidvollen Migrationen scheitern an der Reihenfolge, nicht an der Technik. Man ändert zuerst das DNS und stellt dann fest, dass die Datenbank veraltet ist. Halten Sie sich an die folgende Reihenfolge, und Ihre Besucher bemerken den Umzug nicht.

Terminalfenster auf einem VPS mit den Befehlen zum Umzug einer Website ohne Ausfallzeit, beginnend mit „rsync -aHAX --info=progress2 -e ssh /var/www/ us“
Die Art von Befehlen, die Sie in dieser Anleitung auf Ihrem Server ausführen.

Schritt 1: DNS-TTL frühzeitig senken

Setzen Sie mindestens einen Tag vor dem Umzug die TTL Ihrer A- und AAAA-Einträge auf 300 Sekunden. Caches, die den alten Wert bereits halten, brauchen Zeit zum Ablaufen, daher lässt sich dieser Schritt am Umzugstag nicht beschleunigen.

Schritt 2: Zuerst den neuen Server aufbauen

Erstellen Sie den neuen VPS, wenden Sie die Härtungs-Checkliste an und installieren Sie denselben Stack: Webserver, PHP- oder Node-Version, Datenbank-Engine. Gleiche Versionen beseitigen die meisten Überraschungen. Kopieren Sie die Konfiguration, nicht nur die Inhalte.

Schritt 3: Dateien kopieren

rsync -aHAX --info=progress2 -e ssh /var/www/ user@NEW_IP:/var/www/

Führen Sie es jetzt einmal aus. Beim ersten Mal ist es langsam, bei der Wiederholung schnell, und genau darum geht es.

Die Schritte dieser Anleitung in der Reihenfolge: 1. Die DNS-TTL frühzeitig senken; 2. Zuerst den neuen Server aufbauen; 3. Die Dateien kopieren; 4. Testen, bevor jemand dorthin geleitet wird; 5. Einfrieren, letzte Synchronisierung, umschalten; 6. Beobachten, dann den alten Server außer Betrieb nehmen
Die Schritte dieser Anleitung in der Reihenfolge.

Schritt 4: Datenbank kopieren

# on the old server
mysqldump --single-transaction --routines --triggers mydb | gzip > mydb.sql.gz
scp mydb.sql.gz user@NEW_IP:~/
# on the new server
gunzip < mydb.sql.gz | mysql mydb

Das ist eine Generalprobe. Sie liefert Ihnen eine funktionierende Kopie zum Testen.

Schritt 5: Testen, bevor jemand dorthin geleitet wird

Richten Sie Ihren eigenen Computer über die hosts-Datei auf den neuen Server: Fügen Sie NEW_IP example.com www.example.com hinzu. Rufen Sie die Website auf, melden Sie sich an, senden Sie ein Formular ab und lösen Sie eine Testbestellung aus. Beheben Sie, was nicht funktioniert, solange die Öffentlichkeit noch den alten Server sieht. Installieren Sie das TLS-Zertifikat mit einer DNS-Challenge, damit es schon vor der Umschaltung funktioniert.

Schritt 6: Einfrieren, letzter Abgleich, Umschalten

  1. Versetzen Sie die alte Website in den Wartungs- oder Nur-Lese-Modus.
  2. Wiederholen Sie rsync sowie den Datenbank-Dump und -Import.
  3. Ändern Sie die DNS-Einträge auf die neue IP.
  4. Entfernen Sie den Eintrag in der hosts-Datei und prüfen Sie von einem anderen Netzwerk aus.

Das Nur-Lese-Fenster dauert meist wenige Minuten. Planen Sie es bei einem Shop oder einer Website mit Logins für eine ruhige Zeit ein.

Schritt 7: Beobachten, dann den alten Server abschalten

Behalten Sie die alte Maschine einige Tage. Manche Resolver ignorieren TTLs, sodass weiterhin ein Rinnsal an Datenverkehr eintrifft. Leiten Sie diesen Datenverkehr nach Möglichkeit an die neue IP weiter oder per Proxy dorthin, prüfen Sie Ihre Logs und setzen Sie dann die TTL wieder auf einen normalen Wert. Erstellen Sie ein frisches Backup vom neuen Server, bevor Sie den alten löschen.

Wechseln Sie gleichzeitig in eine andere Jurisdiktion? Vergleichen Sie zuerst die Optionen unter Offshore-Hosting-Jurisdiktionen im Vergleich.