루트 볼륨 크기를 조정할 때 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

볼륨 그룹에 남은 여유 공간이 20MB임을 보여줍니다. 공간을 확장하면 됩니다.

실제로 lv(논리볼륨)에서 확장공간을 확장한다면. 아래 단계를 따르십시오.

1단계: 먼저 가상 박스에 디스크를 추가하세요: 설정 > 저장소 > 새 디스크 추가 (+)

2단계: 새 디스크를 추가한 후 다음 명령을 실행합니다.

   $ sudo fdisk -l

파티션 테이블 없이 새 디스크가 표시됩니다(예: /dev/sdb).

3단계: 이제 LVM용 시스템 ID 8e를 사용하여 /dev/sdb에 /dev/sdb1로 파티션을 만듭니다.

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 파일 시스템인 경우 xfs_growfs 대신 resize2fs를 교체하십시오.

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_1;mkswap /dev/u64/swap_1

관련 정보