Время ожидания Vagrant для загрузки машины истекло (Virtualbox)

В предисловии я понимаю, что это распространенное сообщение об ошибке с несколькими различными причинами и решениями, но ничего из того, что я нашел, пока не сработало. У меня есть Vagrant 2.1.5 с Virtualbox 5.2.18, работающий на Windows 10.

Я тестировал Vagrant с очень простым Vagrantfile:

Vagrant.configure("2") do |config|
  config.vm.box = "centos/7"
end

Запуск vagrant up затем дает типичную ошибку «Время ожидания загрузки машины истекло»:

    Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'centos/7'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'centos/7' is up to date...
==> default: Setting the name of the VM: vargrantTest_default_1537805339381_15444
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
Timed out while waiting for the machine to boot. This means that
Vagrant was unable to communicate with the guest machine within
the configured ("config.vm.boot_timeout" value) time period.

If you look above, you should be able to see the error(s) that
Vagrant had when attempting to connect to the machine. These errors
are usually good hints as to what may be wrong.

If you're using a custom box, make sure that networking is properly
working and you're able to connect to the machine. It is a common
problem that networking isn't setup properly in these boxes.
Verify that authentication configurations are also setup properly,
as well.

If the box appears to be booting properly, you may want to increase
the timeout ("config.vm.boot_timeout") value.

Что я пробовал:

  1. Убедитесь, что виртуализация включена в BIOS
  2. Увеличение времени ожидания загрузки в vagrantfile
  3. Проверка правильности сетевых настроек виртуальных машин в Virtualbox (адаптер NAT с подключенным кабелем)
  4. Использование vb.gui = true для наблюдения за загрузкой виртуальной машины. Он загружается нормально и ждет на экране входа в систему.
  5. Использование флага --debug для vagrant up. Это не дает каких-либо очевидных ошибок, которые я обнаружил, хотя до истечения времени ожидания он запускается VBoxManage showvminfo --machinereadable несколько сотен раз, в результате чего файл журнала содержит более 80 тысяч строк.

Как и некоторые другие вещи, которые я забыл написать. У меня нет идей, и я совершенно новичок в Vagrant, поэтому я действительно не знаю, каков следующий шаг по устранению этой проблемы. Любая помощь будет оценена по достоинству.

Редактировать: не уверен, почему я не додумался сделать это сам, но Марко подал мне идею попробовать подключиться по ssh напрямую к виртуальной машине. Я попытался сделать это, используя файл ключа в «/.vagrant.d/insecure_private_key», созданный Vagrant, но время ожидания истекло. Затем я попытался просто пропинговать виртуальную машину, но это дает, казалось бы, случайное сочетание «время ожидания запроса истекло» и «целевой хост недоступен», так что, вероятно, где-то есть более серьезная проблема с сетью (моя машина, виртуальная машина или Virtualbox). м не в курсе.


person Greesy    schedule 24.09.2018    source источник
comment
Я ценю, что вы используете последние версии Vagrant и VirtualBox! Я могу придумать два теста, которые вы можете сделать. Что произойдет, если вы используете VirtualBox независимо от Vagrant? Что произойдет, если после получения вышеуказанной ошибки вы попытаетесь подключиться к ящику по ssh? Для этого вы можете использовать vagrant ssh-config, а затем адаптировать вывод к Putty или SSH-клиенту, который вы используете в Windows.   -  person marco.m    schedule 24.09.2018
comment
Использование Virtualbox само по себе работает нормально, хотя кажется, что может быть проблема с сетью, так как попытка ssh напрямую к виртуальной машине приводит к тайм-ауту, а пинг делает Destination недостижимым. Я посмотрю на это немного больше, спасибо Марко.   -  person Greesy    schedule 24.09.2018
comment
Вы пытались войти в систему с помощью {имя пользователя: vagrant, пароль: vagrant}?   -  person dillon.harless    schedule 21.12.2018


Ответы (1)


Вы декларируете какую-то сеть для этого ящика? Либо частный, либо общедоступный, но что-то?

Кроме того, как долго у вас тайм-аут загрузки? Переборщите и дайте ему 900=>15млн.

person George M Reinstate Monica    schedule 24.09.2018
comment
Тайм-аут 1000 был самым длинным, который я пробовал. Я не объявляю явно какую-либо сеть, у меня сложилось впечатление, что Vagrant делает большую часть сети за вас, поскольку один из моих коллег может запустить тот же простой vagrantfile на Mac, и он отлично работает. - person Greesy; 25.09.2018
comment
Ах, но вы знаете, Windows — непростая штука... Почему бы вам явно не объявить сеть и убедиться, что это не ваша проблема? - person George M Reinstate Monica; 25.09.2018