LVM——缩小LVM分区(efx4)

在这里,我们将向您展示如何在Linux中收缩LVM卷或分区,方法是首先调整文件系统的大小,然后调整逻辑卷的大小。

如果您尝试执行相反操作请看:

LVM——linux增加LVM分区_Rocket MAN的博客-CSDN博客_lvm卷扩容和缩容

注意:在这个例子中,我们以CentOS 7为例 ,某些命令在不同的 Linux 发行版中可能会有所不同。从 CentOS 7 开始,默认文件系统是 xfs,此示例使用 ext4文件系统。

因此,再开始之前,请检查您的文件系统,如果是xfs,请转移至LVM——linux缩小逻辑卷(xfs)

cat /etc/redhat-release
df -hT

如下可以查看到当前文件系统是efx4

Filesystem              Type      Size  Used Avail Use% Mounted on
...
/dev/mapper/centos-root  efx4 50G   50G  340M 100% /
/dev/mapper/centos-home efx4  741G  108M  741G   1% /home

...

在这个例子中,我们将通过缩小逻辑体积/var/centos/var从10GB到5GB。

逻辑卷管理器 (LVM) 概述

 在完成调整大小过程之前,请务必先了解有关物理卷、卷组、逻辑卷和文件系统的一些基本概念。

  • 物理卷 (PV):这可以在整个物理磁盘(例如/dev/sda)或Linux分区上创建。
  • 卷组 (VG):它由至少一个或多个物理卷组成。在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。
  • 逻辑卷 (LV):这有时称为分区,它位于卷组中,并有一个文件系统写入其中。
  • 文件系统:文件系统(如 ext4)将位于逻辑卷上。卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。

备份原数据

要减小 LVM 分区的大小,必须首先减小其中的文件系统,以避免可能的数据损坏。由于如果输入的命令不正确,则可能会发生这种情况,因此强烈建议您在继续操作之前对数据进行完整备份

(cd 备份资源原路径 ;sudo tar cvfp - 需要备份的文件目录或*(*代表资源路径下所有资源) )  | (cd 备份资源存储路径;sudo tar xvfp -)

收缩逻辑卷将在卷组中为您提供更多空间,这意味着您可以为其他逻辑卷增加空间

接下来的命令将取决于您是要缩小 LVM 根卷还是非根卷。

缩小根卷

根卷通常是装入到 / 的逻辑卷。您无法卸载它以缩小它,因为它正在由正在运行的操作系统使用,这意味着您必须首先从Live CD启动才能完成此操作。引导到 Live CD 后,您可能首先需要运行以下命令来选取 LVM 卷,但这通常发生在引导期间,因此,如果有疑问,则可能不需要运行它。

vgchange -a y

收缩非根卷

或者,如果要收缩的卷是非 root 卷,即未装入文件系统根目录的任何其他卷,则可以卸载该卷,如下所示以继续。请注意,卸载卷时,数据将不可用,因此您可能需要安排停机时间,并在卸载之前停止运行使用其中数据的应用程序。

umount /dev/centos/var

所有后续步骤现在都适用于根卷或非根卷。

在能够尝试缩小 LVM 卷的大小之前,必须首先对其运行文件系统检查。如果不这样做,您将收到一条错误消息,并且将无法继续。这是必需的步骤,因为调整处于错误状态的文件系统的大小可能会导致数据损坏。即使文件系统看起来很干净,-f 标志也会使检查运行,而 -y 对所有问题都假定为是,并在被要求修复问题时做出响应。

e2fsck -fy /dev/centos/var

接下来,您需要收缩文件系统,为了安全起见,我们将文件系统收缩到低于逻辑卷将收缩到的级别。这是因为在下一步中,我们不希望意外地将逻辑卷缩小到小于文件系统的大小,因为这可能会导致损坏和数据丢失。别担心,我们将在最后收回空间。

下面的命令将缩小文件系统,使其总大小仅为4G,请注意,您指定要缩小到的任何大小都必须在文件系统中的可用空间中具有,否则您必须首先删除数据。

resize2fs /dev/centos/var 4G

一旦文件系统减少,我们就可以使用 lvreduce 命令缩小逻辑卷的大小。将其减小到您希望卷的大小,如 -L 标志所指定的那样。相反,如果您想减小指定的尺寸,只需在尺寸前面放一个 - 即可。为了完整起见,两者都如下所示,但是您只需要运行一个。

减少到5G

lvreduce -L 5G /dev/vg/disk-name

减少5G

lvreduce -L -5G /dev/vg/disk-name

执行 lvreduce 命令后,您将收到一条警告,告知您选择减小到的大小,因此请借此机会确认您正在将逻辑卷缩小到的大小不小于之前将文件系统缩小到的大小。确认后,可以继续输入“y”并按回车键。

将逻辑卷降低到所需大小后,在卷上运行 resize2fs,因为这将扩展文件系统以使用逻辑卷中的所有可用空间。这样可以利用所有剩余的可用空间,以便从我们之前将文件系统缩小到小于逻辑卷的大小开始,不会浪费任何空间。

resize2fs /dev/centos/var

此时,剩下要做的就是装入卷。如果这是一个根卷,并且您正在使用Live CD,只需重新启动回您的主Linux操作系统即可。

如果这是一个非 root 用户卷,并且您已将其卸载以完成缩减,则只需将其装回即可。您可以使用“mount -a”来执行此操作,假设您已经在 /etc/fstab 中设置了配置,否则请指定逻辑卷以及它应该挂载到的位置。在这里,我们手动安装到 /mnt 只是为了进行测试。

mount /dev/centos/var /mnt

引导回主操作系统或完成装载后,请检查使用“df”命令显示的空间,以确认它已按预期减少。

来源:LVM 调整大小 - 如何减小 LVM 分区 (rootusers.com)

参考:lvm - resize2fs:尝试打开时超级块中的坏幻数 - 堆栈溢出 (stackoverflow.com)

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值