[root@localhost ~] vgdisplay
--- Volume group ---
VG Name vg_root
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 7
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 297,59 GiB
PE Size 4,00 MiB
Total PE 76182
Alloc PE / Size 59392 / 232,00 GiB
Free PE / Size 16790 / 65,59 GiB
VG UUID XXXXXXXXXX
पीवी:
[root@localhost ~] pvdisplay
--- Physical volume ---
PV Name /dev/mapper/udisks-luks-uuid-ASDFASDF
VG Name vg_root
PV Size 297,59 GiB / not usable 2,00 MiB
Allocatable yes
PE Size 4,00 MiB
Total PE 76182
Free PE 16790
Allocated PE 59392
PV UUID YYYYYYYYYYY
इसलिए मेरे पास 65 GByte मुक्त स्थान वाला VG है। लेकिन जब मैं ~ 50 GByte के बारे में इस वॉल्यूम समूह को सिकोड़ना चाहता हूं:
pvresize -tv --setphysicalvolumesize 247G /dev/mapper/udisks-luks-uuid-ASDFASDF
Test mode: Metadata will NOT be updated and volumes will not be (de)activated.
Using physical volume(s) on command line
Test mode: Skipping archiving of volume group.
/dev/mapper/udisks-luks-uuid-ASDFASDF: Pretending size is 517996544 not 624087040 sectors.
Resizing volume "/dev/mapper/udisks-luks-uuid-ASDFASDF" to 624087040 sectors.
Resizing physical volume /dev/mapper/udisks-luks-uuid-ASDFASDF from 0 to 63231 extents.
/dev/mapper/udisks-luks-uuid-ASDFASDF: cannot resize to 63231 extents as later ones are allocated.
0 physical volume(s) resized / 1 physical volume(s) not resized
Test mode: Wiping internal cache
Wiping internal VG cache
तो त्रुटि संदेश है:
cannot resize to 63231 extents as later ones are allocated.
प्रश्न: मैं vg_root को कैसे डीफ़्रैग कर सकता हूं ताकि मैं इसके अनावश्यक भाग को हटा सकूं?
ps: मुझे पहले ही पता चला है कि मुझे केवल वी.जी. का आकार बदलने के लिए PV का आकार बदलने की ज़रूरत है, या क्या कोई बेहतर आदेश हैं जो VG resize (उदा) हैं: यदि मैं एक PV पर कई VG के करूँ तो मैं क्या कर सकता हूँ? ... )?
sudo pvmove --alloc anywhere /dev/sdX2:60000-76182 /dev/sdX2:3000-19182