Articles

Ubuntu Dokumentation

Tag/tag.png

Inhaltsbereinigung erforderlich
Dieser Artikel sollte bereinigt werden, um den Inhaltsstandards im Wiki-Guide zu entsprechen. Mehr Infos…

#title KVM Installation

Installation

Pre-Installations-Checkliste

Überprüfen Sie, ob Ihre CPU Hardware-Virtualisierung unterstützt

Um KVM auszuführen, benötigen Sie einen Prozessor, der Hardware-Virtualisierung unterstützt. Intel und AMD haben beide Erweiterungen für ihre Prozessoren entwickelt, die als Intel VT-x (Codename Vanderpool) bzw. AMD-V (Codename Pacifica) bezeichnet werden. Um zu sehen, ob Ihr Prozessor eine davon unterstützt, können Sie die Ausgabe dieses Befehls überprüfen:

egrep -c '(vmx|svm)' /proc/cpuinfo

Wenn 0 bedeutet dies, dass Ihre CPU keine Hardware-Virtualisierung unterstützt.

Bei 1 oder mehr tut sie es – aber Sie müssen trotzdem sicherstellen, dass die Virtualisierung im BIOS aktiviert ist.

Wenn Sie in den XEN-Kernel booten, werden standardmäßig keine svm- oder vmx-Flags mit dem Befehl grep angezeigt. Um zu sehen, ob es von XEN aus aktiviert ist oder nicht, geben Sie ein:

cat /sys/hypervisor/properties/capabilities

Sie müssen in der Ausgabe hvm-Flags sehen.

Alternativ können Sie ausführen:

kvm-ok 

Was eine Ausgabe wie diese liefern kann:

INFO: /dev/kvm existsKVM acceleration can be used

Wenn Sie sehen:

INFO: Your CPU does not support KVM extensionsKVM acceleration can NOT be used

Sie können immer noch virtuelle Maschinen ausführen, aber es wird ohne die KVM-Erweiterungen viel langsamer sein.

Hinweis: Möglicherweise sehen Sie eine Meldung wie „KVM-Beschleunigung kann/kann NICHT verwendet werden“. Dies ist irreführend und bedeutet nur, ob KVM *aktuell* verfügbar (d.h. „eingeschaltet“) ist, *nicht* ob es unterstützt wird.

Verwenden Sie einen 64-Bit-Kernel (wenn möglich)

Ein 64-Bit-Kernel auf dem Host-Betriebssystem zu verwenden wird empfohlen, ist aber nicht erforderlich.

  1. Um mehr als 2 GB RAM für Ihre VMs bereitzustellen, müssen Sie einen 64-Bit-Kernel verwenden (siehe 32bit_und_64bit). Bei einer 32-Bit-Kernel-Installation sind Sie auf maximal 2 GB RAM für eine bestimmte VM beschränkt.

  2. Außerdem kann ein 64-Bit-System sowohl 32-Bit- als auch 64-Bit-Gäste hosten. Ein 32-Bit-System kann nur 32-Bit-Gäste hosten.

Um zu sehen, ob Ihr Prozessor 64-Bit ist, können Sie diesen Befehl ausführen:

egrep -c ' lm ' /proc/cpuinfo

Wenn 0 ausgegeben wird, bedeutet das, dass Ihre CPU nicht 64-Bit ist.

Wenn 1 oder höher, ist sie es. Hinweis: lm steht für Long Mode, was einer 64-Bit-CPU entspricht.

Um zu sehen, ob Ihr laufender Kernel 64-Bit ist, geben Sie einfach folgenden Befehl ein:

uname -m

x86_64 zeigt einen laufenden 64-Bit-Kernel an. Wenn Sie see i386, i486, i586 oder i686 verwenden, läuft ein 32-Bit-Kernel.

Hinweis: x86_64 ist ein Synonym für amd64.

Installation von KVM

Notwendige Pakete installieren

Für die folgende Einrichtung gehen wir davon aus, dass Sie KVM auf einem Server einsetzen und daher keinen X-Server auf dem Rechner haben.

Sie müssen zuerst ein paar Pakete installieren:

Cosmic (18.10) oder später

$ sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils

Lucid (10.04) oder später

$ sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils

Karmic (9.10) oder früher

$ sudo aptitude install kvm libvirt-bin ubuntu-vm-builder bridge-utils
  • libvirt-bin stellt libvirtd bereit, das Sie benötigen, um qemu- und kvm-Instanzen mit libvirt zu verwalten

  • qemu-kvm (kvm in Karmic und früher) ist das Backend

  • ubuntu-vm-builder ist ein mächtiges Kommandozeilen-Tool zum Erstellen von virtuellen Maschinen

  • bridge-utils stellt eine Brücke von Ihrem Netzwerk zu den virtuellen Maschinen zur Verfügung

Sie können auch virt-viewer installieren, um die Instanzen zu betrachten.

Benutzer zu Gruppen hinzufügen

Karmic (9.10) und höher (aber nicht 14.04 LTS und 18.10)

Sie müssen sicherstellen, dass Ihr Benutzername zur Gruppe libvirtd hinzugefügt wird:

$ sudo adduser `id -un` libvirtdAdding user '<username>' to group 'libvirtd' ...

Danach müssen Sie sich neu anmelden, damit Ihr Benutzer ein effektives Mitglied der Gruppe libvirtd wird. Die Mitglieder dieser Gruppe können virtuelle Maschinen ausführen. (Sie können auch ’newgrp kvm‘ in einem Terminal eingeben, aber das wirkt sich nur auf dieses Terminal aus.)

Bionic (18.04 LTS) und höher

Der Gruppenname wird in libvirt geändert, und Sie müssen auch Mitglied von ‚kvm‘ sein:

$ sudo adduser `id -un` libvirtAdding user '<username>' to group 'libvirt' ...$ sudo adduser `id -un` kvmAdding user '<username>' to group 'kvm' ...

Releases vor Karmic (9.10)

Sie müssen sicherstellen, dass Ihr Benutzername zu den Gruppen kvm und libvirtd hinzugefügt wird.

Zur Überprüfung:

$ groupsadm dialout cdrom floppy audio dip video plugdev fuse lpadmin admin sambashare kvm libvirtd

Um Ihren <Benutzernamen> zu den Gruppen hinzuzufügen:

$ sudo adduser `id -un` kvmAdding user '<username>' to group 'kvm' ...$ sudo adduser `id -un` libvirtdAdding user '<username>' to group 'libvirtd' ...

Nach der Installation müssen Sie sich neu anmelden, damit Ihr Benutzer ein effektives Mitglied der Benutzergruppen kvm und libvirtd wird. Die Mitglieder dieser Gruppen können virtuelle Maschinen ausführen.

Installation überprüfen

Sie können mit dem folgenden Befehl testen, ob die Installation erfolgreich war:

$ virsh list --all Id Name State----------------------------------$

Wenn Sie hingegen so etwas erhalten:

$ virsh list --alllibvir: Remote error : Permission deniederror: failed to connect to the hypervisor$

Etwas ist falsch (z.B. haben Sie sich nicht neu angemeldet) und Sie wollen das wahrscheinlich beheben, bevor Sie weitermachen. Der kritische Punkt ist hier, ob Sie Schreibzugriff auf /var/run/libvirt/libvirt-sock haben oder nicht.

Die sock-Datei sollte ähnliche Berechtigungen haben wie:

$ sudo ls -la /var/run/libvirt/libvirt-socksrwxrwx--- 1 root libvirtd 0 2010-08-24 14:54 /var/run/libvirt/libvirt-sock

Außerdem muss /dev/kvm in der richtigen Gruppe sein. Wenn Sie sehen:

 $ ls -l /dev/kvmcrw-rw----+ 1 root root 10, 232 Jul 8 22:04 /dev/kvm

Es kann zu Problemen beim Erstellen einer virtuellen Maschine kommen. Ändern Sie stattdessen die Gruppe des Geräts auf kvm/libvirtd:

sudo chown root:libvirtd /dev/kvm

Nun müssen Sie sich entweder neu anmelden oder die Kernelmodule neu starten:

rmmod kvmmodprobe -a kvm

Optional: Installieren Sie virt-manager (grafische Benutzeroberfläche)

Wenn Sie auf einem Desktop-Rechner arbeiten, möchten Sie vielleicht ein GUI-Tool zur Verwaltung virtueller Maschinen installieren.

$ sudo apt-get install virt-manager

Der Virtual Machine Manager erscheint im Menü Anwendungen -> Systemwerkzeuge. Erstellen Sie zunächst eine neue Verbindung zur lokalen QEMU-Instanz im Menü Datei -> Verbindung hinzufügen. Localhost (QEMU) oder QEMU/KVM sollte in der Liste der virtuellen Maschinen erscheinen. Hinweis: Es gibt bereits eine Localhost (QEMU Usermode)-Verbindung, aber diese funktioniert zumindest unter Ubuntu 10.04 nicht.

Erstellen Sie eine neue virtuelle Maschine, indem Sie auf die Schaltfläche oben links in der Symbolleiste Neue virtuelle Maschine erstellen klicken.

Versionsspezifische Hinweise

8.10 (Intrepid) Hinweise

  • Zwei Metapakete wurden hinzugefügt: ubuntu-virt-server und ubuntu-virt-mgmt. Ubuntu-virt-server installiert die Pakete, die benötigt werden, um einen Basis-Virtualisierungs-Host einzurichten (kvm, libvirt-bin und openssh-server) und ubuntu-virt-mgmt installiert, was Sie benötigen, um ihn von einer Management-Station aus zu verwalten (virt-manager, python-vm-builder und virt-viewer).

  • ubuntu-vm-builder wurde durch python-vm-builder (Tutorial) ersetzt.

Hinweis: libdevmapper lädt sein Modul nicht, wenn es installiert wird (Bug 277648), daher müssen Sie entweder einen

  • $ sudo modprobe dm-loop

oder Ihr System neu starten, bevor Sie es verwenden können.

11.10 (Oneric) Hinweise

Das Umschalten auf den Server-Kernel kann hilfreich sein, wenn es Startprobleme mit virtuellen Maschinen gibt (z.B. Windows XP friert etwa einmal alle 5 Starts ein)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.