web-dev-qa-db-fra.com

KVM dans Ubuntu Server 16.04 LTS

Petite question: Connaissez-vous un moyen simple et rapide de créer des machines virtuelles sans tête Ubuntu 16.04 (avec un serveur ssh déjà installé et en cours d'exécution) sur un serveur Ubuntu sans tête 16.04 sans tête Serveur?

Version détaillée: J'ai donc beaucoup aimé le ubuntu-vm-builder dans 14.04. Hier, j’ai mis en place un ordinateur hôte 16.04 VM récent et j’ai remarqué que ledit constructeur ne pouvait créer des machines virtuelles qu’au 14.04. ( Cette réponse à la question Création de machines virtuelles à l'aide de ubuntu-vm-builder indique que Canonical l'a abandonné/déconseillé (pour lequel je n'ai pas trouvé de déclaration officielle).

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.)

J'ai donc commencé à expérimenter avec virt-builder et je me suis heurté à ce problème , qui semble être une faute du système hôte VM.

Finalement, j'ai essayé d'utiliser virt-install directement, mais il me semble qu'il n'est possible d'utiliser que vnc (pas simplement un terminal ssh) pour la première connexion. J'ai suivi ce guide et j'ai lancé le VM. Mais au point où le tunnel ssh est configuré pour la connexion vnc, je me bats. Je suppose que vous devez exécuter ce code sur l'hôte VM:

$ Sudo virsh dumpxml gitMachine | grep vnc
$ <graphics type='vnc' port='5900' autoport='yes' listen='127.0.0.1'>
$ ssh ubuntuDesktopUser@ubuntuDesktop -L 5900:127.0.0.1:5900

Au-dessus du tunnel connecté avec succès (on m'a demandé un certificat et un mot de passe). Mais je n’ai pas pu me connecter à la VM à partir du bureau Ubuntu avec un client VNC, comme décrit dans le guide.

Existe-t-il d’autres outils offrant les mêmes résultats que ubuntu-vm-builder dans 16.04?

1
VapoRizer

D'accord. Voici ce que je suis venu avec:

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

Pour la plupart des exemples que j'ai trouvés, l'adresse du paramètre --location était indisponible. Voici à quoi ressemble le mien:

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    -    

Après cette commande, vous atterrissez directement dans la console de gestOS, avec le programme d'installation en cours d'exécution. Je ne suis pas sûr de savoir pourquoi le téléchargement du miroir est demandé lors de l'installation, car le paramètre location a été spécifié.

Tous les extra-arguments ne fonctionnent pas pour moi. Le nom d'hôte et la console sont ok.

Depuis que j'ai configuré br0 sur l'hôte pour avoir une adresse IP statique, le VM nouvellement créé ne peut pas résoudre les hôtes sur Internet. Par conséquent, lors du processus de sélection du miroir dans l'installateur de guestOS, le processus échoue. J'ai pu résoudre ce problème en quittant le shell du programme d'installation:

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

ensuite, vous revenez sur l’installateur et vous pouvez continuer. N'oubliez pas de vérifier le package du serveur OpenSSH lors de l'installation. Vous pouvez ensuite accéder à la VM par son bail DHCP avec PuTTY. Une fois la configuration terminée, la VM redémarrera et la session de console série à l'intérieur de l'hostOS ne se reconnectera pas correctement. Je ne pouvais pas non plus me connecter avec

$ virsh console foo

Cela n'a conduit qu'à

Connected to domain foo
Escape character is ^]

Lien utile pour moi: https://www.server-world.info/en/note?os=Ubuntu_16.04&p=kvm&f=2

0
VapoRizer