26.02.2014 Aufrufe

LinuxUser Virtueller Desktop (Vorschau)

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!