How to increase disk size of VM in VirtualBox and Vagrant
5908 단어 VirtualBox
The problem
I have a VM with default disk size set to 10Gb, it's too small after running some days, and I have to increase its' size to continue to work in it.
What I have tried
I'm using Vagrant indeed, but not directly operate VirtualBox.
So first I tried
vagrant-disksize
plugin, with this: config.disksize.size = '30GB'
But failed to increase the disk size:
==> default: Running 'pre-boot' VM customizations...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.
Command: ["modifymedium", "/Users/bin/VirtualBox VMs/vmm_default_1580704342870_60830/ubuntu-xenial-16.04-cloudimg.vmdk", "--resize", "30720"]
Stderr: 0%...
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage: error: Failed to resize medium
VBoxManage: error: Resizing to new size 32212254720 is not yet supported for medium '/Users/bin/VirtualBox VMs/vmm_default_1580704342870_60830/ubuntu-xenial-16.04-cloudimg.vmdk'
VBoxManage: error: Details: code VBOX_E_NOT_SUPPORTED (0x80bb0009), component MediumWrap, interface IMedium
VBoxManage: error: Context: "RTEXITCODE handleModifyMedium(HandlerArg *)" at line 816 of file VBoxManageDisk.cpp
After that I also tried using
VBoxManage modifyhd 49ae1c84-ceba-44c3-8ad3-8299474d89dd --resize 20480
, but failed too, with the same error messages:0%...
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage: error: Failed to resize medium
VBoxManage: error: Resizing to new size 21474836480 is not yet supported for medium '/Users/bin/VirtualBox VMs/vmm_default_1580704342870_60830/ubuntu-xenial-16.04-cloudimg.vmdk'
VBoxManage: error: Details: code VBOX_E_NOT_SUPPORTED (0x80bb0009), component MediumWrap, interface IMedium
VBoxManage: error: Context: "RTEXITCODE handleModifyMedium(HandlerArg *)" at line 816 of file VBoxManageDisk.cpp
The solution
So I had to do more research using Google, and find the right solution. The reason is that disk with
vmdk
format dose not support change disk size, first you should convert it to vdi
format and then change the disk size( but only support for increasing), and finally convert it back to vmdk
formt.Here are all steps.
Convert vmdk to vdi disk (by clone new disk)
$ VBoxManage clonehd "/Users/bin/VirtualBox VMs/vmm_default_1580704342870_60830/ubuntu-xenial-16.04-cloudimg.vmdk" "/Users/bin/VirtualBox VMs/vmm_default_1580704342870_60830/ubuntu-xenial-16.04-cloudimg.vdi" --format vdi
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone medium created in format 'vdi'. UUID: 72691a55-83e3-4f65-846b-0fec2c6599db
Resize vdi disk
$ VBoxManage modifyhd "/Users/bin/VirtualBox VMs/vmm_default_1580704342870_60830/ubuntu-xenial-16.04-cloudimg.vdi" --resize 20480
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Convert vdi to vmdk disk (by clone new disk)
$ VBoxManage clonehd "/Users/bin/VirtualBox VMs/vmm_default_1580704342870_60830/ubuntu-xenial-16.04-cloudimg.vdi" "/Users/bin/VirtualBox VMs/vmm_default_1580704342870_60830/ubuntu-xenial-16.04-cloudimg-new.vmdk" --format vmdk
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone medium created in format 'vmdk'. UUID: 3ae8ed1e-d0fb-438a-8140-80625a043f81
Confirm new disk size
Using
VBoxManage list hdds
command(only showing new created disk):UUID: 3ae8ed1e-d0fb-438a-8140-80625a043f81
Parent UUID: base
State: locked write
Type: normal (base)
Location: /Users/bin/VirtualBox VMs/vmm_default_1580704342870_60830/ubuntu-xenial-16.04-cloudimg-new.vmdk
Storage format: vmdk
Capacity: 20480 MBytes
Encryption: disabled
Attach new created disk to VM
In VirtualBox main window, select the VM -> Settings -> Storage -> Disk, you will see something like this:
Click hard disk icon in the
Hard Disk
item, then click "Choose a disk file"to chose the new vmdk file, finally click Ok to save the settings.After that using
vagrant up
, after VM booted, ssh to it and check the disk size in VM:
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 20G 9.5G 9.9G 50% /
That's all.
References
Reference
이 문제에 관하여(How to increase disk size of VM in VirtualBox and Vagrant), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/liubin/items/0f10d91323f75f5280bf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)