'vagrant no space left on device

Today I started getting errors on simple operations, like creating small files in vim, the bash completion started to complain as well.

Here is the result of df -h :

vagrant@machine:/vagrant$ df -h
Filesystem                           Size  Used Avail Use% Mounted on
/dev/sda1                             40G   38G  249M 100% /
none                                 4.0K     0  4.0K   0% /sys/fs/cgroup
udev                                 2.0G   12K  2.0G   1% /dev
tmpfs                                396M  396K  395M   1% /run
none                                 5.0M     0  5.0M   0% /run/lock
none                                 2.0G     0  2.0G   0% /run/shm
none                                 100M     0  100M   0% /run/user
overflow                             1.0M  148K  876K  15% /tmp
192.168.50.1:/Users/nha/repo/assets  233G  141G   93G  61% /var/www/assets
vagrant                              233G  141G   93G  61% /vagrant

So apparently / doesn`t have space anymore ? Isn't it weird since I have space in the other filesystems (or am I misreading something) ?

How do I get more space on my vm ?



Solution 1:[1]

You can increase space in your box, without losing data or creating new partitions.

  1. Halt your VM;

  2. Go to /home_dir/VirtualBox VMs

  3. Change file format from .vmdk to .vdi. Then use command from the answer above to increase space.

  4. Change the file extension back and change the file name.

  5. Attach an extended disk to your VM.

    VBoxManage storageattach <your_box_name> --storagectl "IDE Controller" --
    port 0 --device 0 --type hdd --medium new_extended_file.vmdk
    
  6. In your VirtualBox application go to Your_VM -> Settings -> Storage. Click on the controller and choose 'add new disk' below. Choose from existing disks the one you have just expanded.

Here's a step by step instruction how to expand the space in your vagrant box or virtual machine.

Solution 2:[2]

The easiest way to increase the size of the vagrant box is with the vagrant-disksize plugin.

In your vagrant root folder, run vagrant plugin install vagrant-disksize

Then add the new size to the Vagrantfile:

Vagrant.configure('2') do |config|
  ...
  config.disksize.size = '60GB'
end

Then vagrant halt and vagrant up.
vagrant reload will not work.

I have read that the plugin has issues shrinking disk size if you overshoot.

EDIT:
On Mac, this plugin also resized the partition within the Guest OS (Ubuntu in my case).
On Windows, Vagrant reserves the space on the host OS (it enlarges the disk), but you can't use the space until resizing the partition from within the Guest OS.
I used GParted, but other solutions look simpler, such as: https://nguyenhoa93.github.io/Increase-VM-Partition

Solution 3:[3]

I sometimes have to destroy the machine and build it up again which in my case free up quite a lot of space, you can do that by running

vagrant destroy

vagrant up

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Frits
Solution 2
Solution 3 ii iml0sto1