Caliandro.de - Blog

Anleitung Serverumzug Netcup mit Yunohost

Inhaltsverzeichnis

Hintergrundinfo

Ich bin am 30.11.2024 mit meinem VPS Server auf ein neues Modell mit mehr Ram, Kernen und Speicherplatz umgezogen, den es temporär bei Netcup zum gleichen Preis im Angebot gab.

Da auf meinem Produktionsserver diverse, für mich relevante Dienste wie der E-Mail Server laufen, wollte ich die Ausfallzeiten minimieren und es mir gleichzeitig so einfach wie möglich machen. Der Umzug lief problemlos über die Bühne.

Gesamtdauer 2h, Netto-Aufwand 40min

Vorbereitung

Neuen Server bestellen, ein Debian 12 Image installieren und den Spitznamen ändern

Der Server ist spätestens eine Stunde nach Bestellung verfügbar. Ändere den Spitznamen auf etwas eindeutiges. Im Server Control Panel (SCP) kann man ansonsten leicht durcheinander kommen und den falschen Server platt machen.

DNS Anpassungen 24h vor dem Umzug

Im Netcup Customer Control Panel (bzw. da, wo du deine Domains verwaltest) die TTL (time to lease) auf einen niedrigen Wert setzen.

ttl: Default value 86400 (=24h).

Runtersetzen auf einen möglichst niedrigen Wert wie 1800 (=30min)

Einen Snapshot Export für den alten Server kaufen

Das geht im CCP und kostet ca. 1,50€. Damit können wir den Snapshot, der mehrere hundert GB groß sein kann, direkt als Image zum Einspieln auf den neuen Server nutzen

Nutzer informieren, dass es für 2-3h zu Ausfällen kommen wird

Im Ideallfall daher in den Abendstunden oder am frühen Morgen starten

Der Umzug

Yunohost SSH Passwort Login aktivieren

Das sollte im Normafall deaktiviert sein, ist jetzt aber sehr wichtig, damit man auf dem neuen Server bei Problemen zugreifen kann

Optional: Yunohost Backup runterladen

Das neueste Backup Archiv kann nie schaden, daher gerne lokal runterladen, damit im Ernstfall nichts verloren geht

datensicherung.jpg

IP Adresse des neuen Server notieren

Wir werden später eine komplette Kopie des alten Servers einspielen, so dass auf Linux Ebene die korrekte IP des neuen Servers mit der alten überschrieben wird, wodurch der SSH Zugriff nicht funktionieren wird.

  • IP(v4)
  • IPv6

Diese Werte kann man im SCP nachlesen oder über den Root Zugriff im SCP in der Datei cat /etc/netplan/50-cloud-init.yaml

Snapshot des alten Servers erstellen

Im SCP unter Medien - Snapshots einen neuen Snapshot vom alten Server erstellen

Snapshot exportieren

Button findet sich neben dem erstellen Snapshot. Dauer ca. 15min

Exportierten Snapshot als Image auf neuem Server einspielen

Medien - Images - Eigene Images: Hier sollte der exportierte Snapshot bereit stehen. Aufspielen dauert ca. 5min

image1.jpg

Neuen Server über das SCP neustarten

Zumindest bei mir konnte ich erst danach eine lokale Verbindung aufbauen

IP Adresse des neuen Server wiederherstellen

Nun stehen unter cat /etc/netplan/50-cloud-init.yaml die IP/IPv6 des alten Servers.

Hier über SCP >_ Bildschirm lokal eine Verbindung mit dem Yunohost Adminkonto aufbauen und die Werte ändern, z.B. mit

nano cat /etc/netplan/50-cloud-init.yaml

Danach neu booten. Hierbei sollte beim Login bereits die neue IP Adresse angezeigt werden

localIP.jpg

SSH Testzugriff auf den neuen Server

Nun solltest du per SSH mit dem bisherigen Keyfile auf deinen neuen Server zugreifen können (mit ssh YOURNAME@ServerIP -i keydatei). Klappt es nicht, prüfe erneut die IP Adresse über die Konsole, dort sollte schon im Login Screen die richtige IP präsentiert werden.

Alten Server runterfahren

Bisher zeigen die DNS Einstellungen noch auf die IP des alten Servers. Um da keine Emails mehr landen zu lassen, temporär über SCP herunterfahren.

DNS Settings ändern

Im CCP (oder wo du deine Domains registriert hast) die Ziel IP (auch IPv6) bei allen betroffenen Domains auf die des neuen Servers setzen. Da du schon im Vorfeld die Time To Lease auf 30min gesetzt hattest, wird es im Idealfall höchstens eine Stunde dauern, bis die DNS Server die Domainnamensauflösung angepaßt haben

Reverse DNS einrichten (rDNS)

Notwendig, wenn du einen Mailserver betreibst. Solltest du in diesem Fall auch schon für den alten Server gehabt haben. Die Yunohost Diagnose informiert dich, sollte der Eintrag noch fehlen.

Prüfen, prüfen, prüfen

Über das Admin Dashboard prüfen, ob alles ok ist (Diagnose). Es ist ok, dass zu Beginn noch DNS Fehler gemeldet werden, die DNS Anpassungen gehen unterschiedlich schnell voran. Ebenso prüfen, dass alle installierten Dienste vorhanden sind und funktionieren. Kommen E-Mails an usw.

Nach der Migration

SSH Login per Passwort auf dem neuen Server deaktivieren

Über Yunohost Adminbereich, Settings

Geänderte Größe der Festplatte anpassen

Meistens wird der neue Server mehr Speicherplatz, also eine größere (virtuelle) Festplatte haben. Durch das Klonen mittels Snapshot denkt das Linuxsystem noch, der Speicher wäre wie auf dem alten Server. Die Anpassung geht sehr einfach:

  1. sudo lsblk ausführen: Ist die Partitionsgröße nicht korrekt wie vermutet?
  2. Snapshot erstellen (im SCP)
  3. sudo growpart /dev/vda 3 (sollte bei Yunohost die Defaultpartition der Daten sein, bitte prüfen)
  4. sudo resize2fs /dev/vda3
  5. Server neustarten
  6. sudo lsblk sollte jetzt für die Datenpartition vda3 die korrekte Größe melden
  7. Yunohost Diagnose laufen lassen. Unter Systemresourcen sollte der volle Festplattenplatz gefunden werden.

Hintergrund: Ich hatte zu Beginn gar nicht daran gedacht und mich gewundert, dass eine Backup Fehlermeldung wegen zu geringem Speicher kam.

Das Tool growpart ist perfekt für die schnelle Auffüllung einer aktiv gemounteten Daten-Partition mit dem bisher nicht verwendeten Speicherplatz geeignet.

Alten Server kündigen

Oder natürlich anderweitig einsetzen. Sicherheitshalber ein paar Tage nach erfolgreichem Umzug ausgeschaltet als Reserve vorhalten.

Whitelist Spam Situation des neuen Servers prüfen (E-Mail Server)

Neuer Server = neue IP. Unter Umständen hatte die IP schon jemand anders und du stehst auf einer Blacklist bei großen Mailprovidern. Daher testweise Emails Richtung Google, Microsoft und T-Online versenden oder in deren Mail-Bereich prüfen, ob deine IP ein „De-Listing“ benötigt

Nach 48h DNS TTL Settings wieder hochsetzen

Nach dieser Zeit die TTL Settings wieder auf den Default-Wert von 86400 setzen (DNS Caching beschleunigt den Aufruf der Website).

Infos zu anderen Konstellationen

Solltest du zu einem anderen Provider umziehen, sollte auch dieser mit dem von Netcup verwendeten Snapshot Format klar kommen. Falls nicht, gibt es Anleitungen zur Erstellung eines Abbildes mit dd. Beide Varianten sind deutlich aufwändiger als die hier beschriebene.

Eine weitere Möglichkeit besteht auch darin, den neuen Server direkt mit Yunohost neu aufzusetzen und dann ein Yunohost Backup einzuspielen.