如题,笔者之前一直在使用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】硬盘扩容的更多相关文章

  1. [linux]如何为Virtualbox虚拟硬盘扩容(转载)

    前言 这个教程介绍如何为Virtualbox虚拟硬盘扩容,虚拟硬盘分为动态分配大小和固定虚拟硬盘,扩容的方法不一样: 如何为动态分配的Virtualbox虚拟硬盘扩容 如何为固定大小的Virtualb ...

  2. virtualbox硬盘扩容

    https://blog.csdn.net/ouyang_peng/article/details/53261599 1. cmd界面进入virtualbox安装目录:cd C:\Program Fi ...

  3. EVE-NG硬盘扩容,存储海量镜像

    EVE-NG硬盘扩容,存储海量镜像 来源 http://blog.51cto.com/sms1107/1928453 一.查看当前磁盘使用情况 /dev/mapper/eve--ng--vg-root ...

  4. linux 为动态分配的Virtualbox虚拟硬盘扩容

    如何为动态分配的Virtualbox虚拟硬盘扩容 查看虚拟硬盘是否是动态分配大小 打开虚拟机的设置界面,在左侧栏点击存储.在存储树下面选择你的虚拟硬盘.在右边可以看见虚拟硬盘的信息.在下面可以看见,我 ...

  5. [技术博客] 【vagrant】硬盘扩容

    同样,这也是少昂早年走过的坑,这里直接贴出少昂个人博客链接:https://www.cnblogs.com/HansBug/p/9447020.html PS:有一位经验丰富的后端大佬坐镇指挥是多么幸 ...

  6. linux服务器加硬盘扩容

    from: http://bbs.chinaunix.net/thread-3613556-1-1.html 试验环境: vmware下,centos6,64位版本,原来系统默认分区,/dev/sda ...

  7. (转)fastdfs group通过添加硬盘扩容

    通过给group的机器添加硬盘的方式,实现某个group的扩容. fastdfs在一台服务器支持多个store_path,每个store_path指向一个存储路径.url “M00/3F/E1/oYY ...

  8. [Linux] PHP程序员玩转Linux系列-腾讯云硬盘扩容挂载

    1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...

  9. Oracle VM VirtualBox虚拟机内Linux系统硬盘扩容步骤(CentOS6.5)

    1.首先获取要扩容的虚拟机的 UUID VBoxManage 改命令在C:\Program Files\Oracle\VirtualBox目录内,可先添加该目录到环境变量.C:\Users\yzkj- ...

随机推荐

  1. 28 Python初学(事件驱动模型)

    参考文章地址:http://www.cnblogs.com/yuanchenqi/articles/5722574.html 两个步骤: recvfrom 系统调用 : 拷贝数据 从kernel到数据 ...

  2. Web前端之iframe详解

    iframe基本内涵 通常我们使用iframe直接直接在页面嵌套iframe标签指定src就可以了. <iframe src="demo_iframe_sandbox.htm" ...

  3. Python-包-65

    包 包是一种通过使用‘.模块名’来组织python模块名称空间的方式. 1. 无论是import形式还是from...import形式,凡是在导入语句中(而不是在使用时)遇到带点的,都要第一时间提高警 ...

  4. CSS如何把一张横向的长图变成竖向的?

    前言: 有时候做项目过程中,设计的是一张横向的长图,但是我们需要在手机端观看的时候,也想把手机横着观看,这样视野更宽阔,如何解决这个问题呢? html <div class="imgB ...

  5. centos7之zabbix的web检测

    一.web监控 Web scenarios(Web 场景)是用来监控Web程序的,可以监控到Web程序的下载速度.返回码及响应时间,还支持把一组连续的Web动作作为一个整体进行监控. 1.web监控的 ...

  6. 其他综合-内网下Yum仓库搭建配置

    内网下Yum仓库搭建配置 1.实验环境 虚拟机环境: VMware 12 版本虚拟机 网络环境: 内网 IP 段:172.16.1.0 外网 iP 段(模拟):10.0.0.0 实验基础:(能够上网, ...

  7. [模板] 2-SAT 问题

    简介 2-SAT (2-satisfiability) 问题形如: 给定一些变量 \(x_i \in \{true, false\}\); 给定一些一元/二元约束条件, 如 \(x_i \land \ ...

  8. Java 中数字和字符串拼接的问题

    注意细节 字符是char 类型,字符串是String 类型1.数字拼接char,得到的还是数字,相当于和它的ASCII编码相加(如果定义成String 会编译错误)2.数字拼接String,得到的是S ...

  9. adb bat 执行滑动事件

    chcp 65001 @echo off echo 开始滑动 set str =0 :start adb shell input swipe 100 150 100 100 choice /t 1 / ...

  10. Re.多项式求逆

    前言 emmm暂无 多项式求逆目的 顾名思义 就是求出一个多项式的摸xn时的逆 给定一个多项式F(x),请求出一个多项式G(x),满足F(x)∗G(x)≡1(modxn),系数对998244353取模 ...