ubuntuusers.de

ubuntuusers.deWikivirt-manager

virt-manager

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

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

virt_manager.png Der Virtual Machine Manager {en}, kurz auch virt-manager oder VMM genannt, bietet eine einheitliche Benutzeroberfläche zum Erstellen und Verwalten von virtuellen Maschinen. VMM setzt dabei auf libvirt {en} auf, d.h. es werden die Virtualisierung-Lösung unterstützt, die libvirt auch unterstützt. Dies sind u.a. QEMU, KVM, und Xen, aber nicht VirtualBox oder VMware Player.

VMM bietet sowohl ein grafische Benutzeroberfläche als auch eine Reihe von Kommandozeilen-Programmen an. VMM ist komplett in Python geschrieben.

Die Besonderheit an VMM ist, dass er eine Art Zwischenschicht bildet, so dass die Verwaltung der virtuellen Maschinen einheitlich ist, egal welche Virtualisierungslösung eingesetzt wird, was den Administrationsaufwand verringert. Die Konfiguration wird dabei in XML-Dateien abgelegt, so dass dies nach Bedarf auch von Hand korrigiert werden kann. Die Verwalteten virtuellen Maschinen können dabei auch auf einem anderen Rechner liegen (z.B. einem anderen Server), die Verbindung dorthin kann auch verschlüsselt erfolgen.

Installation

Es müssen folgende Pakete installiert werden [1]:

  • virt-manager

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install virt-manager 

sudo aptitude install virt-manager 

Und natürlich muss mindestens eine der oben genannten Virtualisierungslösungen installiert sein.

Vorbereitungen

Nach der Installation sind noch folgende Punkte zu erledigen, sonst kann VMM nicht genutzt werden. Man muss sich selbst der Benutzergruppe libvirtd hinzufügen, ebenso alle anderen Nutzer, die mit VMM neue virtuelle Maschinen erstellen und verwalten können soll, und - eventuell - das Netzwerk einrichten.

Benutzer hinzufügen

Bei der Installation legt libvirt-bin eine eigene Gruppe an, diese heißt libvirtd. Dieser Gruppe muss man alle Benutzer hinzufügen, die VMM nutzen sollen.

Netzwerk einrichten

Es gibt mehrere Möglichkeiten, später die virtuelle Maschine mit ein realen Netzwerk / Internet zu verbinden. Per Voreinstellung setzt VMM ein virtuelles Netzwerk im Adressraum 192.168.122.0/24 ein, dass per NAT mit der realen Netzwerkkarte verbunden ist. Mit dieser Konfiguration kann jede virtuelle Maschine ins Internet, es sind keine weiteren Schritte notwendig.

Grundsätzlich besteht auch die Möglichkeit, dass die virtuelle Maschine sich per Bridge direkt in das reale Netzwerk einklinkt. Dazu muss aber zuerst die Bridge eingerichtet werden, was etwas Handarbeit erfordert. Ein entsprechende Anleitung findet man im Englischen Wiki KvmWithBridge oder auch im libvirt-Wiki {en}

Benutzung

Wie bereits oben erwähnt besteht VMM aus einer grafischen Benutzeroberfläche und mehreren Kommandozeilen-Programmen.

Grafische Benutzeroberfläche

vmm.png Diese kann unter GNOME man über "Anwendungen -> Systemwerkzeuge -> Virtual Machine Manager" starten.

Nach dem Start erscheint ein Übersichtsfenster, welches alle installierten bzw. unter Verwaltung stehenden virtuellen Maschinen zeigt.

Im Ansichtsfenster sieht man auch den Status, wo die Maschine liegt etc. Die Ansicht kann über das Menü "View" angepasst werden.

Mit anderen Rechnern verbinden

Wie oben bereits erwähnt kann VMM auch virtuelle Maschinen auf anderen Rechner verwalten. Um sich mit diesem zu Verbinden klickt man auf "File -> Open Connection". Hier besteht die Wahl zwischen einer SSH-verschlüsselten Verbindung und Absicherung über ein x509-Zertifikat. Natürlich müssen für beide Methode die entsprechenden Konfigurationen vorher angelegt sein. Weitere Informationen, auch zur Einrichtung und zu Vor- und Nachteilen der Methoden, findet man im VMM-Wiki {en}.

Hinweis:

Damit die Administration auf anderen Rechner funktioniert, muss dort auch libvirt-bin installiert sein und der Remote-Benutzer muss dort auch Mitglied der Gruppe libvirtd sein.

Neue virtuelle Maschine einrichten

Achtung!

Verwendet man virt-manager zusammen mit QEMU, so ist das Anlegen virtueller Maschinen nur möglich, indem man die qemu://system-Instanz benutzt. virt-manager zeigt standardmäßig nur qemu://session an, wo das Anlegen neuer VMs nur als root möglich ist. Möchte man virtuelle Maschinen anlegen, so sollte man zu "Datei -> Add Connection" navigieren, und als Hypervisor "QEMU/KVM" sowie die Art der Verbindung - z.B "Lokal" - auswählen und sich so zu QEMU verbinden. Siehe 405388.

Zum Anlegen einer neue virtuellen Maschine wählt man im Hauptfenster den gewünscht Host (z.B. localhost) und klickt anschließend auf "Neu". Nun wird man in einem sieben-schrittigen Dialog durch das Anlegen der virtuellen Maschine geführt. Als erstes legt man den Namen der virtuellen Maschine fest. Dieser kann beliebig vergeben werden. Im zweiten Schritt wählt man die Art der Virtualisierung aus, d.h. welche Technologie zum Einsatz kommt. Je nach installiertem Virtualisierer stehen nicht alle Auswahlpunkte zur Verfügung. Wichtig ist, dass man - sofern anwählbar - den Haken bei "Enable Kernel / Hardware Virtualization" setzt, weil sonst nur eine Emulation stattfindet, die sehr langsam ist.

Im dritten Schritt wählt man, ob man von einem ISO-Image, von einer CD/DVD oder via PXE-Netboot installieren will. Das ISO-Image bzw. die CD müssen dabei nicht unbedingt auf dem lokalen Rechner liegen - sie müssen lediglich auf einem Laufwerk liegen, auf dass man Zugriff hat. Weiterhin wird im dritten Schritt die Art des Installieren Betriebssystems gewählt. Dies hat eine gewissen Einfluss auf die Art, wie die virtuelle Maschine konfiguriert wird. Die virtuelle Maschine wird über "OS Type" und "OS Variant" definiert.

Hinweis:

Kommt es bei der Installation von Linux-Varianten zu Problemen bzw. hängt sich die Installation auf, so kann man versuchen, unter "OS Variant" eine allgemeinere Variante zu wählen also z.B. Generic 2.6.x Kernel" statt "Ubuntu Precise".

Bei Windows Installation sollte man immer die korrekte Variante wählen, die hier dann die spezifischen Besonderheiten der verschiedenen Windows-Versionen berücksichtigt werden (z.B. in Bezug auf ACPI).

Im vierten Schritt legt man fest, in welches (virtuelle) Laufwerk die Installation erfolgen soll. Dies kann entweder eine komplette Partition sein ("Normal Disk Partition") oder eine Datei ("Simple File"). Bei der Datei kann man noch festlegen, wie große diese sein soll und ob die Datei direkt komplett anglegt wird oder dynamisch wachsen soll. Auch in diesem Schritt gilt, dass weder die Partition noch die Datei auf der lokalen Maschine liegen müssen, es können auch andere, externe Laufwerke sein, auf die man Zugriff hat. Es ist grundsätzlich auch möglich, eine VM ohne virtuelle Harddisk anzulegen, allerdings nur über die Konsole mit Hilfe von virt-install.

Im fünften legt man die Netzwerk-Einstellung fest. Je nach Vorbereitung stehen hier nicht alle Optionen zur Verfügung. Der Standard ist, wie oben bereits erwähnt, "Virtual Network -> Default".

Im sechsten Schritt gibt man an, wie viel RAM der virtuellen Maschine haben soll. Es wird ein Startwert und ein maximaler Wert vorgegeben. Außerdem kann man hier festlegen - sofern der Virtualisierer dies unterstützt - wie viele CPU ist virtuelle Maschine haben soll.

Hinweis:

Der Wert für "VM Startup Memory" wird beim Starten der virtuellen Maschine sofort alloziert, egal ob diese komplett gebraucht wird oder nicht!

Im letzten Schritt wird nochmals eine Zusammenfassung gezeigt und ein Klick auf "Finish" startet die Installation.

Virtuelle Maschine starten und steuern

Startet man eine Neuinstallation, so startet die VM direkt automatisch, bereits installierte virtuelle Maschinen können von Hand gestartet werden. Dazu wählt man im Hauptfenster den Wirt, klickt dann auf die gewünschte VM und klickt nun auf "Öffnen". Nun erscheint ein neues Fenster für die VM. Ein Klick auf "Start" starte die Maschine und die Bildschirmausgabe erscheint im Fenster.

Über den Punkt "Virtual Maschine" kann man die laufende VM steuern, z.B. pausieren und beenden. Der Punkt "Destroy" entspricht dabei einem "harten" Ausschalten, also quasi so, als ob die Stromversorgung eines realen Computers unterbrochen wird. Daher sollte man diesen Punkt nur wählen, wenn die VM sich auf normalem Wege nicht mehr herunterfahren lässt.

Hardware verändern

Man kann mit Hilfe des virt-managers auch die Hardware der VM im Nachhinein ändern. Dazu klickt man im Hauptfenster auf die gewünscht VM und klickt dann auf den Reiter "Hardware". In der Liste kann man nun eine Hardware-Komponente auswählen und - falls möglich - deren Eigenschaften ändern. Über die Schaltflächen "Hinzufügen" und "Entfernen" kann man Hardware-Komponenten "ein-" bzw. "ausbauen".

Die Änderungen sind teilweise auf im laufenden Betrieb möglich.

Tastaturkommandos senden

Sehr praktisch ist die Funktion, Tastaturkommandos zu senden, besonders wenn diese normalerweise der "Hotkey" des Virtualisierers ist. So ist es mit QEMU / KVM normalerweise nicht möglich Strg + Alt + F1 etc. zu senden, da mit Strg + Alt der Fokus des Virtualisierers verlassen wird. Alle Tastenkombinationen, die gesendet werden können findet man im Menü "Send key".

Kommandozeile

Bei der Installation von VMM werden drei Kommandozeilen-Programme mit installiert, welche ebenfalls der Verwaltung von virtuellen Maschinen dienen:

Virt-image

Mit Hilfe dieses Programm ist es möglich, ein neue virtuelle Maschine für den VMM anzulegen. Anlegen heißt in hier, dass eigentlich "nur" die XML-Datei angelegt wird, die die virtuelle Maschine beschreibt, für die Installation ist virt-install zuständig. Die XML-Datei findet man dann unter /etc/libvirt/<VIRTUALISIERUNG>, also z.B. /etc/libvirt/QEMU, wenn QEMU eingesetzt wird.

virt-image kann mit einer Reihe von Optionen aufgerufen werden, welche die Konfiguration der virtuellen Maschine definieren. Diese sind recht ausführlich in der Man-Page von virt-image inkl. einiger Beispiel beschrieben.

Virt-install

virt-install dient der Installation von neuen virtuellen Maschinen für VMM. Die Optionen entsprechen denen der grafischen Benutzeroberfläche und sind sehr ausführlich in der Man-Page beschrieben inkl. einiger Beispiele beschrieben. Einige Optionen entsprechen denen von virt-image. virt-install kann direkt ausgeführt werden, es muss vorher kein Image via virt-image angelegt werden.

VM für Live-CD

Wie weiter oben bereits erwähnt ist es mit Hilfe der grafischen Benutzeroberfläche nicht möglich, virtuelle Maschinen ohne virtuelle Harddisk zu erstellen. Dies kann dann z.B. gewünscht sein, wenn man eine Live-CD in einer VM laufen lassen möchte.

Der folgende Aufruf von virt-install erzeugt eine entsprechende virtuelle Maschine [2]:

sudo virt-install --hvm --name JuxLaLa --ram 384 -- nodisks --livecd --vnc --cdrom /media/daten_ntfs/virtuelle_laufwerke/JUXlala_2.0.iso --network network:default 

In der Regel wird man trotzdem nach einer Harddisk und deren Größe gefragt. Hier gibt man dann als HD None ein und als Größe 0. Alle Optionen sind in der Manpage erklärt.

Virt-clone

Wie der Name schon vermuten lässt dient diese Programm dem Klonen von vorhanden virtuellen Maschinen. Dabei werden alle Parameter übernommen. Solche Parameter, welche einmalig sein müssen (z.B. die UUID der virtuellen Maschine oder die MAC-Adresse der Netzwerkkarte) ersetzt virt-clone selbstständig. Ein Übersicht über alle Optionen von virt-clone findet man nach dem Aufruf von virt-clone -h oder in den Man-Pages, in denen auch einige Beispiele enthalten sind.

Problemlösung

Kein Netzwerk trotz "default"-Einstellung

Hat die virtuellen Maschine keine Netzwerkverbindung, so kann das daran liegen, dass die genutzte virtuelle Schnittstelle vnet0 von NetworkManager nicht korrekt konfiguriert wird. Dies kann man recht einfach beheben, in dem man in der Datei /etc/network/interfaces folgende Zeile einfügt [4]:

iface vnet0 inet manual

Diese Revision wurde am 29. März 2014 02:00 von Das Wort erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Emulation und Virtualisierung, Python