解决问题lvextend给定的新大小(xx个扩展区)不大于现有大小(xx个扩展区)

时间:2020-01-09 10:42:46  来源:igfitidea点击:

前几天,当我尝试恢复我的LVM2卷时,我正在做一些POC工作,而在使用lvextend时,我遇到了这个错误:

lvextend new size given (xx extents) not larger than existing size (xx extents)

解决方案非常简单,但是我仍然会提供一些有关环境的背景信息。

实验室环境

我在虚拟机中添加了一个新磁盘(/dev/sdb)以扩展根lvm分区

[root@server1 ~]# lsscsi
[0:0:0:0]    cd/dvd  VBOX     CD-ROM           1.0   /dev/sr0
[1:0:0:0]    cd/dvd  VBOX     CD-ROM           1.0   /dev/sr1
[2:0:0:0]    disk    ATA      VBOX HARDDISK    1.0   /dev/sda
[3:0:0:0]    disk    ATA      VBOX HARDDISK    1.0   /dev/sdb

目前我只有一个物理卷

[root@server1 ~]# pvs
  PV         VG   Fmt  Attr PSize   PFree
  /dev/sda2  rhel lvm2 a--  <14.50g    0

所以我用/dev/sdb创建了一个新的物理卷。

[root@server1 ~]# pvcreate /dev/sdb
  Physical volume "/dev/sdb" successfully created.

接下来,我扩展了现有的卷组以也使用/dev/sdb PV

[root@server1 ~]# vgextend rhel /dev/sdb
  Volume group "rhel" successfully extended

列出bew卷组属性。
所以现在我的卷组中有大约8 GB的可用空间

[root@server1 ~]# vgs
  VG   #PV #LV #SN Attr   VSize  VFree
  rhel   2   2   0 wz--n- 22.49g <8.00g

目前我的根分区大小是14G

[root@server1 ~]# df -h /
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root   14G  6.8G  5.8G  54% /

lvextend错误:给定的新大小(xx个扩展区)不大于现有大小(xx个扩展区)

因此,我计划使用lvextend来增加我的根lvm分区大小。
其中我想将lvm的大小增加7.5GB,因为我已经有8 GB的可用空间,我遇到了这个错误:

[root@server1 ~]# lvextend -L 7.5G /dev/rhel/root
  New size given (1920 extents) not larger than existing size (3472 extents)

接下来,我尝试使用较小的尺寸并仍然使用相同的结果

[root@server1 ~]# lvextend -L 7G /dev/rhel/root
  New size given (1792 extents) not larger than existing size (3472 extents)

接下来,我使用100%FREE来使用卷组中所有可用的自由扩展,并且仍然存在相同的错误

[root@server1 ~]# lvextend -l 100%FREE /dev/rhel/root
  New size given (2047 extents) not larger than existing size (3472 extents)

解决方案:

终于,我意识到了自己的愚蠢错误。
我现有的分区大小本身是14GB,并且要扩展我必须使用(+)定义其他大小我希望添加到现有卷中

[root@server1 ~]# lvextend -l +100%FREE /dev/rhel/root
  Size of logical volume rhel/root changed from 13.56 GiB (3472 extents) to <21.56 GiB (5519 extents).

因此,当使用+ 100%FREE时,lvextend命令成功执行