Migration der Nutzdaten von einem anderen Anbieter zu Hetzner

Last change on 2024-05-13 • Created on 2024-05-13 • ID: CL-2BCA0

Beachte, dass mit der unten beschriebenen Variante lediglich Nutzdaten gesichert und auf den neuen Server kopiert werden. Um eine gesamte Partition zu migrieren, siehe "Migration einer Festplatte von einem anderen Anbieter zu Hetzner".


Um von einem Server bei einem anderen Anbieter auf einen Server bei Hetzner zu migrieren, führe folgende Schritte aus:


  • Verbinden dich mit deinem alten Server und Erstelle ein Backup.

    Bevor das Backup erstellt wird, solltest du sicherstellen, dass der Server momentan nicht anderweitig genutzt wird. Hintergrund ist, dass während oder nach dem Erstellen des Backups keine neuen Daten erstellt werden sollten, da diese sonst anschließend im Backup fehlen würden.

    Erstelle einen neuen Ordner wie beispielsweise ~/backups und speichern du darin die Backups von allem was migriert werden soll. In diesem Beispiel wird zum Erstellen des Backups tar verwendet.


    • Benutzer, deren Berechtigungen und deren ~/.ssh-Ordner speichern:

      Dieser Schritt muss als root-Benutzer ausgeführt werden.
      Ersetze /home/holu/ mit dem entsprechenden Pfad zu dem Benutzer, welcher den Backup-Ordner erstellt hat.

      sudo su
      cd /etc && sudo tar -czvf /home/holu/backups/users-and-permissions.tar.gz -P passwd group shadow sudoers
      sudo tar czvf /home/holu/backups/ssh-directories.tar.gz $(find /home -maxdepth 3 -type d -name ".ssh")
      exit

    • Firewall-Regeln speichern

      Zum Beispiel iptables:

      sudo iptables-save > ~/backups/iptables_backup.txt
      sudo ip6tables-save > ~/backups/iptables6_backup.txt

    • Einzelne Nutzdaten speichern:
      sudo tar -cvzf ~/backups/example-dir.tar.gz /file/or/directory/to/save

    Wenn es noch etwas anderes gibt, das migriert werden soll (z.B. Datenbankdump), Erstelle davon ebenfalls ein Backup und speichern du dieses unter ~/backups.


  • Erstelle auf ihrem alten Server einen neuen SSH-Key für die Migration.

    ssh-keygen -t ed25519 -f ~/.ssh/migrate-backups

    Kopieren du anschließend den öffentlichen SSH-Key.



  • Verbinden dich anschließend mit dem neuen Server.

    Bearbeite die ~/.ssh/authorized_key-Datei und hinterlegen du den öffentlichen SSH-Key, welcher soeben für die Migration auf dem alten Server erstellt wurde (~/.ssh/migrate-backups.pub).

    nano ~/.ssh/authorized_keys

  • Verbinden dich nun erneut mit deinem alten Server.

    Da der öffentliche SSH-Key auf dem neuen Server hinterlegt wurde, sollte es nun möglich sein den Backup-Ordner über SSH auf den neuen Server zu kopieren.

    Ersetze 203.0.113.1 mit der IP-Adresse des neuen Hetzner Cloud Servers.

    scp -i ~/.ssh/migrate-backups -r ~/backups root@203.0.113.1:~/

  • Verbinden dich anschließend erneut mit dem neuen Hetzner Cloud Server.

    Auf dem Server sollte nun ebenfalls der Ordner ~/backups und die darin enthaltenen Backup-Dateien vohanden sein. Beispiel:

    root@new-server:~/backups# ls 
    example-dir.tar.gz  iptables6_backup.txt  iptables_backup.txt  users-and-permissions.tar.gz ssh-directories.tar.gz

    Extrahieren du die Backups, welches die Benutzer, deren Berechtigungen und SSH-Einstellungen enthalten:

    tar -xvf ~/backups/users-and-permissions.tar.gz -C /etc
    tar -xzvf ~/backups/ssh-directories.tar.gz -C /

    Richte nun deinen Server ein (z.B. Firewall einrichten, benötigte Software installieren, ...)

    iptables-restore < ~/backups/iptables_backup.txt
    ip6tables-restore < ~/backups/iptables6_backup.txt

    Nachdem der Server eingerichtet ist und die notwendige Software installiert wurde, extrahieren du nun im finalen Schritt noch die Nutzdaten:

    Ersetze /target/directory mit dem Zielpfad.

    tar -xvf ~/backups/example-dir.tar.gz -C /target/directory

Der neue Server sollte nun soweit eingerichtet sein und die wichtigsten Daten enthalten. Falls du eine Domain nutzen, denken du daran nun auch die DNS-Einträge an die neue IP-Adresse anzupassen. Löschen du den alten Server erst, nachdem du sorgfältig geprüft haben, ob alle Daten erfolgreich migriert wurden und alles wie erwartet funktioniert.