Aus LinuxUser 11/2013

Virtualisierung auf der Kommandozeile mit KVM

© Benis Arapovic, 123RF

Schnellstart

KVM ermöglicht durch seine kleinen, aber feinen Kommandozeilenwerkzeuge, schnell eine virtuelle Maschine zu starten, ohne sich dazu umständlich durch bunte Menüs klicken zu müssen.

Virtuelle Maschinen sind äußerst praktisch. In diesen nachgebildeten Computern probieren Sie eben mal schnell eine neue Distribution aus, starten ein Windows oder beleben ältere Betriebssysteme wieder. Die wohl beliebteste quelloffene Virtualisierungssoftware hört auf den etwas sperrigen Namen „Kernel-based Virtual Machine“ oder kurz KVM [1]. Obwohl maßgeblich von Red Hat vorangetrieben, kommt sie mittlerweile in fast allen großen Distributionen als bevorzugte Virtualisierungslösung zum Einsatz.

Arbeitsteilung

KVM selbst besteht aus mehreren Einzelteilen (Abbildung 1). Die Basis bildet dabei ein Kernel-Modul: Es sorgt dafür, dass die virtuellen Maschinen effizient auf die echte Hardware zugreifen können und sich dabei nicht gegenseitig in die Quere kommen. Einen solchen Verwalter nennt man auch Hypervisor [2] oder Virtual Machine Manager (VMM). Seit Version 2.6.20 gehört das KVM-Modul standardmäßig zum Linux-Kernel und ist somit in jeder aktuellen Distribution zu finden.

Abbildung 1: Das KVM-Modul stellt die notwendige Infrastruktur für die virtuellen Maschinen bereit.
Abbildung 1: Das KVM-Modul stellt die notwendige Infrastruktur für die virtuellen Maschinen bereit.

Die Dienstleistungen des Moduls kann eine Virtualisierungssoftware in Anspruch nehmen. Bei den meisten Distributionen kommt dabei Qemu [3] zum Einsatz. Dieses Programm ist wesentlich älter als KVM und bildete ursprünglich einen kompletten PC nach, einschließlich des Prozessors. Mittlerweile kann Qemu das KVM-Modul und somit die wichtigen Hardware-Komponenten des echten PC direkt nutzen. Hierdurch laufen die von Qemu gestarteten Betriebssysteme und Programme wesentlich flotter.

Einige aktuelle Distributionen verteilen Qemu und seine Hilfsprogramme auf mehrere Pakete. Nutzer von OpenSuse benötigen lediglich das Paket kvm, unter Ubuntu 13.04 greifen Sie im Software-Center zum Programm qemu (oder direkt zum Paket qemu-system). Im Zweifelsfall sollten Sie sich im Paketmanager Ihrer Distribution für das kvm-Paket entscheiden.

Gastgeber

Die Installation selbst ist kinderleicht: Es genügt, das besagte KVM-Paket über den Paketmanager einzuspielen. Eine virtuelle Maschine lässt sich allerdings nur dann reibungslos starten, wenn der reale Computer ein paar Voraussetzungen erfüllt.

Zunächst muss der Prozessor ein Intel- beziehungsweise AMD-Modell sein, das die Virtualisierung mit einer speziellen Befehlserweiterung unterstützt. Bei Intel heißt diese Technik Intel VT, beim Konkurrenten AMD-V. Die meisten Desktop- und Notebook-Prozessoren der letzten fünf Jahre unterstützen die entsprechende Technologie. Eine Ausnahme bilden besonders leistungsschwache Prozessoren, wie etwa einige Modelle aus der Atom-Reihe. Für seine eigenen Prozessoren stellt Intel eine entsprechende Liste [4] bereit.

Ob der Prozessor Ihres PCs Virtualisierung unterstützt, prüfen Sie mit dem Befehl lsmod | grep kvm. Er sollte zwei Zeilen zurückliefern: Eine beginnt mit kvm, die andere je nach Prozessor mit kvm_intel oder kvm_amd. Andernfalls können Sie versuchen, die Module per Hand zu starten, bei einem Intel-Prozessor etwa mittels der folgenden zwei Kommandos:

$ sudo modprobe kvm
$ sudo modprobe kvm_intel

Unter Umständen müssen Sie die Funktionen auch erst noch im BIOS beziehungsweise der Firmware des Computers aktivieren. Fehlt der CPU die Hardwarevirtualisierung, lässt sich zwar trotzdem eine virtuelle Maschine starten, das darin laufende Gastsystem kriecht dann aber im Schneckentempo vor sich hin.

Als Nächstes benötigen Sie möglichst viel Hauptspeicher – denn der muss jetzt nicht nur das gastgebende Betriebssystem aufnehmen, sondern auch noch die virtuellen Maschinen. Das absolute Minimum stellen 2 GByte dar. Je mehr RAM im Rechner steckt, desto mehr virtuelle Maschinen mit speicherhungrigen Betriebssystemen können Sie starten. Achten Sie dabei auch auf die Anforderungen der jeweiligen Gast-Betriebssysteme: Wollen Sie später 64-Bit-Programme in den virtuellen Maschinen starten, muss das gastgebende Linux ebenfalls ein 64-Bit-System sein. Auf einem solchen können Sie auch 32-Bit-Betriebssysteme ausführen, nicht aber umgekehrt.

Abschließend testen Sie mittels des Aufrufs qemu -version noch, ob KVMs Gehilfe Qemu korrekt installiert ist. Erscheint anstelle der Versionsnummer nur eine Fehlermeldung, probieren Sie stattdessen qemu-kvm -version aus. Einige Distributionen, wie etwa OpenSuse, nennen das an KVM angepasste Qemu qemu-kvm. In diesem Fall müssen Sie in allen folgenden Befehlen immer den Aufruf qemu durch qemu-kvm ersetzen.

Schnellstart

Um schnell eine virtuelle Maschine mit einem Live-System zu starten, geben Sie den Befehl qemu -cdrom img.iso ein. Dabei steht img.iso für das ISO-Abbild mit der Live-CD/DVD des zu startenden Gastsystems. Falls Sie schon eine CD oder DVD gebrannt haben, ersetzen Sie einfach den Dateinamen gegen die Gerätedatei für das entsprechende Laufwerk, also etwa:

$ qemu -cdrom /dev/cdrom

Der Desktop des gestarteten Systems erscheint jetzt in einem eigenen Fenster. Einige Linux-Distributionen erkennen, dass sie in einer virtuellen Maschine laufen, und lassen sich dann wie eine normale Anwendung bedienen. Teilweise funktioniert das allerdings nur etwas hakelig. Probleme bereitet vor allem Ubuntu 13.04, das gerne den Mauszeiger verschluckt oder gar den Bildschirm nicht korrekt aufbaut. In einem solchen Fall hängen Sie Qemu noch den Parameter -vga std an:

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 8 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
KAUFEN
LinuxUser 11/2013 KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland

Hinterlasse einen Kommentar

  E-Mail Benachrichtigung  
Benachrichtige mich zu: