Die Kernel Virtual Machine (KVM) im Linux-Kernel ist ein leistungsfähiger Virtualisierer. Ein Zusatzprogramm liefert dafür eine grafische Oberfläche. Die erste Einrichtung ist dennoch anspruchsvoller als jene von Virtualbox und Vmware.
Die Kernel Virtual Machine ist eine schlanke, auf Linux spezialisierte Virtualisierung, die als Kernel-Modul geladen wird. Entwickelt hat KVM das Start-up-Unternehmen Qumranet, das den Code von Anfang an unter die Open-Source-Lizenzen GPL 2/ LGPL stellte, eng mit dem Kernel-Team zusammenarbeitete und 2008 von Red Hat gekauft wurde. Seit Kernel 2.6.20 ist KVM fester Bestandteil von Linux und macht bei Bedarf den Kernel selbst zu einem Hypervisor. Zwingende Voraussetzung dafür ist, dass die CPU die Virtualisierungserweiterungen von Intel (Intel VT) oder AMD (AMDV) unterstützt. KVM übernimmt keine Emulation von Geräten, kann aber stattdessen per Paravirtualisierung einige physikalisch vorhandene Geräte wie Netzwerkkarte und Festplattencontroller des Hostsystems an das Gastsystem durchreichen. Für die Emulation von virtuellen Geräten wie Grafik- und Soundkarte nutzt KVM bei Bedarf das Open-Source-Programm Qemu, so wie dies auch Virtualbox tut. Auch wenn KVM überwiegend zur Virtualisierung von Linux-Systemen eingesetzt wird, kann es mit Abstrichen bei der Geschwindigkeit auch Windows-Gäste beherbergen.
Installation und Vorbereitungen
Als Kernel-Modul liefert KVM keine desktoptauglichen Verwaltungstools mit und der Einstieg ist damit anspruchsvoller als bei Vmware und Virtualbox . Ein grafisches Front-End ist der Virtual Machine Manager von Red Hat, der auch in den Repositories der anderen populären Distributionen liegt. Die Zutaten finden sich in jeder Distribution und sind in einem aktuellen Debian und Ubuntu etwa mit diesem Befehl einzurichten:
sudo apt-get install qemu-kvm libvirt-client libvirt-daemonsystem bridge-utils
Der Hintergrunddienst libvirt-bin wird ab jetzt bei einem Systemstart automatisch in Gang gesetzt und lädt das für den Prozessor passende Kernel-Modul „kvm-amd“ oder „kvm-intel“.
In Fedora und Open Suse Leap muss man zusätzlich noch die Pakete „virt-install“ und „libvirt-daemon-config-network“ installieren, die wichtige Konfigurationsdateien enthalten.
Um als Benutzer des Linux-Systems dann virtuelle KVM-Gäste anzulegen, zu starten und zu verwalten, muss das Benutzerkonto noch Mitglied in zwei Benutzergruppen werden. Diese Mitgliedschaften setzen die beiden Befehle
sudo usermod -a -G libvirt [Benutzer]
und
sudo usermod -a -G libvirt-qemu [Benutzer]
für den angegebenen Benutzernamen. Wie immer ist darauf zu achten, dass eine neue Mitgliedschaft erst ab der nächsten Systemanmeldung gültig ist.
Oberfläche: Der Virt-Manager
Um KVM als Desktopanwender möglichst komfortabel zu bedienen, eignet sich das Programm Virt-Manager , das unter der Ägide von Red Hat eine zusehends vollständigere Verwaltungsoberfläche für virtuelle Maschinen im Stil von Virtualbox liefert. Trotz einiger optischer Ähnlichkeiten sind die Unterschiede in der Bedienung und Einrichtung zu Virtualbox recht groß. Installiert werden diese grafischen Werkzeuge mittels des Kommandos
sudo apt-get install virt-viewer virt-manager
in Debian und Ubuntu, aber natürlich finden sich die Pakete auch in anderen Linux-Distributionen.
Nach dem Aufruf des Virt-Managers, der mit vollem Namen „Virtuelle Maschinenverwaltung“ heißt, zeigt dessen Hauptfenster eine Liste aller eingerichteten VMs. Mit dem Menü „Datei –› Neue virtuelle Maschine“ fügt man auf dem lokalen Rechner eine neue VM hinzu. Deren Daten wie Festplattenabbilder werden im Verzeichnis „/var/lib/libvirt/images“ gespeichert.
Beim Erstellen einer neuen VM führt ein Einrichtungsassistent über mehrere Schritte durch die notwendigen Einstellungen. Zunächst möchte der Virt-Manager wissen, von welchem Medium gebootet werden soll. Hier gibt man üblicherweise eine ISO-Datei zur Installation des gewünschten Gastsystems an.
Wichtig ist im ersten Schritt auch der ausklappende Punkt „Architekturoptionen“, da sich hier festlegen lässt, ob es sich um ein 32-Bit- oder 64-Bit-System handeln soll. Es folgen Angaben zur RAM-Größe und den zugewiesenen CPU-Kernen. Erst dann geht es zur Erstellung des Festplattenabbilds für diese VM. Als Dateiformat kommt dabei Qcow2 von Qemu zum Einsatz. Beim Namen der neuen VM ist zu beachten, dass keine Leerzeichen funktionieren.
Es empfiehlt sich, im letzten Schritt die Option „Konfiguration bearbeiten vor der Installation“ zu aktivieren, um gleich im Anschluss weitere Feineinstellungen vornehmen zu können. Bis jetzt käme die neue VM nämlich nicht ins Netzwerk. Damit dies funktioniert und die Netzwerkschnittstelle des Hostsystems zur Verfügung steht, bietet sich als einfachste Möglichkeit die Anbindung des Gastsystems über NAT an. Eine Netzwerkbrücke, über die ein Gast direkt ins tatsächliche Netzwerk kommt, muss manuell mit den Bridge-Utils angelegt werden. Die Vorgehensweise unterscheidet sich in Linux-Distributionen, ist aber im Libwirt-Wiki mit Beispielen erklärt . Ein abschließender Klick auf „Installation beginnen“ startet die VM und bootet die ausgewählten Installationsmedien im Biosoder Uefi-Modus.
Im Netzwerk: Zugriff von außen
Ein Vorteil von KVM und der virtuellen Maschinenverwaltung ist die Fähigkeit, die Maschinen auf einem leistungsstarken Rechner im Netzwerk auszuführen und sich dann aus der Ferne damit zu verbinden. Die Oberfläche eignet sich auch dazu, die VMs über das Netzwerk zu verwalten. Um eine Netzwerkverbindung zu libvirt aufzubauen, dient der Menüpunkt „Datei –› Verbindung hinzufügen“. Als Verbindungsmethode kommt beispielsweise SSH in Frage, das die Daten durch eine verschlüsselte Verbindung tunnelt. Davor muss man sich aber einmal im Terminal per SSH zum Zielserver anmelden, damit der SSH-Fingerabdruck auf dem lokalen PC landet. Dann funktioniert auch die Verbindung über die Maschinenverwaltung. Das Hostsystem könnte sich auch im Internet befinden, wenn die Internetanbindung schnell genug ist. Als Remote-Desktop-Protokoll kommt Spice zum Einsatz, als effizienter Ersatz für VNC. Es überträgt auch die Soundausgabe von der VM auf den Host und kümmert sich um eine gemeinsame Zwischenablage. Es verlangt aber nach einer stabileren Internetverbindung als unverschlüsseltes RDP, das optional in Virtualbox über das Extension Pack bereitsteht und bei gering eingestellter Farbtiefe auch mit langsamen Verbindungen klarkommt.
Sonderfall: Windows in der KVM
Es ist etwas aufwendiger, Windows 7, 8, 8.1 als Gast in der KVM zu betreiben. Voraussetzung für eine gute Geschwindigkeit, Netzwerk und akzeptable Grafikausgabe sind die von Red Hat entwickelten und von Microsoft signierten Gerätetreiber ( Virt-IO-Driver ).
Diese Treiber liegen als ISO-Datei zum Download bereit, das schon vor der Installation eines Windows-Gasts in der VM eingehängt werden muss. Im Windows-Setup binden Sie diese dann als zusätzliche Treiber über die Option „Treiber laden“ ein.
BLP633 akkus für OnePlus 3T
B0P821007 akkus für HTC NEXUS 9 (8.9″) OP82100 HTC Flounder
061384 061385 akkus für BOSE SOUNDLINK Mini serie
88796 akkus für Bose Soundlink Mini 2 Pack
45N1752 akkus für Lenovo ThinkPad E450 E450C E460
063404 akkus für BOSE SOUNDLINK Mini I serie
B0P82100 akkus für HTC T1H HTC Nexus 9 8.9″ Tablet with free tool
B0P821007 akkus für HTC NEXUS 9 (8.9″) OP82100 HTC Flounder