Vagrant box 增加磁盘容量方法

 

一直以来都是以vagrant+docker作为开发环境,可是久而久之,原Box自带的8G容量就捉襟见肘了。时不时需要手动删除一些东西。

dfhold

Virtualbox 本身只支持vdi硬盘文件格式的扩容,对vmdk 格式的却不支持。但是却提供vmdk到vdi格式的转化,正好可以利用这一功能进行扩容。

1. 关闭虚拟机, 从Virtualbox页面查看硬盘文件地址(选中虚拟机->右键->设置->存储)。进到文件所在目录后执行:

$ VBoxManage clonehd box-disk1.vmdk box-disk1.vdi –format VDI

2. 给vdi格式硬盘文件扩容

$ VBoxManage modifyhd box-disk1.vdi –resize 20000

3. 从Virutalbox存储界面删除原硬盘文件,然后再加入新的VDI格式硬盘文件

4. vagrant up启动虚拟机,然后vagrant ssh进入

5. 利用cfdisk工具创建主分区,谨记选择格式为Linux LVM (8e)

$ sudo cfdisk /dev/sda

cfdisk

6. 利用pvcreate命令给新的分区创建物理卷

$ sudo pvcreate /dev/sda3
successfully created

7. 查看VG Name,我自己的VG Name是centos

$ sudo pvdisplay | grep "VG Name"
VG Name centos

8. 将新分区扩展到centos这个组

$ vgextend centos /dev/sda3
Volume group "centos" sucessfully extended

9. 扩展逻辑分区

$ lvextend /dev/mapper/centos-root /dev/sda3

10. resize并且生效

$ resize2fs /dev/mapper/centos-root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/debian-605/root is mounted on /; on-line resizing required old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/debian-605/root to 4937728 (4k) blocks.
The filesystem on /dev/debian-605/root is now 4937728 blocks long.

centos 7下,这一步会出错

resize2fs 1.42.9 (28-Dec-2013)
resize2fs: Bad magic number in super-block while trying to open /dev/mapper/centos-root
Couldn't find valid filesystem superblock.

resize2fs

这时,只需要使用xfs_growfs命令替换就行了

xfs_grouwfs /dev/mapper/centos-root

至此,大分告成。vagrant reload重启虚拟机查看效果
dfh

于是乎,妈妈再也不用担心我的虚拟机磁盘没容量了。

参考文章:

https://gist.github.com/christopher-hopper/9755310
//blog.lenss.nl/2012/09/resize-a-vagrant-vmdk-drive/

posted @ 2019-05-11 10:04  brady-wang  阅读(2871)  评论(0编辑  收藏  举报