如何在不破坏其中数据的情况下减小现有 LVM 分区的大小?
如果该分区是根 (/) 分区怎么办?
答案1
首先,您无法缩小已安装的分区(至少对于 ext{2,3,4} 来说是这样)。您必须在一根棒子或类似的东西上启动 /。
然后,为了确保不会搞砸,我分三步进行:
使用 resize2fs 将文件系统(首先需要执行 fsck -f)缩小到比目标略小(1G)。
$ sudo fsck -f /dev/vg/mylv
$ sudo resize2fs /dev/vg/mylv 24G
使用 lvreduce 将逻辑卷减少到目标值
$ sudo lvreduce -L 25G /dev/vg/mylv
在设备上重新运行不带任何参数的 resize2fs,它将获取块设备的大小。
$ sudo resize2fs /dev/vg/mylv
您也可以简单地通过取范围大小的倍数来计算正确的大小,但我发现额外的步骤容易出错,而当我不得不做这种事情时,我没有多余的脑力。
答案2
您想调整单个 LV(逻辑卷)或 PV(物理卷,磁盘 LVM 分区)的大小吗?没有“LVM 根分区”之类的东西。我猜您在 LV 上有一个根文件系统。在这种情况下,请遵循 niXar 的建议。
但是,如果您想调整单个 LVM(磁盘)分区(即单个 PV)的大小,您可以使用“pvresize”或“pvmove”调整其大小。
# man pvmove
# man pvresize
在开始使用磁盘分区或 DM 设备之前,请不要忘记备份数据。