Ich suche nach Möglichkeiten, einen Live-Server remote in eine virtuelle Maschine zu klonen, um ihn als Testumgebung zu verwenden, die so identisch wie möglich mit dem Live-Server ist. Dies würde verwendet, um Änderungen, neue Softwareversionen usw. zu testen. Der Klon müsste den Boot-Manager, Partitionsinformationen usw. enthalten.
Wie kann ich dies mit minimaler Auswirkung auf den Live-Server erreichen und gleichzeitig ein funktionierendes Image erstellen, von dem ich booten kann (vorausgesetzt, es wird ordnungsgemäß gemountet oder nach dem Klonen in ein Image konvertiert)?
Auf dem Live-Server wird Centos 6.7 ausgeführt, und ich plane, Virtualbox zum Ausführen des Klons zu verwenden. Ich mache dies von einem Mac mit Homebrew aus, Bonuspunkte, wenn die Antwort von einem Mac aus funktioniert, aber bei Bedarf * nix verwenden kann.
Ich habe versucht, rsync zu verwenden und ein Image aus dem resultierenden Ordner zu erstellen, aber es fehlten Partitions- und Startinformationen, sodass ich das resultierende Image in Virtualbox nicht verwenden konnte, ohne zuerst Centos zu installieren und dann alle Dateien zu kopieren. Seien Sie nicht treu genug für eine Testumgebung.
Update: Ich habe versucht, den VMware-Konverter zu verwenden, aber leider scheint er nur für Windows verfügbar zu sein, und ich kann ihn nicht verwenden.
Stattdessen lade ich ein Image des Servers mit dd over ssh herunter. Ich plane, dieses Bild zu konvertieren, sobald es mit dem Befehlszeilenprogramm von virtuablox in eine .vdi heruntergeladen wurde. Wenn dies funktioniert, werde ich die Frage mit weiteren Details aktualisieren.
quelle
kvm
ausführen , würde ich die Verwendung anstelle von Virtualbox empfehlen. virtualbox eignet sich gut zum Ausführen einiger VMs auf dem Desktop eines Benutzers,kvm
ist jedoch besser für Server geeignet. Sie können esvirt-manager
auf Ihrem Mac verwenden, wenn Sie möchten, dass eine GUI-Verbindung die VM verwaltet oder deren Konsole verwendet (siehe z . B. github.com/jeffreywildman/homebrew-virt-manager ). kvm + qemu + libvirt. Sie können das Rohbilddd
direkt verwenden oder Sie können esqcow2
mitqemu-img
qemu-img
anstattdd
wenn Sie möchtenqcow2
. Sieheqemu-img --help
oder die Manpage für Details. Übrigens ist es am besten, den Live-Server zu klonen, während er nicht läuft.Antworten:
Physisch zu virtuell - P2V - ist das Verfahren, nach dem Sie suchen.
rsync
wird in diesem Fall nicht helfen.Sie sollten das kostenlose VMware Converter-Tool von Vmware verwenden, um die Festplatten Ihres physischen Servers in virtuelle Festplatten zu konvertieren, eine virtuelle Maschine in VirtualBox zu erstellen und die vorhandenen virtuellen Festplatten hinzuzufügen.
Eine vollständige Schritt-für-Schritt-Beschreibung finden Sie hier .
quelle
rsync
kann tatsächlich verwendet werden, aber Sie müssen die VM mit einem Live-CD-Image starten, Partitionen auf den virtuellen Laufwerken der VM erstellen, formatieren und mounten, mit diesen Partitionen rsyncieren und dann in das System chrooten und verwendengrub-install
, um zu erstellen es bootfähig. mäßig kompliziert, aber viel weniger Ausfallzeiten für den Live-Server.rsync
es nützlich wäreGeben Sie diesen Befehl ein, um eine Verbindung zur Serverfestplatte herzustellen, diese herunterzuladen und am Client zu speichern
ssh [email protected] "dd if=/dev/sda " | dd of=/home/backups/centos_image.img
Wenn die Verbindung abgelehnt wird, stellen Sie sicher, dass Sie sshd im Neustart-Cron-Job hinzufügen und aktivieren, dass es im Debug-Modus ausgeführt wird. Wenn Sie Windows verwenden möchten, stellen Sie sicher, dass Sie über Cygwin verfügenNachdem Sie das heruntergeladen haben
.img
, wird die folgende Ausgabe angezeigtxxxxxxxxxx bytes (x.x GB) copied, xxx.xxx s, x.x MB/s
Verwenden Sie jetzt VBoxManage, um es zu konvertieren
.vdi
VBoxManage convertfromraw --format VDI [filename].img [filename].vdi
Mounten Sie den VDI als Festplatte
quelle
Ich schrieb Schritt für Schritt eine detaillierte Antwort darauf, wie ich eine sehr ähnliche Herausforderung in der Frage gelöst habe: Ein laufendes Linux-System in eine KVM-Instanz auf einem anderen Computer verwandeln . Ich hoffe, es ist auch eine nützliche Antwort auf diese Frage.
Ziel der Antwort: Nehmen Sie einen physischen Linux-
P
Knoten, auf dem Live-Produktion ausgeführt wird, und virtualisieren Sie ihn. Ohne Multi-Terabyte-Festplatten erstellen und zuweisen zu müssen oder imV
Gast md raid verwenden zu müssen , da der Zielhypervisor (Proxmox 5) ZoL / ZFS verwendet. Wollte auch Ausfallzeiten / Neustarts auf dem laufendenP
Knoten verringern .quelle