Kernel Virtual Machine unter Linux

Workshop: KVM-Virtualisierung für Ubuntu

04.09.2012 von Michael Kofler
Kernel Virtual Machine (KVM) ist ein verhältnismäßig neues Virtualisierungsystem für Linux. KVM wird vorwiegend zur Server-Virtualisierung eingesetzt. Wir zeigen am Beispiel von Ubuntu Linux, wie Sie mit KVM virtuelle Maschinen unter Linux einrichten und verwalten.

Seinen größten Unterstützer findet KVM in Red Hat. Dessen Distribution Red Hat Enterprise Linux setzt seit Version 6 bei der Virtualisierung voll auf KVM, das damit Xen ablöst. Daneben bietet Red Hat auch spezielle Virtualisierungssysteme an und begibt sich so mit KVM in direkter Konkurrenz zu VMware. Es muss aber durchaus nicht Red Hat Enterprise Linux sein: Nahezu jede gängige Linux-Distribution ist geeignet, um KVM auszuprobieren und kennenzulernen. Als Basis für diesen Workshop dient Ubuntu 12.04 LTS.

KVM installieren unter Ubuntu Linux

Um KVM und die dazugehörenden Administrationswerkzeuge und -bibliotheken zu installieren, führen Sie unter Ubuntu die folgenden Kommandos aus:

apt-get install qem-kvm libvirt-bin virt-manageradduser <loginname> libvirtd

Das adduser-Kommando fügt den angegebenen Benutzer zur libvirtd-Gruppe hinzu. Das ist notwendig, damit die KVM-Werkzeuge ohne root-Rechte ausgeführt werden können. Damit die Änderung wirksam wird, müssen Sie sich aus- und neu einloggen.

Zuletzt überprüfen Sie mit dem Kommando kvm-ok, ob Ihre CPU die für KVM erforderlichen Virtualisierungsfunktionen enthält. Das Ergebnis muss so aussehen:

kvm-okINFO: /dev/kvm existsKVM acceleration can be used

Wenn Ihr Rechner mit einer CPU ohne Virtualisierungsfunktionen ausgestattet ist, können Sie die Virtualisierungsfunktionen dennoch testen. Die Virtualisierung erfolgt dann durch QEMU statt durch KVM. Die virtuellen Maschinen laufen dann allerdings um den Faktor vier bis fünf langsamer.

Der Virtual Machine Manager

Virtual Machine Manager: Der Screenshot zeit drei gleichzeitig laufende virtuelle Maschinen mit KVM.
Foto: Michael Kofler

Wie jedes "richtige" Unix/Linux-Werkzeug kann KVM vollständig durch Kommandos im Terminal gesteuert werden. Für den Virtualisierungseinstieg ist es aber zweckmäßiger, den Virtual Machine Manager einzusetzen. Diese grafische Benutzeroberfläche hat gewisse Ähnlichkeiten zu VMware Workstation oder VirtualBox, ist aber zugegebenerweise nicht ganz so intuitiv zu bedienen.

Nach dem ersten Start zeigt der Virtual Machine Manager lediglich den Eintrag localhost (QEMU) an. Das bedeutet, dass eine Verbindung zum libvirt-Dämon auf dem lokalen Rechner hergestellt werden konnte. Dieses Programm ist für die Ausführung der virtuellen Maschinen verantwortlich. Der Virtual Machine Manager dient also genau genommen nur zur Steuerung dieses Programms.

Mit dem Virtual Machine Manager können Sie auch einen KVM-Host im Netzwerk steuern. Dazu führen Sie Datei|Verbindung hinzufügen aus und geben im Verbindungsdialog den Hostnamen des KVM-Hosts sowie den Loginnamen an. Die Verbindung erfolgt via Secure Shell (SSH).

KVM-Workshop für Ubuntu
Das Hauptfenster des Virtual Machine Managers.
Der Virtual Machine Manager mit drei gleichzeitig laufenden virtuellen Maschinen.
Netzwerkverbindung via SSH zu einem entferten KVM-Host herstellen.
Schritt 1 im Assistent zum Einrichten neuer virtueller Maschinen:
Name und Installationsquelle angeben.
Schritt 2:
ISO-Datei auswählen, Betriebssystemtyp einstellen.
Schritt 3:
Speicher und Anzahl der CPU-Cores festlegen.
Schritt 4:
Größer der virtuellen Festplatte festlegen.
Schritt 5:
Netzwerkeinstellungen.
Ubuntu als virtuelle Maschine installieren.
Hardware-Einstellungen der virtuellen Maschine.
Verwaltung der virtuellen Datenträger
Einen neuen virtuellen Datenträger im QCOW2-Format einrichten.
Windows 7 als virtuelle Maschine installieren.
Installation der virtio-Treiber unter Windows.

Neue virtuelle Maschinen unter Linux einrichten

Um eine neue virtuelle Maschine einzurichten, benötigen Sie eine CD oder DVD einer Linux-Distribution oder, noch besser, die entsprechende ISO-Datei. Mit dem Button Neue virtuelle Maschine erstellen starten Sie einen Assistenten, mit dem Sie in fünf Schritten die Eckdaten der virtuellen Maschine einstellen:

Schritt für Schritt: Ein Assistent führt durch die Einrichtung neuer virtueller Maschinen.
Foto: Michael Kofler

Mit Abschluss der Konfiguration wird die neue virtuelle Maschine sofort gestartet. In einem Fenster sehen Sie die Grafikausgaben der virtuellen Maschine und können per Tastatur und Maus die Installation steuern. Die eigentliche Linux-Installation unterscheidet sich nicht von einer Installation auf einem realen Rechner.

Das Fenster der virtuellen Maschine kann jederzeit geschlossen werden, ohne die Ausführung der virtuellen Maschine zu beeinträchtigen. Sie können sich auch aus- und neu einloggen, den Virtual Machine Manager neu starten und dann die Verwaltung der weiterhin laufenden virtuellen Maschinen fortsetzen.

Hardware-Einstellungen und virtuelle Laufwerke

Wenn Sie beim Einrichten der virtuellen Maschine die Default-Einstellungen beibehalten, gelten unter anderem die folgenden Hardware-Einstellungen: der virtuellen Maschine wird ein CPU-Core zugewiesen, sie verfügt über 1 GByte RAM, einen virtio-Netzwerkadapter, eine virtio-Festplatte sowie eine Cirrus-kompatible VGA-Karte mit einer Auflösung von maximal 1024 x 768 Pixeln. virtio-Komponenten nutzen spezielle Linux-Treiber, die eine besonders effiziente Hardware-Emulation ermöglichen.

Konfiguration: Die Hardware-Einstellungen der virtuellen Maschine können jederzeit überprüft werden.
Foto: Michael Kofler

Viele Parameter einer virtuellen Maschine können Sie später ändern. Dazu öffnen Sie mit einem Doppelklick das Fenster der virtuellen Maschine und wechseln dann in die sogenannte Detailansicht (Anzeigen|Details). Die meisten Hardware-Modifikationen werden erst beim nächsten Neustart der virtuellen Maschine wirksam.

Wenn Sie das Grafiksystem einer virtuellen Linux-Maschine nutzen möchten, ist die geringe Auflösung von 1024 x 768 Pixel störend. Das lässt sich leicht beheben, wenn Sie im Dialogblatt Video das Model vmvga einstellen. Diese virtuelle Grafikkarte ist kompatibel zu der von VMware. Bei den meisten Linux-Distributionen stehen standardmäßig passende Treiber zur Verfügung. Die Grafikauflösung ist damit nahezu unlimitiert. 3D-Funktionen werden aber nicht unterstützt. In diesem Punkt kann KVM nicht mit anderen Virtualisierungssystemen mithalten. Für den Server-Einsatz ist diese Funktion indes nur von geringer Bedeutung.

Verwaltung der virtuellen Datenträger

Laufwerke administrieren: Hier lassen sich vorhandene virtuellen Datenträger verwalten und neue anlegen.
Foto: Michael Kofler

Standardmäßig legt der Virtual Machine Manager neue Datenträger als Image-Dateien im RAW-Format im Verzeichnis /var/lib/libvirt/images an. Im Speichermanager der Virtual Machine Managers können Sie aber auch andere lokale Verzeichnisse, Logical Volumes (LVM), iSCSI-Geräte oder Netzwerkverzeichnisse als Speichermedium einrichten. In den Speichermanager gelangen Sie durch einen Doppelklick auf den KVM-Hostnamen (also zum Beispiel localhost (QEMU)). Anschließend wechseln Sie in das Dialogblatt Speicher.

Im Speichermanager können Sie neue virtuelle Datenträger einrichten. Wenn es sich dabei um Image-Dateien handelt, haben Sie die Wahl zwischen verschiedenen Formaten, zum Beispiel dem schnellen RAW-Format oder dem platzsparenden QCOW2-Format.

Virtuelle Windows-Maschinen unter Linux

Auch wenn KVM überwiegend zur Virtualisierung von Linux-Systemen eingesetzt wird, so ist das Programm doch vollständig Windows-kompatibel. Das Einrichten und die Installation von Windows 7 erfolgt ganz gleich wie bei einer virtuellen Linux-Maschine.

Es wird Ihnen nicht entgehen, dass Windows vergleichsweise langsam läuft. (Alleine die Installation dauert rund eine Stunde!) Das liegt daran, dass unter Windows standardmäßig keine virtio-Treiber zur Verfügung stehen. Dieser Mangel lässt sich nach der Grundinstallation beheben. Auf dieser Website finden Sie Download-Links für eine ISO-Datei mit signierten Treibern für alle gängigen Windows-Versionen von Windows XP bis Windows7.

Im Fenster: So installieren Sie Windows 7 als virtuelle Maschine.
Foto: Michael Kofler

Nachdem Sie die ISO-Datei auf das Hostsystem heruntergeladen haben, fahren Sie Ihren Windows-Gast herunter und wechseln mit Anzeigen|Details in die Hardware-Ansicht der virtuellen Maschine. Dort geben Sie die ISO-Datei als Quelle für das virtuelle CD-Laufwerk an. Außerdem fügen Sie der virtuellen Maschine zusätzlich zu den vorhandenen Netzwerk- und Festplattenadaptern eine neue virtio-Netzwerkkarte und eine virtio-Festplatte hinzu. Die Image-Datei für die neue Festplatte muss nicht groß sein - es geht nur darum, dass Windows beim nächsten Start die neuen Hardware-Komponenten bemerkt.

Ubuntu 12.04 Linux - die Highlights
Installation
Die Installation verläuft unkompliziert und schnell, auch auf neuen Rechnern mit EFI-Mainboard.
Unity-Desktop
Der Unity-Desktop ist durch drei Komponeten geprägt. Dem Panel (oben), dem Dock (links) und dem Startmenü (siehe die nächste Abbildung).
Startmenü (Launcher)
Im Startmenü gibt es verschiedene Ansichten (lenses), die mit den Icons am unteren Rand aktiviert werden können. In der Standardansicht zeigt das Menü die zuletzt gestarteten Programme sowie die zuletzt benutzten Dateien.
HUD-Menü
Wenn Sie kurz die Alt-Taste drücken, erscheint das Head-up-Display Menü. Sie können nun die Anfangsbuchstaben des gewünschten Menükommandos eingeben.
Bildlaufleisten
Die schmalen Bildlaufleisten sehen elegant aus, lassen sich aber nur umständlich nutzen. Das Bedienelement wird nur eingeblendet, wenn sich die Maus in der Nähe der Bildlaufleiste befindet.
Tastenkürzel
Unity kann durch eine Menge Tastenkürzel besonders effizient bedient werden. Wenn Sie die Windows-Taste länger gedrückt halten, zeigt Unity eine Zusammenfassung der wichtigsten Tastenkürzel an (nur, wenn die vertikale Bildschirmauflösung ausreichend groß ist).
Systemeinstellungen
Alle wesentlichen Konfigurationsmodule sind in den Systemeinstellungen gesammelt.
MyUnity
Noch mehr Einstellungsmöglichkeiten für den Desktop bietet das Programm MyUnity. Es muss vor der ersten Verwendung im Ubuntu Software-Center installiert werden.
Firefox
Firefox ist der Standard-Webbrowser von Ubuntu.
Thunderbird
Thunderbird ist nicht nur der E-Mail-Client von Ubuntu, sondern dient auch als Adressbuch und (nach der Installation des Lightning-Plugins) zur Terminverwaltung.
Shotwell
Shotwell hilft bei der Organisation von Fotos.
Rhythmbox
Der Audio-Player Rhythmbox kann auch über ein so genanntes Indikator-Menü im Panel bedient werden.
Ubuntu One
Ubuntu One ist das Cloud-System für Ubuntu. Es erlaubt die kostenlose Speicherung und Synchronisation von 5 GByte Daten.
Ubuntu Software-Center
Im Ubuntu-Software-Center können Sie Programme installieren bzw. wieder entfernen.

Nun starten Sie den Windows-Gast neu und öffnen den Windows-Geräte-Manager (Systemsteuerung|Hardware und Sound|Geräte-Manager). Dort erscheinen die noch unbekannten Hardware-Komponenten als Ethernet- und SCSI-Controller. Bei beiden Komponenten öffnen Sie per Doppelklick den Eigenschaftendialog, klicken auf Einstellungen ändern, dann auf Treiber aktualisieren und schließlich auf Auf dem Computer nach Treibersoftware suchen. Bei dieser Suche müssen Sie mithelfen und geben als Ort der Treibersoftware das DVD-Laufwerk an (also üblicherweise D:).

Nun fahren Sie Windows herunter und entfernen in der Hardware-Übersicht des Virtual Machine Managers die IDE-Festplatte, die virtio-Festplatte und den RTL-8139-Netzwerkadapter. Außerdem richten Sie eine neue virtio-Festplatte ein, wobei Sie die ursprüngliche Image-Datei auswählen (also die, die bisher mit der IDE-Festplatte verbunden war). Das Ergebnis ist eine nun ungleich schnellere virtuelle Windows-Maschine mit einem virtio-Netzwerkadapter und einer virtio-Festplatte.

Dieser Artikel basiert auf einem Beitrat unserer Schwesterpublikation Computerwoche. (cvi)