如何自动调整linux guest虚拟机的vagrant disk映像大小?

时间:2014-01-18 21:41:29

标签: vagrant

有许多在线手动增加流浪汉磁盘大小的步骤,例如:link

如果调整大小可以在Vagrantfile中自动完成,那会很棒,如下所示:

  config.vm.provider :virtualbox do |vb|
    if first_up      # only run on the first 'up' command
      disk_uuid = ?  # how to get the disk_uuid?
      vb.customize ["modifyhd", disk_uuid, "--resize", "15360"]
      config.vm.provision "shell", path: "resize2fs -p -F /dev/sda"
    end
  end

问题:如何以跨平台的方式找出磁盘uuid?

问题:这是否只需要调整来宾磁盘的大小?

2 个答案:

答案 0 :(得分:5)

我发现以下选项很有用:

1)将另一个磁盘添加到Vagrant框中。

在AskUbuntu here上查看我对类似问题的回答。

2)使用通常有40Gb磁盘的Opscode Vagrant框

有关详细信息,请参阅opscode page

3)使用packer创建自己的框。

阅读了打包器教程后,您可以从其他地方复制打包器定义(例如opscode)并调整磁盘大小。


更多信息:

Vagrant's issue tracker提出了关于扩展流浪盘的问题。

答案 1 :(得分:3)

有一个vagrant-disksize插件。

您可以执行以下命令安装:

vagrant plugin install vagrant-disksize

然后你可以将它包含在Vagrantfile中,如下所示:

Vagrant.configure('2') do |config|
  config.vm.box = 'ubuntu/xenial64'
  config.disksize.size = '50GB'
end

目前仅限于第一张磁盘。