Migration von einem dedizierten Linux-Server auf einen anderen?


7

Ich habe einen dedizierten Server mit Ubuntu Server 9.04 für Web, Datenbank und Mail. Auf der gesamten Festplatte befinden sich ca. 5 GB Daten.

Ich möchte den Server auf einen günstigeren dedizierten Serveranbieter migrieren, bin mir jedoch nicht sicher, wie ich dies tun soll.

  • Kann ich eine ganze Festplatte klonen? Was ist mit hardwarespezifischen Dateien / Verzeichnissen?
  • Oder gibt es vielleicht einen vernünftigeren Ansatz?
  • Das zukünftige Hosting wird wahrscheinlich eine andere Version von Ubuntu haben. Sollte ich also unseren aktuellen Server vor der Migration aktualisieren? Wie wäre es mit der Migration von Apache, MySQL und Postfix?

Antworten:


7

Mein Vorschlag ist, Backups von allem zu erstellen und auf dem neuen Server wiederherzustellen. Dh:

  1. Speichern Sie Datenbanken und stellen Sie sie auf dem neuen Server wieder her
  2. Kopieren Sie Webserver-, Datenbank- und E-Mail-Konfigurationen auf den neuen

Natürlich erfordert es eine kleine Ausfallzeit. Es gibt einige Dinge, die Sie tun können, um die Ausfallzeit zu verkürzen:

  1. Führen Sie eine vorherige rsync für alle E-Mail-Daten durch. Nachdem Sie alles konfiguriert und getestet haben, beenden Sie den Dienst auf dem alten Server, rsync nur die neuen Daten und starten Sie den neuen Server.
  2. Verwenden Sie die MySQL-Replikation, um Daten auf beiden Servern bis zum Wechsel zu speichern.
  3. Der rsync-Ansatz kann mit allen anderen Daten verwendet werden (auch mit db, aber ich empfehle Ihnen, einen Speicherauszug oder eine Replikation zu verwenden, um die Auswahl der Fehler zu minimieren).

Denken Sie auch daran, dass dies ein Vorgang ist, der sorgfältig geplant und ausgeführt werden muss, da sonst Datenverlust auftreten kann.


1
Dies war meine ursprüngliche Idee, aber das Problem ist, dass die "Einstellungen" über das gesamte Betriebssystem verteilt sind. Da es so einfach ist, einen Datenmigrationsschritt zu vergessen, befürchte ich, dass die Migration sehr umständlich sein wird.
Molidoli

1
GTD :) Erstellen Sie eine Liste mit Aufgaben und gehen Sie nacheinander vor. Ein kleines Brainstorming ist wirklich nötig. Außerdem sollten alle Konfigurationen auf / etc sein (es ist die FHS- und Debian / Ubuntu-Methode), es sei denn, Sie haben Dinge installiert, ohne Pakete oder proprietäre Inhalte zu verwenden /opt.
Coredump

1
Sie haben gerade ein Argument für meine wertvollste Praxis vorgebracht. Erwägen Sie beim nächsten Mal, jede Änderung, die Sie an einem Produktionsserver vornehmen, in einem privaten Wiki zu dokumentieren. Auf diese Weise wissen Sie genau, wo und welche Einstellungen vorhanden sind und wie der Server eingerichtet wurde. Es mag wie eine umständliche Aufgabe erscheinen, aber es hat mich mehrmals gerettet. Ideal auch für die Firma, wenn Sie gehen oder krank werden.
Iainlbc

1
+1, obwohl # 2 nicht leicht zu nehmen ist. Und sobald der neue Server mit der neuesten LTS-Version betriebsbereit ist (möglicherweise / wahrscheinlich werden einige "veraltete" PHP 5.3-Fehler auftreten, die Sie bereinigen möchten, wenn Sie eine PHP-App hosten) Planen / benachrichtigen Sie Ihre Benutzer über einige Ausfallzeiten, um den endgültigen rsync und mysqldump durchzuführen.
Gravyface

@ianlbc Es ist eine der ersten Übungen, die ich implementiere, wenn ich an einen neuen Ort komme. Ich benutze Dokuwiki wegen seiner Einfachheit und seines textbasierten Backends.
Coredump


1

Einige relevante Dinge, die ich durch Versuch und Irrtum gelernt habe (meistens Irrtum):

  • Dokumentieren Sie die Schritte, während Sie fortfahren, damit Sie beim nächsten Mal eine Aufzeichnung haben (es wird immer ein nächstes Mal geben). Auf diese Weise werden Sie keine Schritte vergessen und es wird auch jemand anderem ermöglicht, dies zu tun.
  • Wenn Sie Komponenten Stück für Stück wechseln können, ist es einfacher, Probleme zu diagnostizieren. Behalten Sie beispielsweise die E-Mail / Datenbank auf dem ursprünglichen Server bei und verschieben Sie den Webserver einfach auf den neuen Server. Überspringen Sie dies, wenn Ihre Anwendung nicht problemlos mit Servern umgehen kann. Sie sollten dies jedoch berücksichtigen, wenn Sie Ihr System auf mehrere Server skalieren müssen. Diese Methode ist besonders nützlich, wenn Sie Ausfallzeiten minimieren müssen.
  • Ich würde nicht versuchen, nur die unformatierten Datenbankdateien von einem Server auf einen anderen zu kopieren, es sei denn, Sie sind sicher, dass die Datenbank dies unterstützt. Wenn Sie nur ein paar 100 MB Datenbanken haben, würde ich einfach einen Speicherauszug auf dem alten Server erstellen und auf dem neuen wiederherstellen. Bei größeren Datenbanken ist die Einrichtung der Replikation erheblich schneller.
  • Wenn Sie rsync oder scp verwenden, um Dateien von einem Server auf einen anderen zu kopieren, stellen Sie sicher, dass der von Ihnen verwendete Benutzer über Leseberechtigungen für alle Dateien verfügt. Zum Beispiel habe ich einmal rsync verwendet, um einige Dateien aus / etc zu kopieren, hatte aber für einige Dateien keine Leseberechtigung. Als ich herausfand, dass einige Dateien fehlten, war es zu spät (der alte Server wurde gelöscht). Seitdem habe ich tar immer als root auf dem alten Server verwendet, um Verzeichnisse zu sichern und dann das tar-Archiv zu rsync / scp.

0

Wenn Sie Ihren neuen Anbieter gefunden haben, haben Sie ihn gefragt, wie er das gerne macht? Möglicherweise möchten Sie die Details der From / To-Umgebungen, einschließlich der Hardware, kennen, um den besten Ansatz zu finden.

Wenn Sie sich nach der einfachen Migration und dem verfügbaren Support erkundigen, können Sie Ihren neuen Anbieter auswählen!


Der neue Anbieter sagte im Grunde, ich müsse dies selbst tun und mit der Inbetriebnahme der Dienste beginnen und dann die Daten migrieren. Nicht besonders nützlich, aber ich verstehe, dass der Prozess ziemlich komplex ist.
Molidoli
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.