1 查看磁盘空间
首先确保/dev/mapper/centos-home有足够的空间分配给根目录,可以使用命令查看:df -h (下图是我迁移完之后整理的)
可以看到home目录还是比较空闲的,因此,可以将/home空间的分配给根目录一些。
根目录的对应关系 (如下) 这个路径是之后的命令中要用到的
/ 对应的是 /dev/mapper/centos_192-root
/home 对应的是 /dev/mapper/centos_192-home
2 扩容思路
将/home文件夹备份,删除/home文件系统所在的逻辑卷,增大/文件系统所在的逻辑卷,增大/文件系统大小,最后新建/home目录,并恢复/home文件夹下的内容。
2.1 备份/home分区内容
需要选一个能够容纳下/home文件夹大小的分区,因为当前/home中的文件比较小,所以此时我们随便找个目录即可,使用如下命令:tar cvf /run/home.tar /home
2.2 删除/home
2.2.1 卸载/home
首先要终止所有使用/home文件系统的进程,这里要注意不要在/home目录下执行下面的操作:
fuser -km /home
然后卸载:
umount /home
2.2.2 删除/home所在的逻辑卷lv
lvremove /dev/mapper/centos-home
当执行这一步的时候,一直提示的是Logical volume centos/home contains a filesystem in use.,网上搜的解决办法太麻烦,尝试重复执行了命令导致服务器被重启后,再次执行上面的操作就出现了输入y的提示。
2.3 扩大/root逻辑卷
2.3.1 扩大根目录所在的逻辑卷
lvextend -L +34G /dev/mapper/centos-root
2.3.2 扩大/文件系统
xfs_growfs /dev/mapper/centos-root
2.4 重建/home逻辑卷
2.4.1 重建/home文件系统所需要的逻辑卷
由于刚才已经分出去34G,因此这里创建的逻辑卷大小为99G。
lvcreate -L 99G -n /dev/mapper/centos-home
2.4.2 创建/home文件系统
mkfs.xfs /dev/mapper/centos-home
2.4.3 将新建的文件系统挂载到/home目录下
mount /dev/mapper/centos-home
2.5 /home内容恢复
2.5.1 恢复/home目录的内容
tar xvf /run/home.tar -C /
2.5.2 删除/run下面的备份:
rm -rf /run/home.tar
3 再次查看磁盘存储df -h