Der beste Weg, um ein Live-Linux-System zu klonen

17

Kennt jemand eine Möglichkeit, ein Live-Linux-System zu klonen? Ich habe eine Live-Installation, die eine Produktionsstätte betreibt. Das Problem ist, ich muss es klonen (ohne es herunterzufahren) und dann auf eine virtuelle Maschine verschieben (wiederherstellen). Ich bin im Grunde von physischer Hardware auf virtuelle Hardware migriert.

Drewrockshard
quelle
Sie müssen es trotzdem herunterfahren, um es auf der VM zu starten.
Ignacio Vazquez-Abrams
Die physische Hardware wird hochgefahren -> das Klonen wird ausgeführt -> auf die VM migriert -> die URL-Adresse geändert -> fertig. Ich benötige bestimmte Best Practices zum Klonen von Live-Systemen.
Drewrockshard
4
Der erste Schritt besteht darin, festzustellen, welches Betriebssystem ausgeführt wird.
Bis auf weiteres angehalten.

Antworten:

12

Auf dem Quellcomputer:

dump -0 -f - / | ssh -c blowfish root@target_machine "cd /; restore -rf -"

Dadurch wird die fs auf Ihrem Quellcomputer gespeichert, über ssh kopiert und auf dem Zielcomputer wiederhergestellt.

Natürlich musst du dies für jedes fs wiederholen.

"Blowfish" ist nur dazu da, um die Komprimierung und Dekomprimierung zu beschleunigen.

mrkafk
quelle
Dieser schien am effizientesten zu funktionieren.
Drewrockshard
Ich kann es nicht bekommen, die Kleinschreibung r zu mögen. Ich hatte einen Teil dieser Arbeit durch Trennen -rf to -r -f, aber jetzt wiederherstellen: ungültige Option - 'r' cat: ungültige Option - 'r'
rjt
4
Ist diese Antwort noch gültig? Was würde passieren, wenn Sie einen laufenden MySQL-Dienst auf der Box hätten?
MirroredFate
6

VMWare Converter kann die meisten modernen Betriebssysteme ausführen, ohne den Server herunterzufahren. Dennis hat jedoch darauf hingewiesen, dass wir wirklich wissen müssen, welches Betriebssystem Sie ausführen.

Wenn Sie fertig sind, erhalten Sie ein virtuelles Image Ihres Servers anstatt eines unformatierten Image der Festplatte. In der Regel ist es jedoch für die meisten Arbeiten ausreichend, je nachdem, was Sie nach Abschluss des Vorgangs damit tun möchten.

Mark Henderson
quelle
Es läuft auf Fedora. Zu Ihrer Information, ich plane, es später für die Virtualisierung abzubilden, wahrscheinlich in Xen.
Str
Wenn ich mich bei der Virtualisierung nicht irre, muss sich das Image im virtuellen Image und nicht im Raw-Image befinden, oder?
Str
1
@Str, wenn Sie wissen, was das Betriebssystem ist, bearbeiten Sie Ihre Frage, um dies zu sagen, und verwenden Sie die entsprechenden Tags.
John Gardeniers
@Str - das stimmt, aber Sie haben nicht erwähnt, ob Sie die Maschine virtualisieren wollen oder nicht, nur, dass Sie sie klonen wollen.
Mark Henderson
1

Auf welche VM-Plattform migrieren Sie? VMWare hat einen Konverter für Linux . Es wird eine eingeschaltete Maschine konvertieren.

Jason Berg
quelle
Am Ende ist es im Haus und VMWare-basiert. Das Control Panel ist benutzerdefiniert, also laden wir im Grunde eine Live-CD und erweitern / extrahieren / etc auf die VM. Ich bin nicht sicher, ob ich Zugriff auf die VM-Infrastruktur für den VMWare-Konverter bekomme, aber das hängt alles davon ab, worum es geht. Zum Testen wollte ich jedoch versuchen, es auf eine Virtualbox vm zu migrieren, um zu sehen, ob dieser Proof of Concept überhaupt funktioniert.
Drewrockshard
Glaubst du, ich könnte den Konverter auf dem physischen Computer ausführen und dann die konvertierte VM in VMware "importieren" (habe den Konverter nie verwendet, daher ist meine Terminologie möglicherweise deaktiviert)?
Drewrockshard
Der Konverter funktioniert so nicht wirklich. Schauen Sie sich diesen Link an. Es soll Ihnen zeigen, wie eine Konvertierung funktioniert vladan.fr/how-to-p2v-linux-into-vmware-esx-server
Jason Berg
Gibt es eine Möglichkeit, den Import der VMware-Infrastruktur zu umgehen, damit ich das "konvertierte" Image lokal auf meinem System behalten kann, oder muss ich auf eine andere Infrastruktur migrieren (keine lokale Fähigkeit)?
Drewrockshard
Beachten Sie, dass der VMWare-Konverter (derzeit) Windows erfordert, obwohl er einen physischen Linux-Computer auf eine virtuelle Maschine migrieren kann.
Greg Glockner
1

Schauen Sie sich den VMWare- Konverter an, der meines Erachtens das Klonen von Live-Systemen ermöglicht.

user9517 unterstützt GoFundMonica
quelle
1

Wir machen im Allgemeinen Folgendes:

  • Booten Sie den virtuellen Zielhost von einer CD (oder starten Sie ihn über das Netzwerk).
  • Bereiten Sie die Dateisysteme auf dem virtuellen Host vor (dh bereiten Sie die Datenträger vor, erstellen Sie die Dateisysteme und hängen Sie sie ein).
  • Synchronisieren Sie die Dateien vom physischen Host mit dem virtuellen Host
  • Installieren Sie den Bootloader auf dem Zielhost

Dies funktioniert hervorragend, solange die Daten, über die Sie kopieren, relativ zustandslos sind. Wenn Sie zum Beispiel mit einem Datenbankserver zu tun haben, insbesondere einem mit vielen Aktivitäten, müssen Sie sicherstellen, dass sich die Datenbank im Ruhezustand befindet, bevor Sie die endgültige Umstellung vornehmen ist bereit:

  • Stoppen Sie die Datenbank
  • Führen Sie eine letzte Synchronisierung der Daten durch
  • Fahren Sie den physischen Host herunter
  • Starten Sie den virtuellen Host
larsks
quelle
1
Welchen rsync Befehl benutzt ihr?
Drewrockshard
0

Schauen Sie sich VMware Converter (kostenlos, wenn Sie vCenter haben) oder Plate Spin (eines ihrer Produkte ist ein Konverter) an.

Plate Spin macht eine Maschine live, mit minimaler Ausfallzeit zum Schneiden.

Mit VMware Converter kann ein Live-Computer (wenn eine Datenbank möglicherweise nicht synchron ist) die VM nicht starten, wenn sie fertig ist. Trennen Sie dann die vNIC und starten Sie den Computer, melden Sie sich über die Konsole an und ändern Sie die IP-Adressen usw. Schließen Sie dann die vNIC erneut an.

mrdenny
quelle
0

Es ist unmöglich, eine konsistente Momentaufnahme zu erstellen, ohne alle Vorgänge anzuhalten, die den Status des Systems ändern könnten.

Solange die Anwendung nicht explizit für diese Art von Vorgängen entwickelt wurde (dh die gesamte Verarbeitung erfolgt über Nachrichten in der Warteschlange), ist es unmöglich, einen konsistenten Snapshot zu erstellen, ohne das System herunterzufahren (oder zumindest die Transaktionskomponente zu deaktivieren).

Es ist jedoch möglich, das Zeitfenster für das Snap-Shotting des Systems erheblich zu verkürzen (z. B. durch Entfernen eines Spiegels von einem RAID-Set und anschließendes erneutes Einhängen an einer anderen Stelle). Und je kürzer die Zeit für die Erstellung des Snapshots ist, desto unwahrscheinlicher ist es, dass sich Transaktionen über den gesamten Vorgang erstrecken.

Und die meisten Dateisysteme / DBS unterstützen eine Art Journaling, mit dem die meisten fehlerhaften Vorgänge entweder wiederhergestellt oder zurückgesetzt werden können.

symcbean
quelle