之前一直使用vagrant作为虚拟机的作者,遇到了一项棘手的问题——虚拟硬盘空间不足。
使用df -h命令查看后,发现主硬盘(/dev/sda1)的总空间仅有10G,而通常系统镜像的初始大小就超过9G。
经查,vagrant的设计初衷是快速还原运行环境,因此在虚拟机初始化时不会分配足够的主硬盘空间。
这导致使用半年后,空间不够用,甚至无法执行pip3 install命令。
经过进一步研究,发现了一个有效的解决方案——通过vbox操作来解决vagrant的空间限制问题。
准备工作:
在本次操作中,需要使用virtualbox提供的vboxmanage命令。因此,首先需要将此命令添加到环境变量中。
在Windows系统下,将virtualbox的安装路径添加到path项中。在Unix系统下,操作类似。
记录原始硬盘信息:
输入以下命令:
vboxmanage showhdinfo "box-disk1.vmdk"
记录原硬盘的uuid,之后会用到。
制作扩容版硬盘:
首先,克隆原硬盘:
vboxmanage clonehd "box-disk1.vmdk" "new-virtualdisk.vdi" --format vdi
将硬盘克隆为vdi格式后,开始扩容操作:
vboxmanage modifyhd "new-virtualdisk.vdi" --resize 30720
其中30720单位为MB,表示30G空间。
jQuery硬盘容量使用情况百分比特效
jQuery硬盘容量使用情况百分比特效
33 查看详情
接下来,将硬盘文件转换回原来的格式(也可以直接使用vdi格式),建议不要直接覆盖原来的vmdk硬盘文件,以备份:
VBoxManage clonehd "new-virtualdisk.vdi" "resized.vmdk" --format vmdk
记录新vmdk文件的uuid信息。至此,带有原数据和新尺寸的硬盘制作完成。
将新硬盘载入使用,替换原硬盘文件:
虽然是替换,建议先备份原来的vmdk文件。
Windows系统:
ren box-disk1.vmdk box-disk1-backup.vmdkren resized.vmdk box-disk1.vmdk
Linux系统:
mv box-disk1.vmdk box-disk1-backup.vmdkmv resized.vmdk box-disk1.vmdk
修改.box配置文件:
替换完硬盘后,还需最后一步。
打开原vmdk对应的box文件,将原来的vmdk的uuid信息全部替换为新vmdk文件的uuid。注意,可能有多个地方需要替换,确保替换完全。
大功告成截图纪念:

可以看到,主硬盘现在已扩大到30G,再也不用担心空间不够用了。
方法来源:修改Vagrant box磁盘大小
以上就是【vagrant】硬盘扩容的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/510825.html
微信扫一扫
支付宝扫一扫