2014-09-22 77 views
6

我想提的是,我确实看了看大多数,如果不是所有的流浪者“等待虚拟机启动”故障排除线程前言这个问题在:流浪坚持“等待VM启动”

事情我已经试过包括:

  1. vagrant failed to connect VM

  2. https://superuser.com/questions/342473/vagrant-ssh-fails-with-virtualbox

  3. https://github.com/mitchellh/vagrant/issues/410

  4. http://vagrant.wikia.com/wiki/Usage

  5. http://scotch.io/tutorials/get-vagrant-up-and-running-in-no-time

多。

下面是如何设置我的流浪:

注:我们正在使用1.2.2流浪汉,因为我们目前没有足够的时间来改变CONFIGS到更新的版本。我也使用VirtualBox 4.2.26。

  1. 我的办公室有一个/official/文件夹,其中包含诸如Vagrantfile之类的东西。在我的Vagrantfile是这些自定义设置:
config.vm.box = "my_box" 

    config.ssh.private_key_path = "~/.ssh/github_rsa" 
    config.ssh.forward_agent = true 
    config.ssh.forward_x11 = true 
    config.ssh.max_tries = 300 
    config.vm.provision :shell, :inline => "/etc/init.d/networking restart" 
  • 我通过vagrant box add my_box absolute_path/package.box这非常顺利安装了我们的自定义文件夹(称为package.box)。

  • 运行vagrant up,我会看VirtualBox的“预览”,它会被卡在登录页面。我的终端也只会说:Waiting for VM to boot. This can take a few minutes.据我所知,这是一个SSH问题。或者我的私钥问题,尽管在我的Vagrantfile中我明确指出了我的私钥位置。

  • 有趣的注解:

    1. VirtualBox的GUI内运行dhclient,它说,命令没有找到。运行sudo dhclient eth0是建议的修复之一。

    2. 此修复程序:的“修改/etc/rc.local文件以包括线sh /etc/init.d/networking restart只是exit 0之前” https://superuser.com/a/343775/298915没有解决这个问题。

    结论:

    尝试过重新安装一切想我搞砸了一个文件,它似乎没有改善的问题。我无法处理这个问题。有人能给我一些见解吗?

    回答

    5

    因此,经过大约12个小时的沮丧的故障排除之后,我终于(能够)启动虚拟机。

    1. Setup your private/public keys使用所提供的链接。我的方框是Debian Linux 3.2.0-4-amd64,因此而不是/root/.ssh/id_rsa.pub,您必须使用/home/vagrant/.ssh/id_rsa.pub(以及相应的私钥id_rsa路径)。

      注意:确保您的文件具有正确的权限。使用ls -l path进行检查,并使用chmod进行更改。您的机器可能没有/home/vagrant/.ssh/authorized_keys,因此请使用touch /home/vagrant/.ssh/authorized_keys生成该文件。

    2. 使用VirtualBox GUI(通过Vagrantfile boot-GUI命令或使用VirtualBox启动虚拟机)启动虚拟机。出现提示时使用vagrantvagrant进行登录。

    3. 在GUI中,使用sudo dhclient eth0 -v手动启动dhclient。 为什么它默认关闭?我不知道。我发现它已关闭,当我尝试wget私钥/公钥在上面的教程,但无法。

    4. 转到本地机器的命令行并使用vagrant reload重新加载vagrant。它应该启动,不再挂在“等待VM启动”。

    这对我有效。尽管其他机器可能有所不同,但无论出于何种原因,Vagrant都喜欢突破。

    建议:可以将它保存为脚本,因此我们不需要每次手动执行此操作?

    编辑:更新到最新版本的流浪,你永远不会再看到这个问题。关于时间,呵?

    +1

    感谢您分享解决方案。刚刚救了我一堆时间。在我的情况下需要注意的一点是:第一次我跑'vagrant reload'时,仍然在第一步中被挂断。我手动关闭VirtualBox GUI中的VM,然后'vagrant reload'工作。不知道为什么。 – jchung 2015-09-25 05:32:04