zoukankan      html  css  js  c++  java
  • linux 根目录扩容

    之前搭建了一个CentOS(7.0, x64)的VM,一直没留意它的硬盘空间。昨天,系统突然弹出警示,说 根目录 空间不足了。 
    这样的话,就只能给它增加空间呗。

    我自己其实已经增加过硬盘空间了,但是为了写这篇博客,我再一次添加了10GB的硬盘

    在虚拟机关机的前提下,先通过VMware给虚拟机增加一些硬盘空间,如下图: 

    点击“扩展”之后,稍等一会,等待VMware处理完。 
    处理完了之后,VMware会提示你,虽然扩展了硬盘空间,但须你进系统之后,进行分区等操作之后才能使用。 
     
    看到这个提示,我是崩溃的。因为我自己根本不会在Linux下进行分区啊,它不像Windows分区或者扩展那么简单。这可咋整呢?没办法,只有两条路可以走:要么将新增加的硬盘添加至系统中,要么重新创建一个新的虚拟机。 
    很明显第二条路比第一条路更难走。所以,只能含着泪选择第一条路。 
    但是,在这条路上,我不是一个人在奋斗,我在网上找到了很好的指南,有:

    1. http://blog.sina.com.cn/s/blog_967817f20102v2a6.html
    2. http://www.cnblogs.com/yorian/archive/2012/02/06/2340438.html
    3. http://stackoverflow.com/questions/26305376/resize2fs-bad-magic-number-in-super-block-while-trying-to-open
    4. http://stackoverflow.com/questions/13362910/trying-to-resize2fs-eb-volume-fails

    其中,第1个链接,里面介绍了 LVM 等相关的知识;第2个链接,是我本次主要参照的链接,按照里面的命令进行了操作;第3条是遇到的一个问题找到的解决方案。第4条是第3条所提及到的解决方法。

    下面开始Linux中操作。请以root用户进行操作

    先进行分区。关于分区,可以参照上面的第2个链接进行。但是,我在登陆系统之后,使用了图形化的操作。

    打开系统的“磁盘”工具

     

    从图中可以看到,新增加的硬盘空间了

    df -hl看到目前的空间情况

    用“fdisk -l”查看分区情况

    点击上图中的“+”号,进行分区

    调整分区类型


    fdisk -l再次查看分区情况

     
    从图中可以看到,新增加的分区了。

    到此为止,我们就新建了一个分区/dev/sda4,此时我们已经可以通过“挂载”命令(即mount)来使用这个新的空间。但是对于我,这并不能满足我的需求,因为本意想用它来扩展根目录的空间的。而由于目前已经有分区挂载到根目录“/”上了,所以,无法再次将新增的分区挂载到“/”了,只能通过扩展已知挂载到“/”的分区的容量来达到扩展“/”的空间的目的了。(这句描述听起来很是拗口啊 :))

    lvs查看当前的逻辑卷

     
    请记住上图中VG列的内容(即“centos”),下面会用到

    pvcreate将新增的分区创建一个物理卷

    vgextend将新建的物理卷追加到上面让你们记住的VG

     
    虽然系统提示extend成功了,但是这个时候,“/”的容量还没有增加。 
    可以通过df -hl查看 

    vgdisplay查看系统当前的VG

     
    主要查看Free PE / Size 2696 / 10.53 GiB,说明我们最多可以有10.53GB的扩充空间。

    lvextend给根目录扩展容量

     
    这里需要注意一下两个问题:

    1. lvextend的最后两个参数的值: 
      • “/dev/centos/root”:请看上面df -hl命令的截图,这个值就是该截图中 挂载点“/”对应的“文件系统”的值
      • /dev/sda4:这个就是上面新建的分区啦
    2. 上面的截图中报了一个错:Insufficient free space: 2696 extents needed, but only 2559 available,这个说明,虽然上面说有“10.53GB”的可用空间,但是我们无法全部使用,只好在lvextend命令中,减少一点了,如下图: 

    最后一步,告诉系统“/”的容量有增加了。 
    如果参照最上面的第2个链接的话,它使用的是“resize2fs”命令,我使用了之后,系统会报错: 

    后来经过调查,在stackoverflow上找到了一个解决方法,也就是上面的第3和第4个链接。 
    按照它们的提示,先安装了xfsprogs.x86_64,然后:

    xfs_growfs通知系统“/”的容量增加了

    最后,用df -hl查看一下空间情况

    最后,最好重启一下虚拟机哦 :)))))

  • 相关阅读:
    Distributed System
    APP专项测试之兼容性测试
    面试如何正确谈薪?
    跳槽季,如何做好技术面试准备?
    Appium基础
    设置安装程序位置
    获取文件版本号
    28-PV&PVC
    Docker-文件拷贝
    Kubemark压测常用命令
  • 原文地址:https://www.cnblogs.com/gmhappy/p/9472437.html
Copyright © 2011-2022 走看看