Linux-Alternative zu VirtualBox: Qemu/KVM und Virtual Machine Manager (virt-manager)

Will man ein Betriebssystem im Betriebssystem starten, benötigt man eine Virtualisierungs-Software, welche Hardware und BIOS simuliert, um dem System einen echten, physikalisch vorhandenen Rechner „vorzugaukeln“. Oracles VritualBox ist so eine Software … VMware auch. Aber warum externe Software/Treiber benutzen, wenn schon eine voll funktionsfähige Virtuelle Maschine im Linux-Kernel enthalten ist?
virt-manager

Die Rede ist von KVM (Kernel-based Virtual Machine). Dieses Mini-Tutorial behandelt die Installation und Konfiguration vom Virtual Machine Manager (virt-manager) und Qemu, welche das Kernel-Modul KVM verwenden können und eine grafische Oberfläche zur Verfügung stellen.

Durchgeführt wird das Ganze in einer lokalen Arch Linux (x86_64) Umgebung. Die Vorgehensweise dürfte bei anderen Linux-Distributionen aber im Prinzip dieselbe sein, wenn die Installations-Befehle und ggf. die Paketnamen angepasst werden.

Zuallererst muss geprüft werden, ob die verbaute CPU überhaupt fähig zur Virtualisierung ist.

# lscpu

Wenn bei der Ausgabe eine Zeile wie ‚Virtualisierung: VT-x‘ (bei Intel CPUs) oder ‚Virtualisierung: AMD-V‘ (bei AMD CPUs) dabei ist, ist die Hardware kompatibel und es kann weiter gehen.

Das KVM-Modul ist in der Regel (ab Kernel 2.6.20) schon im Kernel enthalten und aktiviert. Es muss also nur noch die Software drum herum installiert werden.

# sudo pacman -S virt-manager qemu libvirt dnsmasq

Danach starten wir libvirt und werfen einen Blick ins Verzeichnis /var/lib/libvirt/qemu

# sudo systemctl enable libvirtd
# sudo systemctl start libvirtd
# cd /var/lib/libvirt/qemu
# ls -l

Steht bei den Unterverzeichnissen channel/ und dump/ root als Besitzer, kann das später zu Problemen mit RedHat-basierten Betriebssystemen führen. Wir passen also die Verzeichnisrechte mit folgendem Befehl an:

# sudo chown -R nobody:kvm channel dump

Das Ergebnis sollte dann in etwa so aussehen:

[staffe@Triton qemu]$ ls -l
insgesamt 16
srwxr-xr-x  1 nobody kvm 0 8. Jul 16:06 capabilities.monitor.sock
drwxr-xr-x 3 nobody kvm 4096 2. Jul 12:10 channel
drwxr-xr-x 2 nobody kvm 4096 18. Feb 22:18 dump
drwxr-xr-x 2 nobody kvm 4096 18. Feb 22:18 save
drwxr-xr-x 2 nobody kvm 4096 18. Feb 22:18 snapshot

Jetzt muss nur noch die Gruppe libvirt erstellt und der lokale Benutzer dieser hinzugefügt werden.

# sudo groupadd libvirt
# sudo gpasswd -a user libvirt

Beim zweiten Befehl ist darauf zu achten, dass statt ‚user‘ der jeweilige Benutzer eingesetzt wird.

Danach sollten alle betreffenden Module und Treiber neu geladen werden. Ein einfacher Neustart des Rechners bewirkt aber dasselbe und man gerät nicht in Gefahr etwas zu übersehen.

Geschafft. Der Virtual Machine Manager kann jetzt gestartet (Konsole: virt-manager), und Qemu/KVM als Hypervisor-Verbindung hinzugefügt werden (siehe ersten Screenshot oben). Danach können virtuelle Maschinen komfortabel über das Frontend installiert und gestartet werden.

Als erste Virtuelle Maschine im virt-manager kam bei mir CentOS 7 zum Einsatz. Wer noch weitere Unterstützung oder eine Vergleichsmöglichkeit will, kann sich durch folgende, 14-teilige Fotostrecke klicken, wo ich jeden Schritt (hoffentlich :P) ausführlich genug beschrieben habe.

Fotostrecke: Installation von CentOS 7 im Virtual Machine Manager mit Qemu/KVM

Bild 1 von 14


Wurde alles richtig installiert und die Hypervisor-Verbindung hinzugefügt, kanns mit dem Erstellen der virtuellen Maschine losgehen. Da ich CentOS 7 aus einem iso-Image installieren will, wähle ich 'Lokales Installationsmedium' und die passende Architektur.

2 Comments

  1. Almin said:

    Vielen, vielen Dank für diesen großartigen, wirklich gelungenen Artikel!
    Ich wollte kvm schon immer einmal ausprobieren, habe mich aber bisher davor gescheut, weil ich zuviel Angst davor hatte und mir das Ganze mit Virtualisierung auf dieser Ebene zu kompliziert ist (habe bisher VirtualBox genutzt). Ich benutze selbst Arch Linux. Deine Anleitung war HERVORRAGEND! Die hat HAARGENAUSO funktioniert! Ich habe noch nie in meinem ganzen Leben eine so gute Schritt-für-Schritt-Anleitung gesehen! Ich habe es eins-zu-eins nachvollziehen können, es hat mir die Angst genommen, ich habe es nachgemacht und bin total happy mit meinem Lubuntu-inside-ArchLinux! Vielen Dank!
    Mach genau so weiter!
    ps: Das gibt eine Spende!

    9. Juli 2014
    Reply
    • Staffe said:

      Hallo Almin,

      Herzlichen Dank für das dicke Lob und die großzügige Spende! Da werd ich ja richtig rot beim Durchlesen 🙂 Freut mich sehr, dass dir mein Artikel so weitergeholfen hat.

      10. Juli 2014
      Reply

Schreibe einen Kommentar

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