KVM
, 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
. Das Unternehmen wurde im September 2008 vom amerikanischen Linux-Distributor Red Hat
übernommen. Seit Ubuntu 8.04 ist KVM die offiziell unterstützte (und im Serverbereich bevorzugte) Virtualisierungslösung von Ubuntu.
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.
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 die Ausgabe der Datei /proc/cpuinfo anschaut. Ist dort unter flags entweder der Eintrag vmx oder svm vorhanden, beherrscht der Prozessor diese Technologie. 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, so muss man dies von Hand nachholen [3].
Bei manchen Rechnern ist die Hardwarevirtualisierung im BIOS deaktiviert. Diese muss dann natürlich erst aktiviert werden, damit man KVM nutzen kann.
Folgende Pakete müssen bis einschließlich Jaunty 9.04 installiert [1] werden:
kvm
qemu (universe)
Ab Karmic 9.10 muss nur noch das Paket
qemu-kvm
installiert werden [1].
Nun sollte überprüft werden, ob man selber Mitglied in der Gruppe "kvm" ist. Wenn nicht muss man sich dieser Gruppe hinzufügen [4].
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.
Die Unterstützung der Gastsystem variiert nach der eingesetzten KVM-Version. In Ubuntu 8.04 LTS kommt KVM 62 zum Einsatz, unter Ubuntu 8.10 KVM 72, unter Ubuntu 9.04, 9.10 und 10.04 KVM 84. Eine umfangreiche Übersicht über alle mögliche Gastsyteme findet man auf dieser Seite
im KVM-Wiki.
virsh ist eine Konsolenanwendung, die auf libvirt basiert. Sie eignet sich für die skriptbasierte Administration von KVM-VM's
KVM-Eintrag
im englischen Ubuntu-Community-Wiki mit vielen zusätzlichen Tipps und Infos
KVM im englischen Ubuntu-Wiki, recht kurzer Eintrag
Diese Revision wurde am 28. Juli 2010 um 16:37 Uhr
von sowbug erstellt.
Dieser Seite wurden folgende Begriffe zugeordnet:
Emulation und Virtualisierung
2004 – 2010 ubuntuusers.de • Einige Rechte vorbehalten