如何缩小LVM上的根逻辑卷(LV)?

我不需要实际缩小MBR分区,只需要包含根“/”文件系统的逻辑卷。 它现在大约200GB,我需要将它缩小到~150GB,以便为新的逻辑卷腾出空间。 我该怎么做?

在你改变任何事情之前,你确定你有一个当前的备份。 这对我有用,但它可能不适合你。 如果由于某种原因它爆炸,你不想失去任何你无法恢复的东西。 继续……

(据我所知)在安装文件系统时缩小文件系统是不可能的,因此我们需要从Live CD进行实际resize。 以下所有说明均假定您已从11.10桌面安装CD启动。

Live CD启动到桌面后,打开终端。

LVM工具不是内置于Live CD的,因此首先我们必须安装它们:

sudo apt-get install lvm2 

找到包含根逻辑卷的卷组(以下称为“somevg”)的名称:

 sudo lvs 

(如果没有显示,请尝试运行sudo lvmdiskscansudo pvscan然后再试一次。)

如果运行ls /dev/mapper/您可能会看到逻辑卷未显示。 如果不存在,则需要运行以下命令以使内核知道逻辑卷:

 sudo vgchange --available y  

由于我们尚未安装根文件系统,因此resize应该是安全的。 继续执行逻辑卷的实际大小调整。 请注意,此命令( --size -50G )将卷缩小50GB – 阅读lvreduce(8)手册页以了解如何指定不同的大小。

 sudo lvreduce --resizefs --size -50G /dev//root 

(我的逻辑卷被称为“root”,但您的名称可能会有所不同。)

此命令将首先收缩文件系统,然后收缩包含它的逻辑卷,这是唯一安全的方法。

您现在可以重新启动系统并启动到现已resize的根文件系统。

任何分区和LVresize应该在未安装的分区上完成,因此您必须从Ubuntu安装盘或USB棒启动,将其作为Live CD运行,连接到Internet,安装lvm2

 sudo apt-get install lvm2 

…或者你可以使用任何已经拥有lvm2 Linux救援CD。 然后确保没有安装你的根LV

 mount 

并在必要时卸载它,然后进行文件系统检查

 e2fsck -f /dev/yourVG/yourLV 

在这个LV上。 然后收缩文件系统

 resize2fs /dev/yourVG/yourLV 150G 

并减少LV

 lvreduce -L -50G /dev/yourVG/yourLV 

重新启动到您的系统,享受!

lvresizelvreduce现在都支持在缩小逻辑卷之前重新调整文件系统的大小。

这是CentOS 6.5上的手册页的一个片段

 -r, --resizefs Resize underlying filesystem together with the logical volume using fsadm 

请查看http://ubuntuforums.org/showthread.php?t=1537569