如何为Linux客户机自动调整Vagrant磁盘映像大小?

14

有许多在线步骤可以手动增加vagrant磁盘大小,例如:链接

如果可以在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个回答

5

有一个vagrant-disksize插件。

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

vagrant plugin install vagrant-disksize

然后您可以像这样在Vagrantfile中包含它:

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

目前仅限于第一块磁盘。


5

我发现以下选项很有用:

1)为Vagrant box添加另一个磁盘。

请参阅我在AskUbuntu上类似问题的答案这里

2)使用Opscode Vagrant boxes,它们通常具有40GB的磁盘。

有关更多信息,请查看opscode页面

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

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


更多信息:

Vagrant's issue tracker上提出了一个关于扩展vagrant磁盘的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接