[linux-lvm] lvm limitations

Zdenek Kabelac zkabelac at redhat.com
Sun Aug 30 19:30:25 UTC 2020

Dne 30. 08. 20 v 20:01 Gionatan Danti napsal(a):
> Il 2020-08-30 19:33 Zdenek Kabelac ha scritto:
>> For illustration  for 12.000 LVs you need ~4MiB just store Ascii
>> metadata itself, and you need metadata space for keeping at least 2 of
>> them.
> Hi Zdenek, are you speaking of classical LVM metadata, right?


Lvm2 has only ascii metadata (so basically what is stored in
/etc/lvm/archive is the same as in PV header metadata area -
just without spaces and some comments)

And while this is great for manual recovery, it's not
very efficient in storing larger number of LVs - there basically
some sort of DB attemp would likely be needed.

So far however there was no real worthy use case - so safety
for recovery scenarios wins ATM.

>> Handling of operations like  'vgremove' with so many LVs requires
>> signification amount of your CPU time.
>> Basically to stay within bounds - unless you have very good reasons
>> you should probably stay in range of low thousands to keep lvm2 performing
>> reasonably well.
> What about thin vols? Can you suggest any practical limit with lvmthin?

Thin - just like any other LV takes some 'space' - so if you want
to go with higher amount - you need to specify bigger metadata areas
to be able to store such large lvm2 metadata.

There is probably not a big issue with lots of thin LVs in thin-pool as long
as user doesn't need to have them active at the same time. Due to a nature of
kernel metadata handling, the larger amount of active thin LVs from the same 
thin-pool v1 may start to compete for the locking when allocating thin pool 
chunks thus killing performance - so here is rather better to stay in some 
'tens' of actively provisioning thin volumes when the 'performance' is factor.

Worth to note there is fixed strict limit of the ~16GiB maximum thin-pool 
kernel metadata size - which surely can be exhausted - mapping holds info 
about bTree mappings and sharing chunks between devices....


More information about the linux-lvm mailing list