Easy Servermigration mit RSYNC

Soll ein Linux-Server auf eine neue Hardware umziehen, stehen uns hier mehrere Wege offen. Ich selbst habe die letzte Migration dieser Art mit RSYNC durchgeführt. Dies hat so gut geklappt, dass ich euch hier beschreiben möchte, wie dabei vorzugehen ist.

Ich habe mich für die folgende Vorgehensweise entschieden.

  1. Installation der Linuxdistribution des Quellsystems auf der neuen Hardware. Z.B. Quelle = Ubuntu Server 11.10 und Ziel = Ubuntu Server 11.10.
  2. Das Netzwerkinterface wird auf eine freie IP Adresse aus dem Netz konfiguriert, in dem sich auch das Quellsystem befindet.
  3. Für die Migration aktivieren wir auf dem Zielsystem den root-Account, in dem wir ihm ein Passwort geben -> sudo passwd root
  4. Um vom Quellsystem auf den neuen Server zugreifen  zu können installieren wir einen SSH-Server und richten uns den Zugriff über Public-Keys ein. Wie dies funktioniert wird sehr gut im Artikel SSH im Ubuntuusers Wiki erklärt.
  5. Auf dem neuen Server sollen nach der Migration die gleichen Pakete installiert sein wie auf dem Quellsystem. Dazu erstellt man auf dem Quellsystem mit dpkg –get-selections | awk ‚!/deinstall|purge|hold/ {print $1}‘ > ~/packages.listeine Liste aller installierten Pakete. Damit bei der Installation dieser Pakete die gleichen Paketquellen wie auf dem Quellsystem verwendet werden sichern wir diese ebenfalls mit find
    find /etc/apt/sources.list* -type f -name '*.list' -exec bash -c 'echo -e "\n## $1 ";grep "^[[:space:]]*[^#[:space:]]" ${1}' _ {} \; > sources.list.save

    in eine Datei. Diese beiden Dateien übertragen wir nun via SCP auf das Zielsystem.

  6. Nun kopiert man die sources.list.sav nach /etc/apt/sources.list und führt anschließend mit apt-get updateein Update der Quellen durch. Mit dem folgenden Befehl werden die Pakete aus der zuvor erstellten Liste installiert. ->
    xargs -a „packages.list“ sudo apt-get install
  7. Jetzt ist die Migration schon fast geschafft. Als nächsten kopieren wir uns die /etc/fstab und /etc/network/interfaces um später noch auf Infos aus diesen Dateien arbeiten zu können. Im letzten Schritt kopieren wir mit rsync -avz Quelle root@Zielhost:/ die benötigten Verzeichnisse und Dateien auf unser Zielsystem. Wird RSYNC als root ausgeführt werden dabei automatisch alle Zugriffsrechte beibehalten.
  8. Nachdem RSYNC durchgelaufen ist müssen nur noch die Dateien /etc/fstab und /etc/network/interfaces kontrolliert werden, damit der Server nach einem Reboot seine Festplatten findet und mit der IP-Konfiguration des Quellsystem startet. Das Quellsystem sollte nun vom Netzwerk getrennt werden.

Jetzt fehlt nur noch ein Neustart des neuen Servers und schon ist die Migration abgeschlossen. Das es so einfach geht hätte ich vorher selbst nicht gedacht. Aber nach der ersten Erfahrung werde ich bei der nächsten Migration wieder zu diesem Mittel greifen.

2 Gedanken zu „Easy Servermigration mit RSYNC

  1. alex

    Das find-Kommando aus Punkt 5 ist irgendwie falsch. Scheint so als ob die Anführungszeichen vorne wie hinten nicht mehr stimmen.

    Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.