【问题标题】:Should I use vagrant resume or vagrant up?我应该使用 vagrant resume 还是 vagrant up?
【发布时间】:2014-09-22 03:24:13
【问题描述】:

经过几天的学习,我很高兴能够成功设置我的 VM 并运行 Laravel 起始页。在那里很开心:)

有人可以澄清“何时”使用 vagrant 函数。我的问题:

  1. 如果我打算关闭计算机,您应该使用halt 还是suspend? (我猜halt)如果我忘了做这两个,会不会有问题?

  2. 我刚打开电脑后应该使用up 还是resume

  3. 如果我通过关闭机盖使计算机进入睡眠模式怎么办,是否需要vagrant suspend

【问题讨论】:

    标签: vagrant virtual-machine virtualization


    【解决方案1】:

    总之

    1。关机

    “关闭”方法在您关闭/打开虚拟机时的速度和虚拟机将占用的磁盘空间量方面有所不同。从更快/更多磁盘消耗更慢/更少磁盘消耗,命令是:vagrant suspendvagrant haltvagrant destroy

    2。开启

    只需使用vagrant up“启动”方法之间的区别在于vagrant resume 只会“唤醒”VM,而vagrant up 将在此之前进行一些配置检查。例如,它会检查您的 vagrant box 是否有更新的版本,并通过运行vagrant box update 通知您可以更新。

    您还可以仅在先前挂起的 VM 上使用 vagrant resume。从时间上看,在挂起的机器上使用时两者之间没有明显区别。

    有关更多详细信息,请参阅下面的文档参考。

    3。睡眠/休眠

    让您的计算机进入睡眠状态甚至休眠应该不会造成任何伤害。前者只是低功耗状态,而后者将 RAM 保存到存储驱动器,然后在您启动计算机时将其恢复。这是操作系统级别的东西,除非出现睡眠失败或其他问题,否则不会影响任何事情。

    参考文档

    Vagrant documentation 有一个部分说明不同命令的作用:

    暂停虚拟机调用vagrant suspend会保存机器当前的运行状态并停止它。当您准备好再次开始工作时,只需运行vagrant up,它就会从您停止的地方继续。这种方法的主要好处是速度超级快,通常只需 5 到 10 秒即可停止和开始工作。缺点是虚拟机仍然会占用您的磁盘空间,并且需要更多的磁盘空间来将虚拟机 RAM 的所有状态存储在磁盘上。

    停止虚拟机调用vagrant halt 将正常关闭客户机操作系统并关闭客户机电源。当您准备好再次启动它时,您可以使用vagrant up。这种方法的好处是它会干净地关闭您的机器,保留磁盘的内容,并允许它再次干净地启动。缺点是从冷启动开始需要一些额外的时间,而且来宾机器仍然会消耗磁盘空间。

    销毁通过调用vagrant destroy 的虚拟机将从您的系统中删除来宾计算机的所有痕迹。它将停止来宾机器,关闭它,并移除所有来宾硬盘。同样,当您准备好再次工作时,只需发出vagrant up。这样做的好处是您的机器上不会留下任何杂物。来宾机器消耗的磁盘空间和 RAM 被回收,并且您的主机保持清洁。缺点是vagrant up 重新开始工作需要一些额外的时间,因为它必须重新导入

    另外关于vagrant upvagrant resume

    命令: vagrant up

    此命令根据您的Vagrantfile 创建和配置客户机。

    这是 Vagrant 中最重要的一个命令,因为它是任何 Vagrant 机器的创建方式。任何使用 Vagrant 的人都必须每天使用这个命令

    命令: vagrant resume

    这会恢复之前挂起的 Vagrant 托管机器,可能是 suspend command

    或者只是看看你的终端中这两个命令的输出有何不同:

    $ vagrant resume
    ==> default: Resuming suspended VM...
    ==> default: Booting VM...
    ...
    
    $ vagrant up
    Bringing machine 'default' up with 'virtualbox' provider...
    ==> default: Checking if box 'laravel/homestead' is up to date...
    ==> default: Resuming suspended VM...
    ==> default: Booting VM...
    ...
    

    vagrant up 期间,您可以看到签入操作。例如,如果您的盒子有更新版本,您会收到通知:

    $ vagrant up
    Bringing machine 'default' up with 'virtualbox' provider...
    ==> default: Checking if box 'laravel/homestead' is up to date...
    ==> default: A newer version of the box 'laravel/homestead' is available! You currently
    ==> default: have version '0.3.3'. The latest is version '0.5.0'. Run
    ==> default: `vagrant box update` to update.
    ==> default: Resuming suspended VM...
    ==> default: Booting VM...
    

    【讨论】:

    • 所以在暂停之后进行 vagrant up 是安全的吗?从您的输出看来,执行 up 会检测到它先前已暂停(未停止)并执行恢复?
    • @sheamus 是的,一般可以用完。它会进行检查,但这不会使过程变慢,并且会在您的盒子有较新版本时注意到您。
    【解决方案2】:
    1. 我通常在关闭计算机时使用暂停。当您暂停时,我相信它会将当前舞台图像存储在磁盘上。如果您不关心存储问题,那么您可以使用挂起。

    2. 如果您暂停了 VM,那么您应该使用 resume 以便恢复上一个状态。如果你只是启动虚拟机,使用“up”

    3. 我认为在计算机休眠时没有必要挂起 VM。

    【讨论】:

    • 谢谢甘尼。还有一个问题,如果您只是来自vagrant halt,使用vagrant up --no-provision 比使用普通的vagrant up 更好吗?
    • 嗨 @kofi vagrant up 默认情况下,当您来自简单的 vagrant halt 时,不会运行配置。所以你不需要在vagrant up 中使用`--no-provision`。顺便说一句,配置默认在第一个 vagrant up 处运行。 check out documentations here
    【解决方案3】:

    简而言之,如果你使用

    $ vagrant suspend
    

    然后使用

    $ vagrant resume
    

    但是如果你使用

    $ vagrant halt
    

    然后使用

    $ vagrant up
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-30
      • 2017-08-14
      • 1970-01-01
      • 1970-01-01
      • 2013-05-14
      • 2017-05-21
      • 2016-09-04
      相关资源
      最近更新 更多