ubuntuusers.de

ubuntuusers.deWikiKVM

KVM

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

kvmbanner-logo2.png KVM {en}, Kernel-based Virtual Machine ist eine Virtualisierungstechnik für Linux auf x86-Hardware. Sie wurde im Oktober 2006 der Öffentlichkeit vorgestellt. Seit der Version 2.6.20 des Linux-Kernels ist das Kernelmodul von KVM bereits in Linux enthalten. Entwickelt wird KVM von dem (israelischen) Unternehmen Qumranet {en}. Das Unternehmen wurde im September 2008 vom amerikanischen Linux-Distributor Red Hat {en} übernommen. Seit Ubuntu 8.04 ist KVM die offiziell unterstützte (und im Serverbereich bevorzugte) Virtualisierungslösung von Ubuntu.

Hinweis:

Ein Vorteil von KVM ist, dass die Gastsysteme fast mit nativer Geschwindigkeit laufen, d.h. das Gastsytem reagiert nahezu so schnell wie ein natives System.

Voraussetzung

Um KVM unter Ubuntu zu nutzen, ist es zwingend erforderlich, dass man einen Prozessor hat, der Hardwarevirtualisierung direkt unterstützt. Dies kann man herausfinden, indem man cat /proc/cpuinfo in der Konsole eingibt. Ist dort unter flags entweder der Eintrag vmx oder svm vorhanden, beherrscht der Prozessor diese Technik. Dies erledigt auch der folgende Befehl [3]:

grep -E '^flags.*\b(vmx|svm)\b' /proc/cpuinfo 

Alternativ kann man natürlich auch in das Datenblatt für den Prozessor schauen; eine (nicht zwingend aktuelle) Übersicht findet man auch bei Wikipedia für Intel-Prozessoren und AMD-Prozessoren.

Unterstützt der Prozessor Hardwarevirtualisierung, so werden in der Regel die beiden benötigten Kernel-Module beim Start des Systems automatisch geladen. Dies kann man mit folgendem Befehl prüfen [2]:

lsmod | grep kvm 

Die Ausgabe sollte dann so aussehen:

## für Intel-Prozessoren
kvm
kvm_intel

## für AMD-Prozessoren
kvm
kvm_amd

Sollten die Module nicht geladen sein, kann man sie mit den folgenden Befehlen laden:

## für Intel-Prozessoren
sudo modprobe kvm
sudo modprobe kvm_intel

## für AMD-Prozessoren
sudo modprobe kvm
sudo modprobe kvm_amd

Sollten dabei Fehler auftreten, dann liefert

dmesg | grep kvm 

meist die Fehlerursache.

Hinweis:

Bei manchen Rechnern ist die Hardwarevirtualisierung im BIOS deaktiviert. Diese muss dann natürlich erst aktiviert werden, damit man KVM nutzen kann.

Installation bis Ubuntu 12.10

Bis einschließlich Ubuntu 12.10 muss nur noch das Paket

  • qemu-kvm

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install qemu-kvm 

sudo aptitude install qemu-kvm 

installiert werden [1].

Installation ab Ubuntu 13.04

Ab Ubuntu 13.04 muss für die Emulation von x86-Maschinen (32 und 64 bit) nur das Paket

  • qemu-system-x86

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install qemu-system-x86 

sudo aptitude install qemu-system-x86 

installiert werden [1]. Weitere Architekturen (ARM, CRIS, M68k (ColdFire), MicroBlaze, MIPS, PowerPC, SH4, SPARC) werden durch Installation des Pakets "qemu-system" emuliert, welches auch das obige Paket enthält.

Nun sollte in beiden Fällen überprüft werden, ob man selber Mitglied in der Gruppe kvm ist. Wenn nicht, muss man sich dieser Gruppe hinzufügen [4].

Benutzung

KVM an sich stellt "nur" die direkte Schnittstelle zum Linux-Kernel zur Verfügung, als Virtualisierungsumgebung kommt QEMU zum Einsatz. Lediglich der Aufruf erfolgt nicht mit qemu, sondern stattdessen mit kvm, also würde z.B. [2]

kvm -hda /home/otto/virtuelle_laufwerke/ubuntu.img -cdrom /dev/cdrom -m 384 -boot c 

eine virtuelle Maschine aus dem Image ubuntu.img booten, zusätzlich das CD-ROM Laufwerk einbinden und der virtuellen Maschine 384 MB RAM zur Verfügung stellen.

Alle Parameter und Optionen von KVM sind identisch mit denen von QEMU, daher sei an dieser Stelle auf den QEMU-Artikel verwiesen.

Unterstütze Gastsysteme

Die Unterstützung der Gastsysteme variiert nach der eingesetzten KVM-Version. In Ubuntu 8.04 LTS kommt KVM 62 zum Einsatz, unter Ubuntu 10.04 wird KVM 84 eingesetzt.

Eine umfangreiche Übersicht über alle möglichen Gastsysteme findet man auf dieser Seite {en} im KVM-Wiki.

Management Tools/Clients

virsh ist eine Konsolenanwendung, die auf libvirt basiert. Sie eignet sich für die skriptbasierte Administration von KVM-VMs

Diese Revision wurde am 4. August 2014 23:17 von mrkramps erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Emulation und Virtualisierung