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