动态扩容Linux根目录,解决/dev/mapper/centos-root 占用过高问题

28 阅读1分钟
  1. 首先,必须确保其他分区有足够的空间用来分给根目录/。可以使用以下命令查看:

$ sudo df -h

image.png

可以看到,这里home目录空闲的空间还很大,因此,我们将home的空间分给根目录一些。

  1. 扩容根目录的思路如下:

将/home文件夹备份,删除/home文件系统所在的逻辑卷,增大/文件系统所在的逻辑卷,增大/文件系统大小,最后新建/home目录,并恢复/home文件夹下的内容。

  1. 备份/home分区内容

这里需要选一个能够容纳下/home文件夹大小的分区,可以看到/run剩余空间为32G,因此,我们将/home备份到/run下面。

$ sudo tar cvf /run/home.tar /home
4. 卸载/home

要先终止所有使用/home文件系统的进程,这里要注意不要在/home目录下执行下面的操作:

$ sudo fuser -km /home
然后,卸载:

$ sudo umount /home
5. 删除/home所在的逻辑卷lv:

$ sudo lvremove /dev/mapper/centos-home
选择y。

image.png

若出现Logical volume centos/home contains a filesystem in use,则先运行

fuser -m -v -k /home

此时可能会自动注销登录,重新登录,继续运行

lvremove /dev/mapper/centos-home
  1. 扩大根目录所在的逻辑卷,这里增大1T:

$ sudo lvextend -L +1T /dev/mapper/centos-root

image.png

  1.  扩大/文件系统:

$ sudo xfs_growfs /dev/mapper/centos-root

image.png

  1. 重建/home文件系统所需要的逻辑卷:

由于刚才我们分出去2.0T,因此这里创建的逻辑卷大小为2T.

$ sudo lvcreate -L 2T -n/dev/mapper/centos-home

image.png

9.创建文件系统:

$ sudo mkfs.xfs  /dev/mapper/centos-home

image.png

  1. 将新建的文件系统挂载到/home目录下:

$ sudo mount /dev/mapper/centos-home
11. 恢复/home目录的内容:

$ sudo tar xvf /run/home.tar -C /home

  1. 删除/run下面的备份:
    $ sudo rm -rf /run/home.tar

  2. df -h 重新查看空间分布,可见 /dev/mapper/centos-root 空间已经扩大 2T

image.png

参考:blog.csdn.net/fly910905/a…