将可用空间移出LVM

我在一个500 GB的HDD上有一个500 GB的LVM2容器,它有一个96 GB的根分区(ext4)和一个4 GB的交换分区。 我使用备用cd进行了此设置,并将要使用的磁盘空间量设置为100GB,假设其余部分将作为常规未加密的磁盘空间提供。

事实certificate,400 GB的可用磁盘空间实际上封装在LVM2容器中,就像磁盘工具向我展示的那样。 如何缩小LVM2容器以便我可以使用这400 GB?

简单的答案 – 你不能。 (但你可能想做别的事来得到你想要的东西 – 见下文)

LVM2有3个“级别”,物理卷(我假设你称之为LVM2容器),卷组和逻辑卷。

通常,您将一个或多个分区定义为LVM2的物理卷。 完成此操作后,该分区不能用于其他任何事情(以同样的方式,分区只能用于一个文件系统)。

例如:

# pvcreate /dev/sdb3 

然后,您可以创建新的卷组或将物理卷添加到现有组

 # vgcreate MyVolGroup /dev/sdb3 

要么

 # vgextend MyVolGroup /dev/sdb3 

然后创建逻辑卷,它实际上用于文件系统。

 # lvcreate -L100G --name MyVolume MyVolGroup 

可以在不丢失数据的情况下调整逻辑卷的大小,尽管它是非繁琐的。 但物理卷的大小固定为分区大小。

如果您确实想要使用已分配给物理卷(LVM2容器)的400Gb空间,那么答案是创建另一个逻辑卷并使用它。

要查找卷组的名称(如果您还不知道),请使用vgs命令。

 # lvcreate -L400G --name MySpace VolGroup # mkfs -text4 /dev/VolGroup/MySpace # mount /dev/VolGroup/MySpace /mnt 

如果您有足够的空间来创建新分区,更高级的替代方法是强制移动现有的逻辑卷(使用pvmove ),以便释放500Gb物理卷( vgreducepvremove命令),然后创建一个较小的容器并将数据再次移回,但是对于简单地使用Logical Volumes而言,可能没什么优势。

您没有指定缩小LVM分区的原因,因此您可能只想在LVM容器中创建新的逻辑卷。 如果您确定要真正减小LVM容器的大小,则可以使用pvresize来减小物理卷的大小,然后使用fdiskparted等分区工具来减小包含的磁盘分区的大小物理量。 您需要确保在分区时使用扇区单位(在parted中, unit s命令将执行此操作)。 您将需要删除该分区,然后使用相同的起始扇区重新创建它,但尺寸较小。 如果以GB为pvresize指定pvresize的大小,则需要通过乘以1024 * 1024 * 2转换为扇区,并且应该向上舍入以确保安全,即添加额外的GB。 您需要重新启动以使分区表的更改生效,然后您可能希望再次使用pvresize而不使用size参数将其扩展回新分区所包含的最大大小。 然后,您可以根据需要使用未分区的空间。