动态扩容Linux根目录:/dev/mapper/centos-home分配部分空间给/dev/mapper/centos-root(/dev/mapper/centos-root经常会满,可是/dev/mapper/centos-home很空)
参考https://blog.csdn.net/u013431916/article/details/80548069
1. 必须确保其他分区有足够的空间用来分给根目录/。可以使用以下命令查看:
df -h
可以看到,这里home目录空闲的空间还很大,因此,我们将home的空间分给根目录一些。可以看到/dev/mapper/centos-root是50G,/dev/mapper/centos-home有800G
2. 扩容根目录的思路如下:
将/home文件夹备份,删除/home文件系统所在的逻辑卷,增大/文件系统所在的逻辑卷,增大/文件系统大小,最后新建/home目录,并恢复/home文件夹下的内容。
3. 备份/home分区内容
这里需要选一个能够容纳下/home文件夹大小的分区,网上说因为看到run目录下有32G,所以直接放这个目录下了,我备份完之后也没报错,没注意看这个大小
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。
当我执行这一步的时候,一直提示的是Logical volume centos/home contains a filesystem in use.,网上搜的解决办法太麻烦,尝试重复执行了命令导致服务器被重启后,再次执行上面的操作就出现了输入y的提示
6. 扩大根目录所在的逻辑卷,这里增大100G:
sudo lvextend -L +100G /dev/mapper/centos-root
7. 扩大/文件系统:
sudo xfs_growfs /dev/mapper/centos-root
8. 重建/home文件系统所需要的逻辑卷:
由于刚才我们分出去100G,因此这里创建的逻辑卷大小为700G
sudo lvcreate -L 700G -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
13、再次查看磁盘存储df -h