qemu, kvm, xen & libvirtHauptseite | Über | Hilfe | FAQ | Spezialseiten | Anmelden

Druckversion | Impressum | Datenschutz

Physical-to-Virtual, P2V-Migration, p2v converter, p2v assistant

(Link zu dieser Seite als [[QEMU-KVM-Buch/ Speichermedien/ Physical-to-Virtual]])

<<<|###| >>> | English


[bearbeiten] Physical-to-Virtual

Alte Computer verbrauchen nicht nur Platz und Strom, sie müssen auch öfter gewartet werden und die Ausfallwahrscheinlichkeit nimmt zu. Ein Umzug auf eine neue Hardware kann problematisch werden, wenn das alte Betriebssystem auf moderner Hardware nicht lauffähig ist. Eine Neuinstallation auf eine virtuelle Maschine ist zeitaufwendig oder sogar unmöglich, wenn die Medien und Dokumentation zur Installation und Konfiguration unvollständig sind. Besser ist es, man überträgt den Inhalt der Festplatte des alten Computers mit Betriebssystem, Anwendungen und Daten auf ein Image. Dieses Verfahren wird auch bei der Beweissicherung und Untersuchung nach einem Systemeinbruch angewendet. Die Übertragung eines Betriebssystems von einer realen Maschine auf eine virtualisierte Maschine nennt man Physical-to-Virtual (P2V). Es gibt dazu kommerzielle Lösungen. Allerdings sind diese Lösungen nur für einige Betriebssysteme verfügbar. Hier wird eine vom installierten Betriebssystem unabhängige Open Source-Lösung beschrieben.

Die notwendigen Schritte dazu sind: Der alte Computer wird mit einer Linux-Live-CD gestartet. Mit den Tools dd, netcat und gzip wird ein Dump der alten Festplatte erstellt und über das Netzwerk komprimiert auf einen anderen Rechner mit genügend Festplattenkapazität übertragen. Auf dem Zielrechner wird der übertragene Datenstrom dekomprimiert und als Image gespeichert. Mit QEMU kann das Betriebssystem auf diesem Image direkt gestartet werden. Man kann aber auch mit qemu-img das Image für ein anderes Virtualisierungsprogramm konvertieren.

Nach diesem kurzem Überblick jetzt zur genauen Beschreibung der Schritte. Man startet den alten Rechner mit der Linux-Live-DVD/CD. Dies ist nötig, um sicherzustellen, dass keine Schreibvorgänge auf der Festplatte stattfinden. Bei der Auswahl einer Linux-Live-CD/-DVD ist darauf zu achten, dass die Tools dd, gzip und netcat zur Verfügung stehen. Außerdem müssen die Netzwerkkarte und die Festplatten erkannt werden. Dafür kommen zum Beispiel die Knoppix-Live-DVD oder auch grml (http://www.grml.org) in Frage. Letztere ist auch auf älterer Hardware lauffähig. Steht nicht einmal ein CD-Laufwerk zur Verfügung, ist der Einsatz einer Live-Diskette möglich (http://mulinux.dotsrc.org). Nachdem das System von der Live-CD/-DVD hochgefahren ist, gilt es, mit fdisk die Device-Bezeichnungen der vorhandenen Festplatten zu ermitteln.

~# fdisk -l

Als /dev/hda wird die erste IDE-Platte bezeichnet und /dev/hdb kennzeichnet die zweite IDE-Platte. SCSI-Platten werden unter Linux mit /dev/sda, /dev/sdb und so weiter angezeigt. Befindet sich beispielsweise auf der Festplatte /dev/hda das zu virtualisierende System, muss man davon ein Image anlegen. Dazu braucht man das Programm dd. Die genaue Anweisung lautet in diesem Beispiel:

~# dd if=/dev/hda of=hda.raw

Der Parameter if definiert die einzulesende Datei (hier das Festplatten-Device), der Parameter of die zu schreibende Datei (hier das Image). Da dieses Image wahrscheinlich keinen Platz auf dem alten Rechner hat, kopiert man es gleich über das Netzwerk auf einen anderen Rechner, der in diesem Beispiel die IP-Adresse 192.168.1.123 besitzt. Falls kein DHCP-Server automatisch IP-Adressen vergibt, muss der alte Rechner erst noch eine IP-Adresse erhalten. Dies geschieht mit dem Befehl ifconfig.

~# ifconfig eth0 192.168.1.234 netmask 255.255.255.0 up

Der Rechner, der das Image speichern soll, muss dieses empfangen können. Der alte Rechner muss dagegen diese Datei senden. Die Datenübertragung ermöglicht auf beiden Seiten das Programm netcat. Mit gzip komprimiert man die Übertragung, wobei der Parameter -c auf die Standardausgabe schreibt. Dekomprimiert wird mit dem Parameter -d. gzip überprüft die korrekte Übertragung mit Check-Summen. Der Rechner zum Speichern des Images wird empfangsbereit geschaltet.

Host ~# netcat -w30 -vvnl 3333 | gzip -dc > hda.raw

Auf dem alten Rechner mit der Live-CD startet man die Übertragung der Festplatte.

~# dd if=/dev/hda | gzip -c | netcat -w 30 -vvn 192.168.1.123 3333

dd liest hier die Festplatte /dev/hda und schickt die Standardausgabe durch gzip zum Komprimieren. Der komprimierte Datenstrom wird von netcat an die IP-Adresse 192.168.1.123 zu dem Port 3333 gesendet. Auf dem Empfangsrechner nimmt netcat den Datenstrom auf dem Port 3333 entgegen. gzip dekomprimiert diesen Datenstrom. Die Ausgabe wird in die Datei hda.raw umgeleitet. Ist die Übertragung zu Ende, kann dieses Image direkt in QEMU verwendet werden. Es empfiehlt sich vorher eine Sicherheitskopie dieser Datei anzulegen.

Host ~$ qemu-system-x86_64 hda.raw -snapshot

Möglicherweise wird das System beim Start andere Hardware erkennen. Das heißt, man muss eventuell die entsprechenden Treiber installieren.

<<<|###| >>>

Von „http://qemu-buch.de/de/index.php/QEMU-KVM-Buch/_Speichermedien/_Physical-to-Virtual

Diese Seite wurde bisher 45.830 mal abgerufen. Diese Seite wurde zuletzt am 23. November 2011 um 18:15 Uhr geändert. Inhalt ist verfügbar unter der GNU Free Documentation License 1.2.


Finden

Blättern

News

Deutsch
Weitersagen
Bestellen
Tipps für Autoren
Autoren
Impressum


English
Order
Recommendation
The Authors
Contact



Letzte Änderungen


Ändern
Seite bearbeiten
Bearbeitungshilfe
Seitenoptionen
Diskussion
Kommentar hinzufügen
Druckversion
Seitendaten
Versionen
Links auf diese Seite
Änderungen an verlinkten Seiten
Meine Seiten
Anmelden
Spezialseiten
Neue Seiten
Dateiliste
Statistik
Kontakt
Mehr …