Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Schwerpunkt<br />
KVM-Grundlagen<br />
PXE: Intel Preboot Execution Environment.<br />
Protokoll zum Booten eines Betriebssystems<br />
via Netzwerk. Bei Etherboot handelt<br />
es sich um eine GPL-lizenzierte PXE-Implementation.<br />
TUN/TAP: Virtuelle Kernel-Netzwerktreiber,<br />
die Netzwerkgeräte via Software simulieren.<br />
TAP kommuniziert mittels Ethernet-Frames,<br />
TUN über IP-Pakete.<br />
Der Parameter ‐usb aktiviert die USB-<br />
Unterstützung, hinter ‐device nennen<br />
Sie den Namen des Geräts. In diesem Fall<br />
handelt es sich um ein USB-Gerät am realen<br />
PC (usb‐host), das dort die Bus-Adresse<br />
(hostbus) 1 und die Gerätenummer<br />
(hostaddr) 3 aufweist.<br />
Sie können das USB-Gerät auch in einer<br />
laufenden virtuellen Maschine einfach<br />
anstöpseln. Dazu wechseln Sie in<br />
den Monitor und verwenden den Befehl<br />
usb_add 7 . Er hat die allgemeine Form<br />
usb_add host:Bus.Device. Damit sähe<br />
er also im Beispiel des USB-Sticks folgendermaßen<br />
aus:<br />
(qemu) usb_add host:1.3<br />
Damit Qemu das reale USB-Gerät an die<br />
virtuelle Maschine durchreichen kann,<br />
muss es auf dessen Gerätedatei auch zugreifen<br />
dürfen 8 . Ist das nicht der Fall,<br />
Konvertierungskünstler Qemu-img<br />
Das Werkzeug Qemu-img erstellt nicht nur neue Festplattenimages,<br />
sondern kann auch verschiedene Formate ineinander konvertieren.<br />
Der folgende Befehl produziert beispielsweise aus dem VirtualBox-<br />
Image ubuntu.vdi eines im QCOW2-Format:<br />
$ qemu‐img convert ‐O qcow2 ubuntu.vdi ubuntuqcow2.U<br />
img<br />
Welche Formate qemu‐img verdaut, verrät der Befehl qemu‐img<br />
‐‐help in der Liste am unteren Ende. Darunter finden sich auch die<br />
Dateiformate der bekannteren Virtualisierungslösungen, wie Virtual-<br />
Box (vdi), Parallels, Vmware (vmdk), VirtualPC (vhd oder vpc),<br />
Bochs oder Images aus Mac OS X (dmg). Bei raw handelt es sich um<br />
ein unkomprimiertes Abbild einer Festplatte, wie Sie es beispielsweise<br />
mit dd erstellen. Dagegen steht qed für Qemu Enhanced Disk<br />
Format, den designierten Nachfolger von QCOW2 û.<br />
Je nach Umfang des Images und der Leistungsfähigkeit des Rechners<br />
kann der Konvertierungsvorgang übrigens einige Zeit in Anspruch<br />
nehmen. Sofern Sie das Image ins QCOW2-Format konvertieren, dürfen<br />
Sie es noch verschlüsseln lassen:<br />
$ qemu‐img convert ‐O qcow2 ‐o encryption=on ubuntu.U<br />
vdi ubuntuqcow.img<br />
Qemu-img verlangt jetzt die Eingabe eines Passworts. Die Verschlüsselung<br />
selbst erfolgt mittels AES und einem 128-Bit-Schlüssel. Qemu<br />
müssen Sie später lediglich das (verschlüsselte) Image wie gewohnt<br />
übergeben. Daraufhin startet die virtuelle Maschine, hält aber umgehend<br />
mit einem schwarzen Fenster an. Dort wechseln Sie mit<br />
[Strg]+[Alt]+[ 2 ] in den Monitor, setzen dort mit dem Befehl c die<br />
Verarbeitung fort und tippen dann das Passwort zur Entschlüsselung<br />
der Platte ein.<br />
Alternativ zur Verschlüsselung kann Qemu-img ein QCOW2-Image<br />
auch unter Verwendung der Kompressionsbibliothek Zlib eindampfen:<br />
$ qemu‐img convert ‐c ‐O qcow2 ubuntu.vdi ubuntuqcowU<br />
.img<br />
Auch das geschrumpfte Image übergeben Sie wie ein normales Abbild<br />
an Qemu. Komprimierung und Verschlüsselung sorgen zwar für<br />
kleinere Festplatten-Images, in die kein Fremder hineinspähen kann,<br />
beide Funktionen kosten aber auch Rechenleistung.<br />
Das QCOW2-Format bietet eine weitere praktische Eigenschaft: Sie<br />
können den Zustand einer Abbilddatei einfrieren. Alle weiteren Änderungen<br />
speichert Qemu dann in einem zweiten, kleineren Image.<br />
Das ist besonders dann nützlich, wenn Sie häufig neue Software ausprobieren.<br />
Das Basissystem im ersten Abbild bleibt unangetastet,<br />
während alle Änderungen im zweiten landen. Um wieder ein frisches<br />
System vor sich zu haben, müssen Sie lediglich das zweite Image löschen.<br />
Um diese Funktion zu nutzen, erstellen Sie zunächst wie gewohnt<br />
ein Festplattenabbild:<br />
$ qemu‐img create ‐f qcow2 basis.img 30G<br />
Dieses starten Sie unter Qemu und installieren das gewünschte Betriebssystem<br />
darauf. Anschließend beenden Sie Qemu und erstellen<br />
ein zweites, sogenanntes Overlay-Image, das sich alle zukünftigen<br />
Änderungen merkt:<br />
$ qemu‐img create ‐f qcow2 ‐o backing_file=basis.imgU<br />
overlay.img<br />
Wenn Sie jetzt Qemu starten, verwenden Sie nur noch overlay.<br />
img. Das Image basis.img muss weiterhin im gleichen Verzeichnis<br />
liegen bleiben – schließlich dienen die dort gespeicherten Daten als<br />
Ausgangspunkt. Sobald Sie später die Änderungen verwerfen möchten,<br />
löschen Sie einfach overlay.img und nutzen wieder das basis.img.<br />
Übrigens können Sie beliebige weitere Overlay-Images auf<br />
basis.img aufbauen lassen. Möchten Sie den Stand in overlay.<br />
img auf das basis.img übertragen, verwenden Sie den schlichten<br />
Befehl:<br />
$ qemu‐img commit overlay.img<br />
Alternativ verwenden Sie den commit-Befehl im Qemu-Monitor. Es<br />
kann sich übrigens auch lohnen, ein QCOW2-Image in ein QCOW2-<br />
Image zu konvertieren: Qemu-img erkennt unbelegte Sektoren und<br />
übernimmt diese nicht in das Ziel-Image – die entstehende Image-<br />
Datei ist am Ende somit kleiner als das Original. Das Verfahren kann<br />
man auch noch weiter treiben und die Abbilddatei mittels<br />
‐snapshot einbinden:<br />
$ qemu ‐m 1024M ‐boot ‐snapshot basis.img<br />
Qemu liest jetzt nur noch von der Festplatte. Sämtliche Änderungen<br />
speichert es in eine temporäre Datei im Verzeichnis /tmp. Diese<br />
löscht Qemu, sobald Sie die virtuelle Maschine beenden. Das Gastsystem<br />
ist damit, ähnlich wie bei einer Live-CD, wieder in seinem ursprünglichen<br />
Zustand.<br />
Sollten einmal Zweifel an der Integrität einer Abbilddatei auftreten,<br />
hilft folgender Befehl weiter:<br />
qemu‐img check meinimage.img<br />
Das Kommando überprüft das angegebene Image auf Fehler. Das<br />
funktioniert allerdings nur für die Formate QCOW2, QED und VDI.<br />
14 www.linux-user.de<br />
11.2013