Vagrant, how to specify the disk size?

2020-05-20 07:22发布

问题:

I want to make sure that my development environment has enough free space to install tools and other stuff. I can't find any configuration option about telling to Vagrant the minimum disk size that I want. Is this possible or I need to create my own box?

回答1:

I have used the vagrant plugin vagrant-disksize to resize the disk.

It worked. It can also help to specify the initial disk size.

Run the following at the command line:

vagrant plugin install vagrant-disksize

and use the following in your Vagrantfile:

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


回答2:

Install Vagrant plugin vagrant-disksize

vagrant plugin install vagrant-disksize

If you want to make sure user has the plugin installed, when starting vagrant, you can add this in the beginning of Vagrantfile

# Install vagrant-disksize to allow resizing the vagrant box disk.
unless Vagrant.has_plugin?("vagrant-disksize")
    raise  Vagrant::Errors::VagrantError.new, "vagrant-disksize plugin is missing. Please install it using 'vagrant plugin install vagrant-disksize' and rerun 'vagrant up'"
end

Set desired disk size in Vagrantfile

vagrant.configure('2') do |config|
    config.disksize.size = '50GB'
end

Updating existing vagrant box

  1. Do all of the above
  2. Run vagrant halt & vagrant up (You should see something like "Resized disk: old 32768 MB, req 51200 MB, new 51200 MB")
  3. SSH to vagrant box
  4. Run sudo cfdisk /dev/sda
  5. Use arrows to select your disk probably sdaX. Mine was sda3.
  6. Then select resize using arrow keys. Accept the suggested disk size.
  7. Then select write. And answer yes.
  8. You can select quit now.
  9. Run sudo resize2fs -p -F /dev/sdaX You should see something like: "Filesystem at /dev/sda3 is mounted on /; on-line resizing required old_desc_blocks = 4, new_desc_blocks = 6 The filesystem on /dev/sda3 is now 11933952 (4k) blocks long. "
  10. Run df and see that your disk size has increased.


回答3:

This should be done using the provider, i.e the virtualbox configuration settings example would be

https://www.vagrantup.com/docs/virtualbox/configuration.html

config.vm.provider "virtualbox" do |v| v.customize ["modifyvm", :id, "--cpuexecutioncap", "50"] end

https://www.virtualbox.org/manual/ch08.html#vboxmanage-list

but in modifyvm section i dont see anything relating to the disk resize !!maybe you can try and attach a secondary disk !!

https://gist.github.com/leifg/4713995



标签: vagrant