[linux-lvm] is it right to specify '-l' with all the free PE in VG when creating a thin pool?
Zdenek Kabelac
zkabelac at redhat.com
Thu Mar 9 11:46:29 UTC 2017
Dne 9.3.2017 v 12:12 Eric Ren napsal(a):
> Hello,
>
> I find that it will fail to create a thin pool with all the free PE in VG as
> follows:
>
> # pvs
> PV VG Fmt Attr PSize PFree
> /dev/sdb lvm2 --- 200.00g 200.00g
> # vgcreate vgtest /dev/sdb
> Volume group "vgtest" successfully created
> # pvdisplay
> --- Physical volume ---
> PV Name /dev/sdb
> VG Name vgtest
> PV Size 200.00 GiB / not usable 32.00 MiB
> Allocatable yes
> PE Size 4.00 MiB
> Total PE 51192
> Free PE 51192
> Allocated PE 0
> PV UUID JD74c2-R4zZ-cgs5-c5Ty-1abQ-cf7l-gdSxzz
> # lvcreate -l 51192 --thinpool thinpool0 vgtest
> Volume group "vgtest" has insufficient free space (51167 extents): 51192
> required.
>
> while it works when specifying '-l' this way:
>
> # lvcreate -l 100%FREE --thinpool thinpool0 vgtest
> Logical volume "thinpool0" created.
>
> Is this something by design? or something may be wrong?
> I can replicate this on both:
Hi
Yes this is by DESIGN
When you specify '-l|-L' you specify size of 'dataLV' (logical size)
But then you need some more space for 'metadata' LVs (_tmeta & _pmspare)
-l100%FREE figure this automagically and reduces size a bit to fit in metadata LV.
Some 'future' version of lvm2 may support something like '--physicalsize'
which will be 'a total size used for every allocation made by command).
Regards
Zdenek
More information about the linux-lvm
mailing list