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.