Tools: libvirt and virsh/virt-manager

Prerequisites

Überprüfen Sie, ob das libvirt-Standardnetzwerk läuft

Bevor Sie eine virtuelle Maschine mit libvirt starten, stellen Sie sicher, dass das libvirt `` default`` Netzwerk gestartet wurde. Dieses Netzwerk muss für Ihre virtuelle Maschine aktiv sein, um eine Verbindung zum Netzwerk herzustellen. Wenn Sie dieses Netzwerk starten, wird eine Linux-Bridge (in der Regel `` virbr0``), iptables-Regeln und ein dnsmasq-Prozess erstellt, der als DHCP-Server dient.

Um zu überprüfen, ob das libvirt default Netzwerk aktiviert ist, verwenden Sie den Befehl virsh net-list und vergewissern Sie sich, dass das default Netzwerk aktiv ist:

# virsh net-list
Name                 State      Autostart
-----------------------------------------
default              active     yes

Wenn das Netzwerk nicht aktiv ist, starten Sie es mit:

# virsh net-start default

Verwenden Sie die virt-manager X11 GUI

Wenn Sie planen, ein virtuelles Maschinenbild auf einer Maschine zu erstellen, die X11-Anwendungen ausführen kann, ist der einfachste Weg, um dies zu tun der Befehl virt-manager GUI, der als` virt-manager installiert werden kann und im Paket auf Fedora-basierten und Debian-basierten Systemen enthalten ist. Diese GUI verfügt über einen eingebetteten VNC-Client, mit dem Sie die grafische Konsole des Gastes anzeigen und interagieren können.

Wenn Sie das Abbild auf einem kopflosen Server bilden und Sie einen X-Server auf Ihrem lokalen Rechner haben, können Sie virt-manager mit ssh X11 Weiterleitung zum Zugriff auf die GUI starten. Da virt-manager direkt mit libvirt interagiert, müssen Sie normalerweise root sein, um darauf zuzugreifen. Wenn Sie ssh direkt als root (oder mit einem Benutzer, der Berechtigungen hat, um mit libvirt zu interagieren), machen:

$ ssh -X root@server virt-manager

Wenn das Konto, das Sie verwenden, um ssh in Ihren Server zu machen, keine Berechtigungen zum Ausführen von libvirt aber sudo Privilegien hat, machen Sie:

$ ssh -X user@server
$ sudo virt-manager

Bemerkung

Das -X-Flag, das an ssh übergeben wird, ermöglicht die X11-Weiterleitung über ssh. Wenn dies nicht funktioniert, versuchen Sie es mit dem -Y-Flag zu ersetzen.

Klicken Sie auf die Schaltfläche :guilabel: Erstellen Sie eine neue virtuelle Maschine oben links oder gehen Sie zu Datei ‣ Neue virtuelle Maschine. Dann folgen Sie den Anweisungen.

_images/virt-manager.png

Sie werden eine Reihe von Dialogfeldern angezeigt bekommen, mit denen Sie Informationen über die virtuelle Maschine angeben können.

Bemerkung

Bei der Verwendung von qcow2-Format-Abbildern sollten Sie die Option Anpassen der Konfiguration vor der Installation, auf Festplatten-Eigenschaften belassen und explizit die qcow2-Format wählen. Dadurch wird sichergestellt, dass die Größe der virtuellen Maschine korrekt ist.

Verwenden Sie virt-install und verbinden Sie ihn mit einem lokalen VNC-Client

Wenn Sie virt-manager nicht verwenden wollen (z.B. willst Sie die Abhängigkeiten auf Ihrem Server nicht installieren, haben Sie keinen X-Server, der lokal läuft, somit wird die X11-Weiterleitung über SSH nicht funktionieren), können Sie den Befehl virt-install verwenden, um die virtuelle Maschine über libvirt zu starten und eine Verbindung zu der grafischen Konsole von einem auf Ihrem lokalen Rechner installierten VNC-Client herzustellen.

Da VNC ein Standardprotokoll ist, gibt es mehrere Clients, die die VNC-Spezifikation implementieren, einschließlich TigerVNC (mehrere Plattformen), TightVNC <http://tightvnc.com/> `_ (mehrere Plattformen), `RealVNC <http://realvnc.com/> `_ (mehrere Plattformen), `Chicken <http://sourceforge.net/projects/chicken/> `_ (Mac OS X), Krde <http://userbase.kde.org/Krdc> _ (KDE), Vinagre <https://wiki.gnome.org/Apps/Vinagre> `_ (GNOME).

Das folgende Beispiel zeigt, wie Sie den Befehl qemu-img verwenden, um eine leere Abbilddatei zu erstellen, und virt-install Befehl zum Starten einer virtuellen Maschine mit dieser Abbilddatei. Als root:

# qemu-img create -f qcow2 /tmp/centos.qcow2 10G
# virt-install --virt-type kvm --name centos --ram 1024 \
  --disk /tmp/centos.qcow2,format=qcow2 \
  --network network=default \
  --graphics vnc,listen=0.0.0.0 --noautoconsole \
  --os-type=linux --os-variant=centos7.0 \
  --location=/data/isos/CentOS-7-x86_64-NetInstall-1611.iso

Starting install...
Creating domain...                     |    0 B     00:00
Domain installation still in progress. You can reconnect to
the console to complete the installation process.

Der KVM-Hypervisor startet die virtuelle Maschine mit dem libvirt-Namen, `` centos``, mit 1024 MB RAM. Die virtuelle Maschine verfügt auch über ein virtuelles CD-ROM-Laufwerk, das mit der Datei /data/isos/CentOS-7-x86_64-NetInstall-1611.iso und einer lokalen 10-GB-Festplatte im qcow2-Format auf dem Host /tmp/centos.qcow2 verknüpft ist. Es konfiguriert das Netzwerk, um das libvirt-Standardnetzwerk zu verwenden. Es gibt einen VNC-Server, der auf allen Schnittstellen abhört, und libvirt wird nicht versuchen, einen VNC-Client automatisch zu starten, noch versuchen, die Textkonsole anzuzeigen (--no-autoconsole). Schließlich wird libvirt versuchen, die Konfiguration für einen Linux-Gast mit einer CentOS 7-Distribution zu optimieren.

Bemerkung

Bei der Verwendung des libvirt default Netzwerkes verbindet libvirt die Schnittstelle der virtuellen Maschine mit einer Bridge namens virbr0. Es gibt einen dnsmasq Prozess, der von libvirt verwaltet wird, der eine IP-Adresse auf dem 192.168.122.0/24 Subnetz ausgibt und libvirt hat iptables Regeln für das NAT für IP-Adressen in diesem Subnetz.

Führen Sie den Befehl osinfo-query os aus, um eine Reihe von erlaubten` –os-variant` Optionen zu sehen.

Verwenden Sie den Befehl virsh vncdisplay vm-name, um die VNC-Portnummer zu erhalten.

# virsh vncdisplay centos
:1

Im obigen Beispiel verwendet der Gast centos die VNC-Anzeige :1, was dem TCP-Port `` 5901` entspricht. Sie sollten in der Lage sein, einen VNC-Client auf Ihrem lokalen Rechner zu verbinden, um :1 auf dem Remote-Rechner anzuzeigen und den Installationsvorgang durchzuführen.