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

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

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.

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

xfs_grouwfs /dev/mapper/centos-root

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

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

参考文章:

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

Vagrant box 增加磁盘容量方法的更多相关文章

  1. VMware Workstation 12 增加磁盘容量 Windows Server 2012 系统

    1.安装虚拟机后,检查C盘容量大小,发现C盘现在的空间是59.9GB,如下图: 2.使用window+R键,出现运行窗口,输入‘cmd’——>‘cd C:\Program Files (x86) ...

  2. VMware Workstation 12 增加磁盘容量 Windows Server 2012 系统 扩展

    1.安装虚拟机后,检查C盘容量大小,发现C盘现在的空间是59.9GB,如下图: 2.使用window+R键,出现运行窗口,输入‘cmd’——>‘cd C:\Program Files (x86) ...

  3. kvm增加磁盘容量

    一.qcow2格式 查看镜像文件实际占用空间 ls -alh t.qcow2 加容量(只能加不能减) qemu-img resize t.qcow2 +1G 查看qcow2信息 qemu-img in ...

  4. Vagrant Box下载缓慢解决方法

    box 搜索页面:https://atlas.hashicorp.com/boxes/search example:homestead 1,选中box和版本,先根据提示安装 2,获取box下载地址,采 ...

  5. VMware虚拟机Linux增加磁盘空间的扩容操作

    转载自点击打开链接 用VMwareware虚拟机安装的Red Hat Enterprise Linux系统剩余空间不足,造成软件无法正常安装.如果重新装一遍系统就需要重新配置好开发环境和软件的安装配置 ...

  6. Linux中VMware虚拟机增加磁盘空间的扩容操作

    用VMwareware虚拟机安装的Red Hat Enterprise Linux系统剩余空间不足,造成软件无法正常安装.如果重新装一遍系统就需要重新配置好开发环境和软件的安装配置.通过上网搜集的资料 ...

  7. VMware 扩展磁盘容量

    背景:创建虚拟机后,发现原先定的磁盘容量不够了,这时候可以通过vmware扩展磁盘容量 步骤一 先关闭虚拟机,右键虚拟机设置:(我没关虚拟机,所以灰显了) 步骤二: 启动VMware环境下的Linux ...

  8. VMware虚拟机Linux中增加磁盘空间的扩容操作

    VMwareware虚拟机安装的Red Hat Enterprise Linux系统剩余空间不足,造成软件无法正常安装.如果重新装一遍系统就需要重新配置好开发环境和软件的安装配置.结合自己的实践,总结 ...

  9. 最简单的Linux虚拟机磁盘扩容方法

    思路:1.虚拟机增加磁盘容量: 2.将增加的磁盘容量增加到系统分区中: 准备阶段: 下载Gparted软件:https://sourceforge.net/projects/gparted/files ...

随机推荐

  1. UNITY3D 添加预制的方法

    预制文件(Prefabs)的做法 我这里需要的图片 在hierarchy 视图下新建一个2D object->sprite 然后设置这个sprite的背景为需要的图片 新建一个prefabs目录 ...

  2. bug解决思路——插入数据时,前台不展示数据

    积攒一下平时解决bug时的思路,以后若是一头乱麻时翻出来看看~ 一个bug五一之前就和现场在定位,直到今天才算是定位到问题. 所有bug,还是得重现出来才可以发现问题.现场说登记记录时数据没在前台展示 ...

  3. docker 启动镜像报 WARNING: IPv4 forwarding is disabled. Networking will not work.

    centos7 解决办法: # vi /etc/sysctl.conf 添加如下代码:     net.ipv4.ip_forward=1 重启network服务 # systemctl restar ...

  4. MariaDB知识点总结03--从主+多主集群

    一.从主架构 1.从主复制原理 从库生成两个线程,一个I/O线程,一个SQL线程: i/o线程去请求主库 的binlog,并将得到的binlog日志写到relay log(中继日志) 文件中:主库会生 ...

  5. layui 时间选择器 不要秒的选项

    通过修改 CSS 样式可以隐藏秒的选项 ++ .laydate-time-list{padding-bottom:0;overflow:hidden} .laydate-time-list>li ...

  6. JAVA实验报告及第八周总结

    JAVA第八周作业 实验报告六 实验一 编写一个类,在其main()方法中创建一个一维数组,在try字句中访问数组元素,使其产生ArrayIndexOutOfBoundsException异常.在ca ...

  7. RabbitMQ 的安装配置

    环境:Ubuntu16 linux系统,ERlang语言的源码包 :otp_src_22.0.tar.gz,rabbitMQ安装包:rabbitmq-server-generic-unix-3.7.1 ...

  8. 黑科技——树剖两次dfs转一次dfs!

    黑科技--树剖两次\(dfs\)转一次\(dfs\)! 重所周知,树链剖分通常是要\(dfs​\)两次的,就像这样: int Fa[N],dep[N],Sz[N],son[N]; void dfs1( ...

  9. c++学习笔记之类模板

    C++ 除了支持函数模板,还支持类模板(Class Template).函数模板中定义的类型参数可以用在函数声明和函数定义中,类模板中定义的类型参数可以用在类声明和类实现中.类模板的目的同样是将数据的 ...

  10. DashBoard-身份验证

    dashboard1.7.1版本之后,新增了用户登录认证的功能. 默认dashboard会跳转到登录页面: 我们可以看到dashboard提供了Kubeconfig和token两种登录方式,我们可以直 ...