1.首先查看磁盘使用情况
[root@www ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 114M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/mapper/centos-root 50G 47G 3.6G 93% /
/dev/nvme0n1p1 1014M 153M 862M 16% /boot
/dev/mapper/centos-home 200G 37M 200G 1% /home
overlay 50G 47G 3.6G 93% /var/lib/docker/overlay2/f12f753278098069347380e95fa74a80cf191223a1d51bddf33a3316db55914b/merged
overlay 50G 47G 3.6G 93% /var/lib/docker/overlay2/106d244d7362b3abda5eeccfaf36a72fe1b13078a03840773f4ed102a1a3baf2/merged
overlay 50G 47G 3.6G 93% /var/lib/docker/overlay2/98da9ac56a803669f8b04d5b740c43c52e3025b65554f6059e789b411c49ec90/merged
overlay 50G 47G 3.6G 93% /var/lib/docker/overlay2/4754103acda1eeea3825803d946e0ffb7d73352c007778835c682b4ffeddc952/merged
overlay 50G 47G 3.6G 93% /var/lib/docker/overlay2/3e9aafa69043b2c8cfa6953fd42bb38b478424d9d3f7544ce647d5c757ae72df/merged
tmpfs 3.2G 0 3.2G 0% /run/user/0
overlay 50G 47G 3.6G 93% /var/lib/docker/overlay2/daf65f4f2bbe8208813355b3b0f446f644671d5799c7c2df68dd01064d39d61c/merged
2.备份/home目录
cp -Ra /home /home.bak
3.卸载/home
umount /home
4.移除/home目录的逻辑卷,释放空间
lvm lvremove /dev/mapper/centos-home # Remove the logical volume for home
5.修改/目录的逻辑卷,使用所有空余空间
lvm lvresize -l+100%FREE /dev/mapper/centos-root # Resize the root logical volume so it uses 100% of the now free space
6.调整/目录的逻辑卷的大小
resize2fs /dev/mapper/centos-root # 如果是ext4,使用resize2fs命令
xfs_growfs /dev/mapper/centos-root # 如果是xfs,使用xfs_growfs命令
7.恢复备份
mv /home.bak /home # Restore the backup.
编辑/etc/fstab,删除掉/dev/mapper/centos-home对应的那一行。
如果遗漏了这一步,服务器重启后,CentOS将无法启动,会进入到 (Repair Filesystem) 提示符。CentOS会报告挂载 /home 分区错误。
这时在 (Repair Filesystem) 中使用任何lvm管理命令都是无效的。如输入 lvdisplay lvs pvs vgs 等命令,都会显示同一个错误:File-based locking initialisation failed。
为了解决这个问题,先要将原来挂载/home的分区的部分取消。可是在 (Repair Filesystem) 提示符下,对硬盘的管理是只读的,修改 /etc/fstab 将不能保存。
要解决这个问题,需要重新挂载文件系统为可写。在 (Repair Filesystem) 中输入 root 密码之后,输入如下命令:mount -w -o remount /
然后再次编辑 /etc/fstab ,删除掉 /dev/mapper/centos-home对应的那一行,重启即可正常进入系统。