zoukankan      html  css  js  c++  java
  • vagrant box centos7硬盘扩容【不删除原数据】

    笔者之前一直在使用vagrant作为虚拟机使用。

    vagrant的好处自然不必说,只是有一天遇到了一个麻烦事——虚拟硬盘空间不!够!了!

    笔者使用了df -h命令一看,结果发现,主硬盘(/dev/sda1)总空间居然只有10G,然而一般的系统镜像初始大小就超过9G。

    在网上一查,发现vagrant其实最初设计定位是快速还原运行环境,于是vagrant一般情况下在虚拟机初始化阶段不会留出很足的主硬盘空间。

    准备工作

    环境变量

    在这次操作中,我们需要用到virtualbox提供的vboxmanage命令。所以我们首先需要将此命令添加到环境变量中。

    在windows下的操作,就是将virtualbox的安装路径添加至path项。unix系统中应该类似。

    设置教程:https://www.cnblogs.com/-mrl/p/13931641.html

    打开box目录,cmd切换到该目录

    记录原始硬盘信息

    输入如下命令

    vboxmanage showhdinfo centos-vm-disk1.vmdk

    记录下原硬盘的uuid

    制作扩容版硬盘

    首先是将原硬盘进行克隆操作

    vboxmanage clonehd "centos-vm-disk1.vmdk" "new-virtualdisk.vdi" --format vdi

    将硬盘克隆成了vdi格式后,就可以开始下一步的扩容操作了:

    vboxmanage modifyhd "new-virtualdisk.vdi" --resize 30720

    其中·30720单位为MB,即表示30G空间。81920则为80G

    接下来将硬盘文件转回原来的格式,以及建议不要直接覆盖原来的 vmdk硬盘文件,以作备份。

    VBoxManage clonehd "new-virtualdisk.vdi" "resized.vmdk" --format vmdk

    记录一下新vmdk文件的uuid信息。到这一步,带有原数据和新尺寸的硬盘就制作完毕了。

    以上步骤截图:

    使用新制造硬盘替换原硬盘重新挂载磁盘到虚拟机

    VBoxManage storageattach 16c94808-3de9-4de5-8918-d8b875fbc5e9 --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium resized.vmdk

    "SATA Controller" 可以从vboxmanage showvminfo 16c94808-3de9-4de5-8918-d8b875fbc5e9查看
    16c94808-3de9-4de5-8918-d8b875fbc5e9 是容器名称可以从vboxmanage list vms查看

    将新硬盘载入使用

    重新启动虚拟机

    vagrant reload #重新开启虚拟机
    vagrant ssh # 进入虚拟机

    查看磁盘,使用fdisk分区扩容

    sudo fdisk -l
    sudo fdisk /dev/sda
    按p显示分区表,默认是 sda1 和 sda2。
    按n新建主分区。
    按p设置为主分区。
    输入3设置为第三分区。
    输入一次回车设置默认磁盘位置。
    再输入一次回车设置默认磁盘位置。
    输入t改变分区格式
    输入3选择第三分区
    输入8e格式成LVM格式
    输入w执行保存

    重启虚拟机

    sudo reboot

    以上步骤截图

    再次登入虚拟机 

    查看【将system 类型需是Linux LVM】

    sudo fdisk -l

    利用pvcreate命令给新的分区创建物理卷

    sudo pvcreate /dev/sda3

    查看VG Name,我自己的VG Name是cl

    sudo pvdisplay | grep "VG Name"

    查看卷组,将新分区扩展到cl这个组

    sudo vgdisplay
    sudo vgextend cl /dev/sda3

    扩展逻辑分区

    sudo lvextend /dev/mapper/cl-root /dev/sda3

    更新文件系统,resize并且生效

    centos6

    sudo resize2fs /dev/mapper/cl-root

    centos7

    sudo xfs_growfs /dev/mapper/cl-root

    以上截图

     

     回到物理主机,可将原来的镜像删除,不然站存储空间【老的vmdk和新建的vdi文件】

    大功告成

    vagrant reload重启虚拟机查看效果

    未扩容前截图:

     扩容后截图纪念【扩容到80G】:

     

  • 相关阅读:
    windows10环境运用SSH和SwitchySharp自由翱翔
    Windows10 Virtualization Technology虚拟化技术功能
    [转]docker 基本原理及快速入门
    通俗易懂介绍机器学习与深度学习的差别
    对于python setup.py install安装的包如何卸载
    在Ubuntu上安装boost库[转]
    word2vec相关资源
    ubuntu16.04 LTS Server 安装mysql phpmyadmin apache2 php5.6环境
    tmux配置与用法整理
    Oracle学习笔记:LOB大数据字段类型
  • 原文地址:https://www.cnblogs.com/-mrl/p/13931893.html
Copyright © 2011-2022 走看看