动态扩容Linux根目录 (解决/dev/mapper/centos-root 占用了过高问题)
使用df -h命令查看,发现/根目录的剩余空间。
使用du -h -x --max-depth=1 查看哪个目录占用过高,对于过高目录中的内容适当删减腾出一些空间
具体方法
1. 首先,必须确保其他分区有足够的空间用来分给根目录/。可以使用以下命令查看:
//查看占用空间
$ df -h
//查看占用inode节点
$ df -i
2. 扩容根目录的思路如下:
将/home文件夹备份,删除/home文件系统所在的逻辑卷,增大/文件系统所在的逻辑卷,增大/文件系统大小,最后新建/home目录,并恢复/home文件夹下的内容。
3. 备份/home分区内容
这里需要选一个能够容纳下/home文件夹大小的分区,可以看到/run剩余空间为32G,因此,我们将/home备份到/run下面。
$ sudo tar cvf /run/home.tar /home
4. 卸载/home
(选择性操作,可以不做,无影响)要先终止所有使用/home文件系统的进程,这里要注意不要在/home目录下执行下面的操作:
$ sudo fuser -km /home
无fuser命令
yum install psmisc -y
然后,卸载:
$ sudo umount /home
5. 删除/home所在的逻辑卷lv:
$ sudo lvremove /dev/mapper/centos-home
选择y。
6. 扩大根目录所在的逻辑卷,这里增大1T:
$ sudo lvextend -L +1T /dev/mapper/centos-root
7. 扩大/文件系统:
$ sudo xfs_growfs /dev/mapper/centos-root
8. 重建/home文件系统所需要的逻辑卷:
由于刚才我们分出去1.0T,因此这里创建的逻辑卷大小为2.5T.
$ sudo lvcreate -L 2.5T -n/dev/mapper/centos-home
9.创建文件系统:
$ sudo mkfs.xfs /dev/mapper/centos-home
10. 将新建的文件系统挂载到/home目录下:
$ sudo mount /dev/mapper/centos-home
11. 恢复/home目录的内容:
$ sudo tar xvf /run/home.tar -C /
12. 删除/run下面的备份:
$ sudo rm -rf /run/home.tar