步骤 1: 备份 /home
分区
在做任何操作之前,先备份 /home
中的数据:
1 | rsync -av /home /path/to/backup/ |
步骤 2: 卸载 /home
分区
需要卸载 /home
分区才能进行调整:
1 | umount /home |
如果卸载失败,使用以下命令查看哪些进程在使用 /home
:
1 | lsof | grep /home |
然后结束这些进程,再重试卸载。
步骤 3: 检查 /home
分区的文件系统
在缩小分区之前,需要确保文件系统是干净的。
-
对于
ext4
文件系统:1
e2fsck -f /dev/mapper/centos-home
-
对于
xfs
文件系统,你需要备份/home
数据,因为xfs
不支持在线缩小分区。
步骤 4: 缩小 /home
分区
根据你使用的文件系统,选择不同的缩小方法:
-
对于
ext4
文件系统:
假设你要将/home
缩小到 20GB:1
resize2fs /dev/mapper/centos-home 20G
-
对于
xfs
文件系统:
由于xfs
不支持缩小分区,你需要删除逻辑卷并重新创建较小的分区。首先备份/home
数据,然后执行以下命令:1
2
3lvremove /dev/mapper/centos-home
lvcreate -L 20G -n home centos
mkfs.xfs /dev/centos/home之后再恢复备份数据到新的
/home
。
步骤 5: 缩小逻辑卷 /home
逻辑卷必须跟文件系统一起缩小。假设你已经将文件系统缩小到 20GB,现在需要减少逻辑卷的大小:
1 | lvreduce -L 20G /dev/mapper/centos-home |
在执行此命令时,系统会提示你确认缩小逻辑卷,确认并继续操作。
步骤 6: 扩展 /root
分区
现在,剩下的空间可以用于扩展 /root
分区。使用以下命令:
1 | lvextend -l +100%FREE /dev/mapper/centos-root |
这会将所有剩余的未分配空间分配给 /dev/mapper/centos-root
。
步骤 7: 扩展文件系统
扩展逻辑卷后,还需要扩展文件系统:
-
对于
ext4
文件系统:1
resize2fs /dev/mapper/centos-root
-
对于
xfs
文件系统:1
xfs_growfs /
步骤 8: 重新挂载 /home
扩展根分区后,可以重新挂载 /home
分区:
1 | mount /home |
如果你使用了 xfs
并删除了旧的 /home
分区,请确保恢复 /home
的数据。
步骤 9: 检查分区
最后,检查扩展是否成功:
1 | df -h |
这将显示当前分区的使用情况,确认 /dev/mapper/centos-root
是否已成功扩展。