如题,笔者之前一直在使用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. P4013 数字梯形问题 网络流

    题目描述 给定一个由 nn 行数字组成的数字梯形如下图所示. 梯形的第一行有 mm 个数字.从梯形的顶部的 mm 个数字开始,在每个数字处可以沿左下或右下方向移动,形成一条从梯形的顶至底的路径. 分别 ...

  2. Ubuntu通过apt-get安装指定版本和查询软件源有多少个版本

    一.通过apt-get安装指定版本 apt-get install <<package name>>=<<version>> 二.查询指定软件有多少个版 ...

  3. 《JavaScript设计模式与开发实践》笔记第八章 发布-订阅模式

    第八章 发布-订阅模式 发布-订阅模式描述 发布-订阅模式又叫观察者模式,它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知. 发布-订阅模式可以广泛应用于 ...

  4. Neutron路由篇:L3 agent+Namespace

    Neutron 的路由服务是由 l3 agent 提供的. 除此之外,l3 agent 通过 iptables 提供 firewall 和 floating ip 服务.     l3 agent 需 ...

  5. redis 开启远程访问权限

    1 开启redis端口访问权限 redis默认的端口是6379,要远程访问redis服务,确保服务器上的6379端口打开. 1.1 查看打开的端口 /etc/init.d/iptables statu ...

  6. linux 上 mysql 的使用

    1.登录mysql 第一次登录 没有密码 可以直接输入 mysql 有密码可以使用  mysql -u root -p  回车会提示需要输入密码  -u 用户名 -p 密码 这个mysql文件在/us ...

  7. 面试题(转载csdn)

    转自https://blog.csdn.net/linzhiqiang0316/article/details/80473906 相关概念 面向对象的三个特征 封装,继承,多态,这个应该是人人皆知,有 ...

  8. 正则化(Regularization)本质

    参考: http://www.cnblogs.com/maybe2030/p/9231231.html https://blog.csdn.net/wsj998689aa/article/detail ...

  9. 牛客网 272B Xor Path(树上操作)

    题目链接:Xor Path 题意:每个顶点的点权为Ai,任意两点路径上点权异或和为Path(i,j),求所有Path(i,j)和. 题解:考虑每个顶点被用到的次数,分以下三种情况: 1.本身和其他顶点 ...

  10. uploadify多文件上传实例--C#

    下载uploadify文件 http://www.uploadify.com/ HTML(视图) <html lang="zh-cn"> <head> &l ...