流浪超时

时间:2014-05-15 23:03:18

标签: timeout vagrant virtualbox vagrantfile

有一些问题让我的流浪汉, 选中此框,运行vagrant init,然后在vagrant up命令后收到此消息。

Bringing machine 'default' up with 'virtualbox' provider...
    ==> default: Importing base box 'precise32'...
    ==> default: Matching MAC address for NAT networking...
    ==> default: Setting the name of the VM: virtm_default_1400193131859_61200
    ==> default: Fixed port collision for 22 => 2222. Now on port 2201.
    ==> default: Clearing any previously set network interfaces...
    ==> default: Preparing network interfaces based on configuration...
        default: Adapter 1: nat
    ==> default: Forwarding ports...
        default: 22 => 2201 (adapter 1)
    ==> default: Booting VM...
    ==> default: Waiting for machine to boot. This may take a few minutes...
        default: SSH address: 127.0.0.1:2201
        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.

有什么建议吗?

10 个答案:

答案 0 :(得分:16)

有几个不同的问题可能导致此超时问题。跟踪它的一个好方法是启用GUI模式。这将打开VirtualBox机器UI,这可能会为问题提供更好的线索。

要启用GUI模式,请确保取消注释Vagrantfile中的此部分:

config.vm.provider "virtualbox" do |vb|
   vb.gui = true
end

然后执行vagrant reload。这应该会显示VirtualBox应用程序,显示您的虚拟机UI。通常问题将变得明显,无论是网络问题还是grub引导加载程序问题。

解决问题后,您可以再次对此进行评论,然后执行另一个vagrant reload以返回无头模式。

参考:Vagrant docs

答案 1 :(得分:4)

优雅地描述了解决方案here。它是唯一一款在i686上运行的Ubuntu 16.04.2,Vagrant 1.9.3和Virtualbox 5.1.18试图运行ubuntu / trusty32。

您所做的是修复服务器上的网络,并为启动添加一些额外的时间:

  • 启动虚拟机,通过GUI(用户名:vagrant,密码:vagrant)登录服务器并运行以下命令

    $ sudo ifdown eth0
    $ sudo ifup eth0
    
  • 然后将以下内容添加到文件/etc/rc.local

    ifdown eth0
    ifup eth0
    
  • 在主机上,将以下内容添加到Vagrantfile

    config.vm.boot_timeout = 600
    

现在停止VM。下次你做'流浪汉'就可以了。

答案 2 :(得分:3)

如果你的Vagrant盒子正在运行Ubuntu 16.04,那就是因为这个启动步骤... 启动作业正在运行以提升网络接口(5分8秒)一种方法克服这个问题是从VirtualBox启动VM,然后执行 vagrant ssh

答案 3 :(得分:2)

将VirtualBox升级到5.1.12

我使用了同样的问题:

  • VirtualBox 5.0.0
  • Vagrant 1.9.1 vagrant -v
  • 测试厨房1.14.2 kitchen -v
  • 的centos-7.2

当我尝试运行以下命令时:

kitchen create

kitchen test

升级Oracle VirtualBox (下载+安装)到VirtualBox 5.1.12解决了问题。

如果升级不是您的解决方案,您可以使用@paulalexandru提到的以下workaround,但它具有以下主要缺点:您需要进行该手动步骤对于您正在运行的每个命令。

但似乎VirtualBox修复了“Cable Connected”选项问题。现在,如果您转到设置> 网络> 适配器1 > 高级,您可以看到默认情况下已选中有线连接复选框:

Cable Connected is checked

答案 4 :(得分:2)

config.vm.boot_timeout即使在设置到最大值后也没有帮助我!!!

我的案例中的真正问题是,它无法创建网络适配器。我必须明确编辑box.ovf文件才能启用它。

找到 box.ovf 文件&在文本编辑器中打开它,然后在保存并退出之后添加cable="true",如下所示。发布使用流浪汉摧毁你的流浪汉然后把它拿起来。

Locate(box.ovf): C:\Users\<use_name>\.vagrant.d\boxes\box-cutter-VAGRANTSLASH-centos68-desktop\2.0.21\virtualbox\box.ovf

Before: <Adapter slot="0" enabled="true" MACAddress="084017AA8CEB" type="virtio">

After: <Adapter slot="0" enabled="true" MACAddress="084017AA8CEB" cable="true" type="virtio">

有一个很好的帖子here

答案 5 :(得分:1)

这与我发生的问题相同。最后我们发现这个问题是由于我们与Vagrant版本使用的Linux操作系统不兼容。因此,我们采用了Vagrant的最新版本(即v1.6.3)并更新了我们的操作系统以指向 agent.vm.box_url = “http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-i386-v20131103.box

Vagrant版本4.3.8无法使用以下操作系统。 agent.vm.box_url =“http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130731.box”。

我们确实遇到了上面显示的相同问题。

答案 6 :(得分:0)

对我来说,从BIOS启用虚拟化选项可以修复它。

答案 7 :(得分:0)

我正在使用Windows10。

我按照注释中的步骤解决了这个问题

”如果使用Windows,则可能需要启用硬件虚拟化(VT-x)。通常可以通过BIOS启用它。如果在UEFI系统上使用Hyper-V,则可能还需要禁用Hyper -V以访问VT-x。”

答案 8 :(得分:0)

对我来说,我已经在Windows 10中卸载了Docker-CE,然后让vagrant正常工作。 另外,请选中this选项已禁用。

答案 9 :(得分:-1)

使用安装Win10,Vagrant 2.1.2和Ubuntu 16的防火墙时,我已经为端口80启用了“ ufw”,这也是我面临的同样问题。如下所示启用防火墙的命令

ufw enable

ufw 80 allow

我确实在Vagrantfile中的GUI启用模式下登录,对我来说,禁用它可以节省生命。

ufw disable

现在,只需

vagrant reload

vagarnt ssh