原创

动态扩容Linux根目录(从其他分区分给根目录)

确保其他分区有足够的空间用来分给根目录/。使用以下命令查看

df -h

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

扩容根目录的思路如下

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

备份/home分区内容

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

tar cvf /run/home.tar /home

卸载/home

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

fuser -km /home

然后,卸载

umount /home

删除/home所在的逻辑卷lv

lvremove /dev/mapper/centos-home

选择y

扩大根目录所在的逻辑卷,这里增大1T

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

扩大/文件系统

xfs_growfs /dev/mapper/centos-root


注意:
新版的xfs_growfs命令后面的参数需要为文件系统挂载点,而非文件系统本身。
如果出现以下错误信息,xfs_growfs后面的参数改为文件系统挂载点。

xfs_growfs:/dev/mapper/centos-root is not a mounted XFS filesystem

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

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

lvcreate -L 2.5T -n/dev/mapper/centos-home

创建文件系统

mkfs.xfs  /dev/mapper/centos-home

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

mount /dev/mapper/centos-home

恢复/home目录的内容

tar xvf /run/home.tar -C /

删除/run下面的备份

rm -rf /run/home.tar
正文到此结束