【vagrant】硬盘扩容
如题,笔者之前一直在使用vagrant作为虚拟机使用。
vagrant的好处自然不必说,只是有一天遇到了一个麻烦事——虚拟硬盘空间不!够!了!
笔者使用了df -h命令一看,结果发现,主硬盘(/dev/sda1)总空间居然只有10G,然而一般的系统镜像初始大小就超过9G。
在网上一查,发现vagrant其实最初设计定位是快速还原运行环境,于是vagrant一般情况下在虚拟机初始化阶段不会留出很足的主硬盘空间。
于是这就很尴尬了,用了大半年就发现空间不够了,甚至pip3 install都无法使用。
后来再一查,找到了一个亲测可行的解决方案——既然vagrant自身设定尴尬,那就直接通过vbox操作使之不尴尬!
准备工作
环境变量
在这次操作中,我们需要用到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空间。
接下来将硬盘文件转回原来的格式(其实直接使用vdi格式也可以),以及,建议不要直接覆盖原来的 vmdk硬盘文件,以作备份。
VBoxManage clonehd "new-virtualdisk.vdi" "resized.vmdk" --format vmdk
记录一下新vmdk文件的uuid信息。到这一步,带有原数据和新尺寸的硬盘就制作完毕了。
将新硬盘载入使用
替换原硬盘文件
虽然说是替换,不过还是建议将原来的vmdk文件进行一个备份。
字面意思,替换原文件
windows:
ren box-disk1.vmdk box-disk1-backup.vmdk
ren resized.vmdk box-disk1.vmdk
linux:
mv box-disk1.vmdk box-disk1-backup.vmdk
mv resized.vmdk box-disk1.vmdk
修改.box配置文件
其实替换完机子之后,还差最后一步。
打开原来的vmdk对应的box文件,将原来的vmdk的uuid信息全部替换为新vmdk文件的uuid。
要注意,可能有不止一处,一定要好好查找一下,保证替换完全。
大功告成
截图纪念:

可以看到,主硬盘现在已经扩大到了30G,再也不用担心空间不够用啦。
方法来源:修改Vagrant box磁盘大小
【vagrant】硬盘扩容的更多相关文章
- [linux]如何为Virtualbox虚拟硬盘扩容(转载)
前言 这个教程介绍如何为Virtualbox虚拟硬盘扩容,虚拟硬盘分为动态分配大小和固定虚拟硬盘,扩容的方法不一样: 如何为动态分配的Virtualbox虚拟硬盘扩容 如何为固定大小的Virtualb ...
- virtualbox硬盘扩容
https://blog.csdn.net/ouyang_peng/article/details/53261599 1. cmd界面进入virtualbox安装目录:cd C:\Program Fi ...
- EVE-NG硬盘扩容,存储海量镜像
EVE-NG硬盘扩容,存储海量镜像 来源 http://blog.51cto.com/sms1107/1928453 一.查看当前磁盘使用情况 /dev/mapper/eve--ng--vg-root ...
- linux 为动态分配的Virtualbox虚拟硬盘扩容
如何为动态分配的Virtualbox虚拟硬盘扩容 查看虚拟硬盘是否是动态分配大小 打开虚拟机的设置界面,在左侧栏点击存储.在存储树下面选择你的虚拟硬盘.在右边可以看见虚拟硬盘的信息.在下面可以看见,我 ...
- [技术博客] 【vagrant】硬盘扩容
同样,这也是少昂早年走过的坑,这里直接贴出少昂个人博客链接:https://www.cnblogs.com/HansBug/p/9447020.html PS:有一位经验丰富的后端大佬坐镇指挥是多么幸 ...
- linux服务器加硬盘扩容
from: http://bbs.chinaunix.net/thread-3613556-1-1.html 试验环境: vmware下,centos6,64位版本,原来系统默认分区,/dev/sda ...
- (转)fastdfs group通过添加硬盘扩容
通过给group的机器添加硬盘的方式,实现某个group的扩容. fastdfs在一台服务器支持多个store_path,每个store_path指向一个存储路径.url “M00/3F/E1/oYY ...
- [Linux] PHP程序员玩转Linux系列-腾讯云硬盘扩容挂载
1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...
- Oracle VM VirtualBox虚拟机内Linux系统硬盘扩容步骤(CentOS6.5)
1.首先获取要扩容的虚拟机的 UUID VBoxManage 改命令在C:\Program Files\Oracle\VirtualBox目录内,可先添加该目录到环境变量.C:\Users\yzkj- ...
随机推荐
- 【续】5年后,我们为什么要从 Entity Framework 转到 Dapper 工具?
前言 上一篇文章收获了 140 多条评论,这是我们始料未及的. 向来有争议的话题都是公说公的理,婆说婆的理,Entity Framework的爱好者对此可以说是嗤之以鼻,不屑一顾,而Dapper爱好者 ...
- SpringBoot通过RedisTemplate执行Lua脚本
如果你对Redis和Lua的关系不太清楚,请先阅读:Redis进阶之使用Lua脚本开发 1.RedisScript 首先你得引入spring-boot-starter-data-redis依赖,其次把 ...
- Java中数组和集合的foreach操作编译后究竟是啥
今天和同事在关于foreach编译后是for循环还是迭代器有了不同意见,特做了个Demo,了解一下. 是啥自己来看吧! public class Demo { public static void m ...
- Vue中循环的反人类设计
今天学习Vue到循环那里,表示真是不能理解Vue的反人类设计 具体看代码吧! <!DOCTYPE html> <html> <head> <meta char ...
- CentOS7 64位下MySQL5.7安装与配置(YUM)
1.配置YUM源 在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/ # 下载mysql源安装包 shell> wget ...
- javascript闭包以及闭包的作用
什么是闭包?———>是一个函数,一个可以访问其他函数内部数据的函数. 栗子一: function foo() { var a = 1; } function fn() { console.log ...
- bind:tap="onLike" 中不能添加参数 及 dataset 传值
<view bind:tap="onLike({{id}})"></view> //Component "pages/book-detail/bo ...
- WIN10解决:失败 – 检测到病毒文件下载失败问题
欢迎访问我的个人博客四个空格,本文永久链接移至:WIN10解决:失败 – 检测到病毒文件下载失败问题 这个是Windows防火墙的原因,直接按WINDOWS键,输入windows,窗口搜索:Windo ...
- python调试之pdb
一.PDB调试命令 pdb调试命令 完整命令 简写命令 描述 args a 列出当前函数的参数 break b <行号> 在某一行设置断点 break b <文件名>:< ...
- 如何获得select被选中option的value和text
如何获得select被选中option的value和text 一:JavaScript原生的方法 1:拿到select对象: var myselect=document.getElementById( ...