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.