2016-05-09 6 views
3

EDIT6: представлен официальный путь ошибка: https://github.com/mitchellh/vagrant/issues/7512Vagrant не может подключиться к VM

EDIT5: Когда я vagrant destroy и vagrant up, все работает легко. Но когда я выключаю виртуальную машину и снова включаю ее (вам придется перезагрузить компьютер однажды), она не будет работать снова. Либо последовательность для vagrant up, когда создается виртуальная машина, прослушивается, либо прослушивается VirtualBox. Уничтожение и восстановление виртуальной машины не является опцией, причиной миграции БД и, как минимум, требуется минимум 30 минут. В любом случае, НЕ ИСПОЛЬЗУЙТЕ ВАГРАНТ НА ​​WINDOWS 10.

EDIT4: Я отказался от Virtual Box 5.0.0.10, исправил ошибку, но ошибка Command not in installer сохраняется.

EDIT3: Когда я вошел в vagrant up --debug, я узнал, что он работает. Он попадает в линию

INFO subprocess: Starting process: ["C:/Program Files/Oracle/VirtualBox/VBoxManage.exe", "showvminfo", "8aaee3a3-806f-4 
8ad-9928-91e2b7baba5d", "--machinereadable"] 

, а затем он делает

INFO subprocess: Command not in installer, restoring original environment... 

Путь к VM использует вперед слэши вместо обратной косой черты. Это ошибка? Есть ли способ вручную установить путь к виртуальной машине? Я поместил C:\Program Files\Oracle\VirtualBox в свою ПУТЬ.

EDIT2: НЕ ИСПОЛЬЗОВАТЬ бродячие НА WINDOWS 10, он прослушивал во многих отношениях, и VM не optimalized для win10 еще, вы получите кучу вопросов, которые вы не в состоянии решить. Также попробовал Отто из Хашикорпа, тоже не работая. Покойся с миром.

EDIT: хорошо, поэтому, когда я делаю vagrant destroy и vagrant up, после 10 минут установки он работает как шарм. Но после того, как я перезагрузил свой компьютер или выйти из системы, Vagrant не может подключиться к виртуальной машине, ни с закрытым ключом, ни с логином/паролем. Это ошибка?

Когда я делаю vagrant up, виртуальная машина запускается правильно, но Vagrant не может связаться. Все, что он говорит, это Warning: Remote connection disconnect. Retrying... Когда я пытаюсь подключиться через vagrant ssh, я получаю только ssh_exchange_identification: read: Connection reset by peer. Когда я проверяю графический интерфейс виртуальной машины, он ждет входа в систему, и когда я вхожу в систему с идентификатором входа/паролем, он работает так, как предполагалось, поэтому проблема заключается в том, что Vagrant не может подключиться к виртуальной машине.

Я пробовал:

  1. проверка, если мой компьютер поддерживает виртуализацию и проверки, если он находится на
  2. пытается соединиться с паролем вместо ключа
  3. настройки сети adapetrs
  4. выключая брандмауэр
  5. чистая переустановка

Я использую Vagrant 1.8.1 и VirtualBox 5.0.20 на Windows, 10. Это мой бродяга файл:

VAGRANTFILE_API_VERSION = "2" 

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 

    config.vm.box = "ubuntu/trusty64" 

    config.vm.provider :virtualbox do |vb| 
    vb.memory = 2048 
    vb.gui = true 
    vb.cpus = 2 
    end 


    config.vm.network :private_network, type: "dhcp" 
    config.vbguest.auto_update = false 

    config.ssh.insert_key = false 

    config.vm.provision :shell, path: "bootstrap.sh" 

end 
+1

Его трудно сказать, но если вы все еще можете войти в систему с виртуальной коробки, я WOU ld сделать это и проверить всю конфигурацию 'sshd', можно ли ее каким-то образом изменить? из бутстрапа или любой другой команды, которую вы запускаете; –

+0

можете ли вы попытаться создать новую переменную env под названием 'VBOX_USER_HOME' и укажете ее на свою виртуальную коробку? –

ответ

1

[Редактировать 17/06/2016]
Проблема должна быть решена с Virtualbox 5.0. 22.

https://www.virtualbox.org/wiki/Changelog
https://www.virtualbox.org/ticket/15412

[Подлинный ответ ниже]
В отличие от моего предыдущего ответа я сейчас не думаю, что я сталкиваюсь с той же проблемой, как вы описали здесь. Однако я все еще думаю, что вы сталкиваетесь с другим изменением проблемы.

Относительно обратной связи, полученной от разработки Virtualbox https://www.virtualbox.org/ticket/15412 Я узнал, что Virtualbox 5.0.20 содержит изменения в правилах пересылки NAT для устранения других ошибок. Когда виртуальная машина сохраняется и запускается снова, Virtualbox теперь удаляет сетевой кабель в течение 5 секунд. Предполагается, что клиент DHCP запросит новый договор аренды. Эта информация, в свою очередь, затем используется Virtualbox для вывода IP-адреса, и NAT должен работать.

В моем конкретном случае я столкнулся с этой проблемой с Ubuntu 16.04 в качестве гостевой VM, тогда как с Ubuntu 14.04 он работает. Это указывает на то, что DHClient на Ubuntu 14.04 запрашивает новую аренду после того, как кабель был отключен Virtualbox, тогда как это не относится к Ubuntu 16.04.

Чтобы убедиться, что вы столкнулись с одной и той же проблемой, задаюсь вопросом, можете ли вы выполнить приведенный ниже тест и сообщить мне.

  1. Войти в консоль Trusty VM (то есть тот, который вы получите отображается при запуске виртуальной машины на переднем плане)
  2. Установка 'arping' (sudo apt-get -y install arping)
  3. Создайте ниже сценарий «sendARP. ш»

    #!/bin/bash 
    
    IFACE=$(ifconfig | grep 'Link encap:Ethernet' | awk '{print $1}') 
    IP=$(ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1') 
    
    arping -c 1 -i $IFACE $IP 
    
  4. Сделать исполняемым 'CHMOD + х sendARP.sh'
  5. Сохранить Trusty VM (vagrant suspend)
  6. Начните свою доверенную виртуальную машину из сохраненного состояния (vagrant up)
  7. Войдите в консоль Trusty VM (т. тот, который вы получите отображаются при запуске виртуальной машины на переднем плане)
  8. Выполнить скрипт «SUDO ./sendARP.sh»
  9. Test, можно ли подключиться через SSH с удаленного местоположения/Virtualbox хоста

Bugs:

https://github.com/mitchellh/vagrant/issues/7306

https://www.virtualbox.org/ticket/15412

+0

Got VM 5.0.22 и Vagrant 1.8.4, проблема все еще сохраняется. Когда я разрушаю и бродягу, все работает. Когда я бродяжничать, а затем бродячий, нет шансов. –

+0

@ MilošLukačka Работает ли это, когда вы делаете «бродяжничать», а затем «бродячий»? – quat

+0

Да, потому что 'vagrant suspend' является таким же, как' бродячий halt' + 'бродячий уничтожить'. Я представил проблему как ошибку неправильного пути. https://github.com/mitchellh/vagrant/issues/7512 –

Смежные вопросы