内存的重新分配与扩容

步骤 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
    3
    lvremove /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 是否已成功扩展。

-------------本文结束感谢您的阅读-------------