41 votes

Vagrant ssh échoue avec VirtualBox

Vagrant up échoue lorsqu'il arrive à la partie ssh :

terminale$ vagrant up
[défaut] La VM est déjà créée. Démarrage si elle n'est pas déjà en cours d'exécution...
[défaut] Exécution de toutes les personnalisations de la VM...
[défaut] Nettoyage des ports précédemment définis pour le renvoi...
[défaut] Renvoi des ports...
[défaut] -- ssh : 22 => 2222 (adaptateur 1)
[défaut] -- db2 : 30003 => 30003 (adaptateur 1)
[défaut] Nettoyage des dossiers partagés précédemment définis...
[défaut] Création des métadonnées des dossiers partagés...
[défaut] Démarrage de la VM...
[défaut] Attente du démarrage de la VM. Cela peut prendre quelques minutes.
[défaut] Échec de la connexion à la VM !
Échec de la connexion à la VM via SSH. Veuillez vérifier que la VM a démarré avec succès
en regardant l'interface graphique de VirtualBox.

Ensuite, lorsque j'essaie ultérieurement de me connecter en utilisant vagrant ssh ou vagrant reload ou similaire, j'ai ceci :

terminale$ vagrant reload
[défaut] Tentative d'arrêt en douceur de Linux...
La connexion SSH a été refusée ! Cela se produit généralement si la VM n'a pas réussi à
démarrer correctement. Quelques étapes à essayer pour résoudre ce problème : Tout d'abord, essayez de recharger votre
VM avec `vagrant reload`, car un simple redémarrage résout parfois les problèmes.
Si cela ne fonctionne pas, détruisez votre VM et recréez-la avec `vagrant destroy`
suivi de `vagrant up`. Si cela ne fonctionne pas, contactez un
responsable de Vagrant (les canaux de support sont répertoriés sur le site web) pour obtenir de l'aide supplémentaire.

S'il vous plaît aidez-moi ! Je suis vraiment bloqué.

Cordialement,

Luke

27voto

J'ai eu le même problème avec la box donnée dans le "Guide de démarrage" du site Vagrant. Ma solution ci-dessous est pour cette box de tutoriel.

J'ai trouvé une solution ici : https://github.com/mitchellh/vagrant/issues/391

  1. dans le fichier VagrantFile, ajoutez le mode gui : config.vm.boot_mode = :gui
  2. exécutez vagrant up
  3. dans l'interface graphique, connectez-vous avec l'utilisateur "vagrant" (mot de passe = "vagrant")
  4. dans l'interface graphique, exécutez sudo /etc/init.d/networking restart, dans le fichier /etc/network/interfaces, vous devez maintenant avoir une section avec #VAGRANT-BEGIN [...]#VAGRANT-END
  5. exécutez vagrant reload sur la machine physique

10voto

Allison Points 13

J'ai rencontré ce problème avec ma configuration et j'ai finalement réduit le problème au fait que j'avais ajouté un nom dans le fichier hosts local. Donc j'avais :

127.0.0.1 localhost myname myalias

J'ai supprimé le myalias que j'avais ajouté et ça a démarré correctement. Merci à @saphirlazuli pour l'indication que c'était lié au réseau.

6voto

boehj Points 141

C'est un problème intermittent pour moi, et semble définitivement être lié au réseau. J'ai trouvé des informations plus utiles sur les problèmes de Vagrant GitHub #391 et #455. J'ai essayé de supprimer mon réseau hôte inutilisé dans les paramètres de VirtualBox (comme recommandé comme correctif potentiel dans l'un des problèmes de GitHub) qui ne semblait pas aider.

Démarrer en mode gui (comme décrit dans une réponse précédente) est un excellent moyen de déboguer/résoudre les problèmes. J'ai trouvé que c'est parce que pour une raison quelconque, la VM ne peut pas obtenir une adresse IP au démarrage. Démarrer en mode GUI puis se connecter (vagrant/vagrant) et exécuter sudo dhclient dans le système d'exploitation invité permettrait de récupérer l'adresse IP et le processus de configuration de Vagrant se terminerait avec succès.

Je cherche toujours une solution permanente cependant.

J'espère que cela aide!

[MODIFIÉ POUR AJOUTER]: Une suggestion utile a été ajoutée à Problème GitHub #455 qui consiste à ajouter la configuration suivante à votre Vagrantfile:

config.ssh.max_tries = 150

Cela fonctionne actuellement pour moi, et semble logique puisque le problème semble être lié au délai d'attente - augmenter le nombre de tentatives devrait augmenter la probabilité que le processus SSH réussisse à temps. C'est un problème intermittent en premier lieu donc je vais réserver mon jugement pour un moment, mais croisons les doigts pour que ça marche! Merci à karel1980 pour avoir suggéré la correction.

5voto

winnuayi Points 21

Si vagrant up échoue, je recommande ce qui suit :

  1. Démarrer en mode gui : cela permet de voir si l'image est corrompue (ou par exemple ce qu'elle fait avant le démarrage du provisionnement), définissez config.vm.boot_mode = :gui dans votre Vagrantfile
  2. Journalisation de débogage : exécutez le provisionnement en mode debug, chef.log_level = :debug
  3. Reconditionner la boîte : parfois, vous devez installer quelque chose avant que tout le reste ne s'exécute - pour amorcer l'amorceur. Ce n'est pas vraiment possible, donc la solution la plus simple est de démarrer une machine virtuelle sans aucun provisionnement, installer ce dont vous avez besoin et reconditionner la boîte (vagrant box repackage foo, puis vagrant import foo et ensuite ajoutez foo dans votre Vagrantfile)

Remarque : le mode gui peut avoir d'autres problèmes, par exemple pour moi aucun provisionnement ne fonctionne avec vagrant 0.7.5 lorsque le gui est activé. C'est toujours excellent pour déboguer la boîte réelle cependant.

2voto

Simon Celen Points 11

Le type de ma carte réseau était initialement défini sur 82540EM. Je l'ai changé en Am79C973 et maintenant Vagrant fonctionne à chaque fois. J'ai démarré plusieurs machines virtuelles, même redémarré l'hôte et ça fonctionne toujours.

La commande est :

VBoxManage modifyvm votrenomachine --nictype1 Am79C973

N'oubliez pas de reconditionner et de réajouter votre boîte à Vagrant.

Je fais tourner Debian Squeeze 64 bits en tant qu'hôte et invités, en utilisant VirtualBox 4.1.16 sur une machine Core i7-2600.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X