调整根卷大小时出现 lvextend 空间不足错误

调整根卷大小时出现 lvextend 空间不足错误

我的根分区空间不足,因此我正在尝试扩展/调整其大小。

Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/u64-root   19G   18G  823M  96% /
none                  4.0K     0  4.0K   0% /sys/fs/cgroup
udev                  235M   12K  235M   1% /dev
tmpfs                  50M  464K   49M   1% /run
none                  5.0M     0  5.0M   0% /run/lock
none                  246M     0  246M   0% /run/shm
none                  100M     0  100M   0% /run/user
/dev/sda1             228M   88M  129M  41% /boot

我已经在虚拟机中为客户 Ubuntu 创建了超过 20G 的空间。

$ sudo fdisk -l

Disk /dev/sda: 48.3 GB, 48318382080 bytes
255 heads, 63 sectors/track, 5874 cylinders, total 94371840 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00001433

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      499711      248832   83  Linux
/dev/sda2          501758    41940991    20719617    5  Extended
/dev/sda3        41940992    94371839    26215424   83  Linux
/dev/sda5          501760    41940991    20719616   8e  Linux LVM

Disk /dev/mapper/u64-root: 20.7 GB, 20661141504 bytes
255 heads, 63 sectors/track, 2511 cylinders, total 40353792 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/u64-root doesn't contain a valid partition table

Disk /dev/mapper/u64-swap_1: 532 MB, 532676608 bytes
255 heads, 63 sectors/track, 64 cylinders, total 1040384 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

$ sudo vgs 
  VG   #PV #LV #SN Attr   VSize  VFree
  u64    1   2   0 wz--n- 19.76g 20.00m

$ sudo vgdisplay -v u64
    Using volume group(s) on command line
    Finding volume group "u64"
  --- Volume group ---
  VG Name               u64
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               19.76 GiB
  PE Size               4.00 MiB
  Total PE              5058
  Alloc PE / Size       5053 / 19.74 GiB
  Free  PE / Size       5 / 20.00 MiB
  VG UUID               0ceVdc-pZwk-gIfx-h1Wi-aJu2-9P9m-BdyB1s

  --- Logical volume ---
  LV Path                /dev/u64/root
  LV Name                root
  VG Name                u64
  LV UUID                oBFvFd-EWm3-yCzy-uP3b-GJ33-qeNS-LN9VJx
  LV Write Access        read/write
  LV Creation host, time u64, 2013-03-05 15:44:40 +0800
  LV Status              available
  # open                 1
  LV Size                19.24 GiB
  Current LE             4926
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

  --- Logical volume ---
  LV Path                /dev/u64/swap_1
  LV Name                swap_1
  VG Name                u64
  LV UUID                Inr5EC-q90t-05Jj-0p9L-2Nb3-UWjo-2T2dsr
  LV Write Access        read/write
  LV Creation host, time u64, 2013-03-05 15:44:41 +0800
  LV Status              available
  # open                 2
  LV Size                508.00 MiB
  Current LE             127
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

  --- Physical volumes ---
  PV Name               /dev/sda5
  PV UUID               HbjvW7-SEit-o5LE-jnne-fgAI-C3lB-oyzgVC
  PV Status             allocatable
  Total PE / Free PE    5058 / 5

但是,我被这个错误阻止了。

$ sudo lvextend -L+10G /dev/mapper/u64-root

  Extending logical volume root to 29.24 GiB
  Insufficient free space: 2560 extents needed, but only 5 available

我确实有空间,但它说空间不足。我想扩展根卷和临时分区。知道如何解决这个问题吗?

答案1

由于 u64(卷组)中没有足够的空间,因此调整根卷大小并出现 lvextend 空间不足错误。当你发出命令时:

$ sudo vgs 

  VG   #PV #LV #SN Attr   VSize  VFree

  u64    1   2   0 wz--n- 19.76g 20.00m

它显示卷组中的剩余可用空间为 20 MB。你只需扩展这个空间而已。

如果你真的扩展了lv(逻辑卷)中的扩展空间。请按照以下步骤操作

步骤1:首先在虚拟盒子上添加磁盘:设置>存储>添加新磁盘(+)

步骤 2:添加新磁盘后,执行以下命令。

   $ sudo fdisk -l

它将显示(例如:/dev/sdb)没有分区表的新磁盘。

步骤 3:现在在 /dev/sdb 上创建一个分区为 /dev/sdb1,系统 ID 为 8e,用于 LVM。

步骤 4:如果由于内核仍然使用旧分区表而出现错误或警告,则重新启动虚拟机或执行 partprobe 命令

  $ sudo partprobe

第5步:现在创建一个物理卷(pv)。通过以下命令

  $ sudo pvcreate /dev/sdb1

步骤 6:通过执行以下命令扩展卷组

  $ sudo vgextend u64 /dev/sdb1

第 7 步:检查如果执行 vgs 或 vgdisplay,您将看到 VFree 中的空间。或免费 PE/尺寸。

步骤 8:现在扩展您的逻辑卷

  $ sudo lvextend -L +10G /dev/u64/root

  $ sudo resize2fs /dev/u64/root

如果是 xfs 文件系统,请替换 resize2fs 而不是 xfs_growfs

第9步:现在最后检查一下

 $ df -hT

答案2

首先,我在 /dev/sda3 上创建一个分区类型 8e(LVM),并通过将物理卷添加到卷组 u64 来扩展当前卷组大小vgextend u64 /dev/sda3

其次,扩展逻辑卷根lvextend -L+22g u64/root

第三,调整 ext4 文件系统的大小resize2fs /dev/mapper/u64-root

同样,扩展交换逻辑卷lvextend -L+3g u64/swap_1并且swapoff /dev/u64/swap_1mkswap /dev/u64/swap_1

相关内容