it-swarm.com.de

KVM in Ubuntu Server 16.04 LTS

Kurze Frage: Kennen Sie einen schnellen und einfachen Weg, um kopflose Ubuntu 16.04-VMs (mit einem bereits installierten und laufenden SSH-Server) auf einem kopflosen Ubuntu 16.04 zu erstellen Server?

Ausführliche Version: Ich mochte den ubuntu-vm-builder in 14.04. Gestern habe ich einen neuen 16.04 VM Host-PC eingerichtet und festgestellt, dass der Builder nur VMs bis zum 14.04 erstellen kann. ( Diese Antwort zur Frage Erstellen von virtuellen Maschinen mit Ubuntu-VM-Builder gibt an, dass Canonical sie aufgegeben/veraltet hat (für die ich keine offizielle Aussage gefunden habe).

Extracting templates from packages: 100%
2016-06-28 17:02:43,136 INFO : W: --force-yes is deprecated, use one of the options starting with --allow instead.)

Also habe ich angefangen mit virt-builder zu experimentieren und bin auf dieses Problem gestoßen, was anscheinend ein Fehler des VM Host-Systems ist.

Schließlich habe ich versucht, virt-install direkt zu verwenden, aber es scheint mir, dass es nur möglich ist, vnc (nicht einfach ein ssh-Terminal) für die erste Verbindung zu verwenden. Ich folgte dieser Anleitung und brachte den VM zum Laufen. Aber an dem Punkt, an dem das SSH-Tunneling für die VNC-Verbindung eingerichtet ist, habe ich Probleme. Ich gehe davon aus, dass Sie diesen Code auf dem Host VM ausführen müssen:

$ Sudo virsh dumpxml gitMachine | grep vnc
$ <graphics type='vnc' port='5900' autoport='yes' listen='127.0.0.1'>
$ ssh [email protected] -L 5900:127.0.0.1:5900

Über Tunnel erfolgreich verbunden (Ich wurde nach Zertifikat und Passwort gefragt). Ich konnte jedoch keine Verbindung vom Ubuntu-Desktop mit einem VNC-Client zum VM herstellen, wie im Handbuch beschrieben.

Gibt es andere Tools, die die gleichen Ergebnisse liefern wie ubuntu-vm-builder in 16.04?

1
VapoRizer

Okay. Das habe ich mir ausgedacht:

Sudo virt-install \
--name test \
--ram 4096 \
--disk path=/home/myuser/kvm/vm_images/test.img,size=20 \
--vcpus 2 \
--os-type linux \
--os-variant ubuntu16.04 \
--network bridge=br0 \
--graphics none \
--console pty,target_type=serial \
--location http://debian.ethz.ch/ubuntu/ubuntu/dists/xenial/main/installer-AMD64/ \
--extra-args 'hostname=test ip=10.10.10.120 dns=31.3.135.232 gateway=10.10.10.1 netmask=255.255.255.0 console=ttyS0,115200n8 serial' \
--debug

Bei den meisten Beispielen, die ich gefunden habe, war die Adresse des Parameters --location inaktiv. So sieht meins aus:

Reachable as debian.ethz.ch, ubuntu.ethz.ch and ftp.ch.debian.org.
[ICO]   Name    Last modified   Size    Description
[PARENTDIR] Parent Directory        -    
[DIR]   20101020ubuntu448/  2016-04-16 23:53    -   Ubuntu APT repository
[DIR]   20101020ubuntu450/  2016-04-19 20:58    -   Ubuntu APT repository
[DIR]   20101020ubuntu451/  2016-04-20 17:53    -   Ubuntu APT repository
[DIR]   current/    2016-04-20 17:53    -    

Nach diesem Befehl landen Sie direkt in der Konsole des gestOS, während das Installationsprogramm ausgeführt wird. Ich bin mir nicht sicher, warum der Spiegel während der Installation heruntergeladen werden soll, da der Parameter location angegeben ist.

Nicht alle Extra-Argumente funktionieren für mich. Hostname und Konsole sind in Ordnung.

Da ich br0 auf dem Host für eine statische IP konfiguriert habe, kann das neu erstellte VM keine Hosts im Internet auflösen. Daher schlägt die Auswahl während des Spiegelvorgangs im Installationsprogramm des guestOS fehl. Ich konnte dieses Problem lösen, indem ich zur Shell des Installationsprogramms ging:

nano /etc/resolv.conf
# changed content of the file to: hostname 8.8.8.8
# ping yahoo.com should work for example
exit

danach landen Sie wieder im Installationsprogramm und können fortfahren. Vergessen Sie nicht, das OpenSSH-Serverpaket während der Installation zu überprüfen. Sie können das VM anschließend durch seine DHCP-Lease mit PuTTY erreichen. Nach Abschluss des Setups wird VM neu gestartet und die serielle Konsolensitzung im HostOS wird nicht ordnungsgemäß wiederhergestellt. Ich konnte auch keine Verbindung herstellen

$ virsh console foo

Dies führte nur zu

Connected to domain foo
Escape character is ^]

Hilfreicher Link zu mir: https://www.server-world.info/en/note?os=Ubuntu_16.04&p=kvm&f=2

0
VapoRizer