以Centos7为例 Low Disk Space on “Filesystem root”

缘由:
某一天打开了VirtualBox虚拟机, 屏幕右上角有了如图提示,磁盘空间不足:

设置根rem 设置根目录tvbox文件夹的token_逻辑卷

于是查看磁盘概况:df -h

设置根rem 设置根目录tvbox文件夹的token_根目录_02


如上图我们看到,一个逻辑卷挂载的/根目录,磁盘使用率已经100%了,必须要马上扩充,LVM的存在,使得我们在线扩充磁盘空间变的非常简单。

1. 从宿主机get多余的磁盘空间

Virtual Box在页面中似乎不能调整大小,我们可以定位到磁盘的vdi文件,使用命令去扩展它。

  • 定位到vdi文件:

设置根rem 设置根目录tvbox文件夹的token_根目录_03

  • 扩展到20G:

设置根rem 设置根目录tvbox文件夹的token_centos_04

  • 进入虚拟机中check

设置根rem 设置根目录tvbox文件夹的token_centos_05



  • 简单说明下,我们看到fdisk命令显示磁盘大小已经变成了21G,sd2的End项,展示的sector明显小于图中标红的40960000(20G),所以我们扩充的磁盘并没有被分区,所以接下来我们应该给这部分新增加的磁盘分区,扩展挂载到根目录的逻辑卷(LV)。

2 制作物理卷PV,并扩充卷组VG

这里分多步完成:

  • 看下逻辑卷空间不足的缘由

设置根rem 设置根目录tvbox文件夹的token_设置根rem_06



  • 这里看到,物理卷的最小存储单元PE的可用数量已经变成0了,
  • 创建新分区

设置根rem 设置根目录tvbox文件夹的token_根目录_07



  • 这里我省着用,先给新建一个5G的分区,然后wq保存退出。
  • 创建PV 这里要reboot now,重启电脑 并且把磁盘给格式化了。mkfs.ext4 /dev/sda3 千万不要忘记。

设置根rem 设置根目录tvbox文件夹的token_根目录_08

  • 扩展VG和resize lv vgextend centos /dev/sda3lvextend -l +1249 /dev/mapper/centos-root

设置根rem 设置根目录tvbox文件夹的token_centos_09

  • 此时df 命令发现还是没有任何变化,原因是我们还没有对它初始化呢。
    由于我们扩展的是根目录,让我们先看下,/它的文件系统格式吧:
    cat /etc/fstab | grep centos-root xsf。
    所以合适的扩展命令就是:
    xfs_growfs /dev/mapper/centos-root 并不是 resize2fs 至此,你敲下df -h 就看到我们的/可用空间扩大了5G,LVM的确很好用。