LVM: 삭제된 논리 볼륨에서 여유 공간을 확보하여 물리 볼륨의 크기를 줄입니다.

LVM: 삭제된 논리 볼륨에서 여유 공간을 확보하여 물리 볼륨의 크기를 줄입니다.

다음과 같은 LVM 파티션이 있습니다.

# df -h

  Filesystem                Size  Used Avail Use% Mounted on
  /dev/mapper/data-root     5.3G  4.2G  864M  84% /
  ...
  /dev/mapper/data-install  6.8G  5.7G  783M  89% /install

# vgs
  VG   #PV #LV #SN Attr   VSize   VFree
  data   1   2   0 wz--n- <12.50g    0

# vgdisplay
  --- Volume group ---
  VG Name               data
  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               <12.50 GiB
  PE Size               4.00 MiB
  Total PE              3199
  Alloc PE / Size       3199 / <12.50 GiB
  Free  PE / Size       0 / 0
  VG UUID               jSACsC-wGwy-ki0w-nSCn-kxMy-bLOV-dVN68E


# pvs
  PV         VG   Fmt  Attr PSize   PFree
  /dev/sda2  data lvm2 a--  <12.50g    0

# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               data
  PV Size               <12.50 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              3199
  Free PE               0
  Allocated PE          3199
  PV UUID               CPggVR-sUXw-4gfw-lb2v-cq0j-M5ey-Ct7td3

# lvs
  LV      VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  install data -wi-ao----  7.00g
  root    data -wi-ao---- <5.50g


# lvdisplay
  --- Logical volume ---
  LV Path                /dev/data/install
  LV Name                install
  VG Name                data
  LV UUID                ZXQmp5-L17b-eQyS-g3An-msk7-Jqso-MTaTIw
  LV Write Access        read/write
  LV Creation host, time localhost, 2018-09-28 14:42:43 +0000
  LV Status              available
  open                 1
  LV Size                7.00 GiB
  Current LE             1792
  Segments               1
  Allocation             inherit
  Read ahead sectors     aut
  - currently set to     8192
  Block device           253:1



  --- Logical volume ---
  LV Path                /dev/data/root
  LV Name                root
  VG Name                data
  LV UUID                i3eMbC-rcm1-H2Gm-JJeF-jRxO-nL9h-toHSHQ
  LV Write Access        read/write
  LV Creation host, time localhost, 2018-09-28 14:42:55 +0000
  LV Status              available
  # open                 1
  LV Size                <5.50 GiB
  Current LE             1407
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

논리 볼륨 중 하나를 삭제합니다.

# umount /install
# lvremove /dev/data/install
# sed -i 'N;/\/dev\/mapper\/data-install/{s#/dev/mapper/data-install.*\n##}' /etc/fstab

제거 후:

# df -h
  Filesystem             Size  Used Avail Use% Mounted on
  /dev/mapper/data-root  5.3G  4.2G  867M  84% /
  ...


# vgs
  VG   #PV #LV #SN Attr   VSize   VFre
  data   1   1   0 wz--n- <12.50g 7.00g


# vgdisplay
  --- Volume group ---
  VG Name               data
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <12.50 GiB
  PE Size               4.00 MiB
  Total PE              3199
  Alloc PE / Size       1407 / <5.50 GiB
  Free  PE / Size       1792 / 7.00 GiB
  VG UUID               jSACsC-wGwy-ki0w-nSCn-kxMy-bLOV-dVN68E


# pvs
  PV         VG   Fmt  Attr PSize   PFree
  /dev/sda2  data lvm2 a--  <12.50g 7.00g


# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               data
  PV Size               <12.50 GiB / not usable 3.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              3199
  Free PE               1792
  Allocated PE          1407
  PV UUID               CPggVR-sUXw-4gfw-lb2v-cq0j-M5ey-Ct7td3


# lvs
  LV   VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root data -wi-ao---- <5.50g


# lvdisplay
  --- Logical volume ---
  LV Path                /dev/data/root
  LV Name                root
  VG Name                data
  LV UUID                i3eMbC-rcm1-H2Gm-JJeF-jRxO-nL9h-toHSHQ
  LV Write Access        read/write
  LV Creation host, time localhost, 2018-09-28 14:42:55 +0000
  LV Status              available
  # open                 1
  LV Size                <5.50 GiB
  Current LE             1407
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

논리 볼륨을 삭제한 후 물리 볼륨, 볼륨 그룹을 축소하고 최종적으로 여유 공간 크기로 함께 분할하는 방법은 무엇입니까? 바람직하게는 상대 값( pvresize?) 또는 이와 유사한 것을 지정하는 것이 좋습니다 lvextend -l 100%FREE <lvolume>. 또한 GUI 없이 명령줄만 사용하여 이 작업을 수행하고 싶습니다. 루트/시스템 논리 볼륨이 항상 활성 상태이고 사용 중이라는 점도 주목할 가치가 있습니다.

답변1

글쎄요, 그런 pvresize상대값 옵션이 없으므로 lvextend원하는 정확한 크기를 지정해야 합니다. 다음을 수행할 수 있습니다.

  1. 물리적 크기를 줄입니다.pvresize --setphysicalvolumesize 5.5G /dev/sda2
  2. 원하는 도구를 사용하여 파티션을 축소합니다. 스크립트를 작성하려면 parted를 사용할 수 있습니다. 계산된 바이트 크기의 차이를 고려하여 파티션을 5.5G보다 약간 크게 설정하거나 두 도구에서 동일한 단위를 사용하는지 확인하십시오.
  3. 도구마다 단위가 다른 경우 전체 파티션을 차지하도록 물리적 볼륨을 확장합니다.pvresize /dev/sda2

관련 정보