Klonen Sie einen funktionierenden Linux-Server

18

Ich muss einen funktionierenden Linux-Server klonen. Wir können den funktionierenden Server nicht herunterfahren. Gibt es eine Möglichkeit, einen Klon abzurufen und auf einem anderen Server bereitzustellen?


quelle

Antworten:

14

Es gibt viele Möglichkeiten, Datenträger, Dateisysteme oder Dateien zu kopieren. Wenn Sie das Dateisystem kopieren, erhalten Sie im Allgemeinen einen guten Klon mit der Flexibilität, dass es auf dem Zielsystem eine geringfügig andere Größe haben kann. Wenn auf dem Zielsystem eine Art Live-Linux (Knoppix, Ubuntu Live usw.) ausgeführt wird, das von einer CD-ROM gebootet wird, können Sie die Partitionen auf der Festplatte mit fdisk oder Ihrer bevorzugten Partitionsanwendung erstellen. Angenommen, Sie haben einen SSH-Server auf dem Quellsystem ausgeführt, gehen Sie folgendermaßen vor:

http://www.linuxfocus.org/English/March2005/article370.shtml

Die Magie geschieht in diesem Befehl:

ssh sourcePC 'dump -0 -f - /' | restore -r -f -

Wenn Sie eine bestimmte Methode zum Klonen von Festplatten in einer Live-Linux-Umgebung verwenden, besteht Ihre einzige Sorge wahrscheinlich in den Datenbanken. Die beste Methode zum Sichern und Wiederherstellen einer Datenbank besteht darin, mit ihrem Speicherauszugstool einen ASCII-Datei-Snapshot der Datenbank unmittelbar vor dem Speicherauszug des Dateisystems zu erstellen. Für MySQL gibt es:

mysqldump --all-databases > mysql_databases.sql

Für postgresql gibt es:

pg_dumpall > pg_databases.sql

Wenn auf dem neuen System ein Konsistenzfehler auftritt, stellen Sie die Datenbank wieder her. Wenn Sie die Dienste auf dem Quellsystem ausgeschaltet haben, führen Sie alternativ den DB-Dump erneut durch und stellen Sie ihn auf dem Ziel wieder her. Sie werden dann keine kürzlich geänderten Daten mehr verpassen.

Labradort
quelle
1
+1 für die Linuxfocus-Referenz
Bozojoe
2

Erstellen Sie ein Festplattenlayout auf dem neuen Computer, wie Sie es möchten.

Verwenden Sie rsync, um den Inhalt der Festplatte zu übertragen. Wiederholen Sie dies einige Male, um das Problem vollständig aufzuholen.

Experimentieren Sie auf der neuen Maschine mit dem, was Sie zusätzlich tun müssen, um ordnungsgemäß zu starten. Grub zum Beispiel und bringe es in einen konsistenten Zustand.

Bis Sie die alte Maschine herunterfahren können, synchronisieren Sie sie in regelmäßigen Abständen, um die neue Festplatte in der Nähe der alten zu halten.

Bringen Sie dann den alten in den Wartungsmodus, rsync noch einmal, und starten Sie den neuen, der sich wie der alte verhalten soll.

Thorbjørn Ravn Andersen
quelle
5
Dies könnte zu einer Beschädigung der Daten führen. Um eine ordnungsgemäße Kopie von Dateien (einschließlich Live-Datenbanken) zu gewährleisten, müssen Sie in der Lage sein, den gesamten Befehl rsync in einem einzigen atomaren Vorgang auszuführen, während das System angehalten wurde. Ein LVM-Snapshot ist atomar oder baut einen RAID-Spiegel auf und trennt dann eines der Laufwerke und setzt es in den neuen Computer ein. Selbst dann müssten Sie jedoch unbedingt zu Runlevel 1 ( en.wikipedia.org/wiki/Runlevel#Typical_Linux_runlevels ) wechseln , den Snapshot erstellen und in einem höheren Runlevel neu starten.
Lee B
1

Mein Mitarbeiter schwört auf System Imager:

http://wiki.systemimager.org/index.php/Main_Page

Ich weiß nicht, wie gut es für "Live" -Systeme funktionieren würde.

Ansonsten denke ich, dass Sie nicht weiterkommen, Dinge manuell zu erledigen:

  • Stellen Sie sicher, dass sich keine Installationsanwendungen außerhalb der Repositorys befinden
  • Sichern Sie die Liste der installierten Pakete und installieren Sie sie auf dem neuen Server
  • Kopieren Sie über Konfigurationsdateien
  • Datenbanken wiederherstellen
Natalie Adams
quelle
Systemimager rockt. Es funktioniert auf einem Live-System, mit den gleichen Voraussetzungen für die Ausführung von rsync, um den Status eines Live-Systems zu kopieren. Einige Apps müssen vor dem Kopieren heruntergefahren oder auf die Festplatte kopiert werden (z. B. MySQL-DBs) und müssen auf dem neuen System wiederhergestellt werden.
gbjbaanb
0

Vorausgesetzt, Sie können Ihre Datenbanken auf der Festplatte in einen konsistenten Zustand versetzen, können Sie mit DAR einfach eine Kopie von allem erstellen und diese dann wieder auf Ihren neuen Server zurückschreiben.

Das Synchronisieren Ihrer Datenbanken mit einem konsistenten Status auf der Festplatte kann schwierig sein, es kann jedoch auch funktionieren, nur einen Schnappschuss zu erstellen und diesen nach dem Wiederherstellen des DAR-Images wiederherzustellen. DAR wirkt sich auf die Serverleistung aus, während es ausgeführt wird.

Sobald Sie Ihr Image haben, können Sie die Netzwerkeinstellungen ändern und es problemlos wiederherstellen.

http://dar.linux.free.fr/

Paul McMillan
quelle