Virtualisierung mit QEMU und KVM unter Ubuntu Linux

Virtuelle Maschinen – kurz VMs – lassen sich unter Ubuntu sehr einfach mit QEMU und KVM anlegen und verwalten. Wie das genau geht, erfährst Du im folgenden Artikel. Hier findest Du die alle nötigen Befehle, angefangen vom Anlegen eines Containers, über die Installation des Betriebssystems, bis zur Erzeugung und Verwaltung von Overlays.

1. Voraussetzungen prüfen

Wenn QEMU noch nicht installiert ist, ist die Installation über apt-get der erste Schritt. Vorher sollte man allerdings prüfen, ob der Prozessor im System überhaupt die nötigen Befehlssätze zur Virtualisierung unterstützt. Dazu kann man mit folgendem Befehl nach den entsprechende Flags svm für CPUs von AMD und vmx für CPUs von Intel in der Datei /proc/cpuinfo suchen

grep -Eom 1 '^flags.+\b(svm|vmx)\b' /proc/cpuinfo

Beim Ausführen des Befehls sucht das Tool grep in der Datei nach den beiden genannten Flags und gibt beim ersten Treffer die entsprechende Zeile aus.

2. QEMU installieren

Als nächstes folgt dann die Installation von QEMU mit Hilfe von apt-get. Am einfachsten ist dabei die Installation des Meta-Pakets qemu. Das Paket ist ab Ubuntu 12.04 im Universe-Repository enthalten.

sudo apt-get install qemu

Wenn QEMU erfolgreich installiert wurde, kann es losgehen:

3. Container anlegen

Ein Container ist eine Art virtuelle Festplatte für die VM. In den Container kann anschließend das Betriebssystem installiert werden. Zum Anlegen des Container benutzt man das Kommando qemu-img

qemu-img create ubuntu_16.10_desktop.img 64G

Als Parameter bekommt der Befehl die Größe des Containers übergeben (im obigen Beispiel 64G = 64 GByte). Wenn die Container-Datei auf einer Partition mit ext3- oder ext4-Dateisystem angelegt wird, wächst sie dynamisch und belegt immer nur soviel Speicherplatz, wie die VM tatsächlich benötigt (sog. Sparse-Datei). Die Angabe zur Größe des Containers ist in dem Fall eine Maximal-Angabe.

4. VM-Betriebssystem installieren

Nach dem Anlegen des Containers kann das Betriebssystem installiert werden. Dazu dient der Befehl qemu-system, der noch um die Prozessor-Architektur ergänzt werden muss. Für die Installation eines 64-Bit-Systems bzw. die Emulation eines 64-Bit-Prozessor lautet der Befehl z.B. wie folgt:

qemu-system-x86_64 -enable-kvm -hda ubuntu_16.10_desktop.img -cdrom ubuntu-16.10-desktop-amd64.iso -boot d -m 4096

Für die Emulation eines Systems mit 32-Bit CPU müsste der Befehl wie folgt lauten:

qemu-system-i386 -enable-kvm -hda ubuntu_16.10_desktop.img -cdrom ubuntu-16.10-desktop-i386.iso -boot d -m 4096

Die beiden Befehle installieren Ubuntu 16.10 in der Desktop-Version. Über den Parameter -cdrom werden die ISO-Images als Laufwerk gemountet. Der Parameter -m gibt die Größe des Arbeitsspeichers an, die der VM zur Verfügung steht (in den obigen Beispielen 4096 = 4.096 MByte = 4 GByte).

5. VM starten

Wenn die Installation durchgelaufen ist und man die VM zum ersten Mal starten will, entfernt man einfach die Parameter -boot und -cdrom:

qemu-system-x86_64 -enable-kvm -hda ubuntu_16.10_desktop.img -m 4096 -vga std

Der zusätzliche Parameter -vga std sorgt für die Emulation einer VGA-Grafikkarte, die eine Bildschirmauflösung von maximal 1280×1024 unterstützt.

Tipp: Wenn in einer Windows-VM die Systemzeit nicht stimmen sollte, kann der zusätzliche Parameter -localtime helfen.

6. Overlays verwalten

Virtuelle Maschinen dienen häufig zu Testzwecken. Neue Software-Versionen kann man z.B. auf einer VM ausprobieren, ohne das Produktiv-System in Gefahr zu bringen. Gleichzeitig ist die Installation eines Betriebssystems in einer VM aber auch mit einem gewissen Zeitaufwand verbunden. An dieser Stelle kommen Overlays ins Spiel. Ein Overlay ist eine Kopie einer VM mit der man weiterarbeiten kann, ohne dass Änderungen am ursprünglichen Zustand bzw. der ursprünglichen Version der virtuellen Maschine vorgenommen werden.

Zum Anlegen eines Overlays verwendet man den Befehlt qemu-img:

qemu-img create -f qcow2 -b ubuntu_16.10_desktop.img ubuntu_16.10_desktop.ovl

Wichtig ist, dass man anschließend nur noch mit dem Overlay weiterarbeiten sollte. Sobald das ursprüngliche Image ubuntu_16.10_desktop.img verändert wird, ist das Overlay nicht mehr nutzbar. Wenn man zum ursprünglichen Zustand zurückkehren möchte, kann man einfach die Overlay-Datei löschen und eine neue anlegen.

Wenn man herausfinden möchte, auf welchem Image ein Overlay basiert, kann der Befehl qemu-img helfen:

qemu-img info ubuntu_16.10_desktop.ovl

Ich freue mich über Hinweise, Kritik oder Anmerkungen in den Kommentaren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.