如图系统有1块盘vda,有2个分区vda1和vda2,系统在vda2分区中,可以看到根目录/ 只有50G,已用100%,但是/home下有965G,还有858G没有使用,碰到的情况是根目录磁盘空间不够用了图1,
图1
把根目录的部分文件挪走了才腾出部分空间继续操作,如图2
图2
注意事项:
接下来需要先把home备份,需要注意的是尽可能先把home下的大文件挪走,再把空间清理出来,不然后面备份home形成home.tar包会出现问题。(home.tar还是放在根目录下,所以一定要确保根目录的空间要比home.tar的空间大)
接下来:先安装psmisc,否则使用不了fuser命令
yum install -y psmisc
查看当前目录是否在被使用
fuser -m /home
这种情况说明/home目录还被占用着,
查看该进程的使用者
ps aux|grep 55319
检查并退出所有登录用,直到查不到使用home的目录位置。如下图
备份home目录(注意:如果此处home下文件比根目录的可用空间要大,备份会失败,必须确保根目录空间比备份的home.tar文件要大)
tar -cvf home.tar home
卸载/home的挂载
umount /home/
移除逻辑目录
lvremove /dev/mapper/centos-home
提示选Y
Do you really want to remove active logical volume centos/home? [y/n]: y
Logical volume "home" successfully removed
扩容根目录,这里500G根据实际的需求自己写
lvextend -L +500G /dev/mapper/centos-root
增加xfs文件系统的大小
xfs_growfs /dev/mapper/centos-root
创建home逻辑盘,大小用总的大小减去分配给根目录后,总的剩余大小
lvcreate -L 463G -n home centos
格式化
mkfs.xfs /dev/mapper/centos-home
再挂载home目录
mount /dev/mapper/centos-home /home
查询
df -h
lsblk
再解压home目录
tar -xvf home.tar