减小现有分区的大小(Redhat 5)

减小现有分区的大小(Redhat 5)

如何在不破坏其中数据的情况下减小现有 LVM 分区的大小?

如果该分区是根 (/) 分区怎么办?

答案1

首先,您无法缩小已安装的分区(至少对于 ext{2,3,4} 来说是这样)。您必须在一根棒子或类似的东西上启动 /。

然后,为了确保不会搞砸,我分三步进行:

  1. 使用 resize2fs 将文件系统(首先需要执行 fsck -f)缩小到比目标略小(1G)。

    $ sudo fsck -f /dev/vg/mylv

    $ sudo resize2fs /dev/vg/mylv 24G

  2. 使用 lvreduce 将逻辑卷减少到目标值

    $ sudo lvreduce -L 25G /dev/vg/mylv

  3. 在设备上重新运行不带任何参数的 resize2fs,它将获取块设备的大小。

    $ sudo resize2fs /dev/vg/mylv

您也可以简单地通过取范围大小的倍数来计算正确的大小,但我发现额外的步骤容易出错,而当我不得不做这种事情时,我没有多余的脑力。

答案2

您想调整单个 LV(逻辑卷)或 PV(物理卷,磁盘 LVM 分区)的大小吗?没有“LVM 根分区”之类的东西。我猜您在 LV 上有一个根文件系统。在这种情况下,请遵循 niXar 的建议。

但是,如果您想调整单个 LVM(磁盘)分区(即单个 PV)的大小,您可以使用“pvresize”或“pvmove”调整其大小。

# man pvmove
# man pvresize

在开始使用磁盘分区或 DM 设备之前,请不要忘记备份数据。

顺便提一句:http://www.tldp.org/HOWTO/LVM-HOWTO/reducelv.html

相关内容