I was wondering how I can extend Metadata size in a lvm thin provisioning (on latest Kernel / LVM2).

[root@srv ~]# lvs -a
LV                VG        Attr       LSize   Pool Origin Data%  Meta%  
lv1               volgroup1 twi-aotz-- 125.00g             25.80   23.32
[lv1_tdata]       volgroup1 Twi-ao---- 125.00g
[lv1_tmeta]       volgroup1 ewi-ao----  96.00m
lvol0             volgroup1 -wi-a-----  96.00m
[lvol1_pmspare]   volgroup1 ewi-------  96.00m

I have few questions:

  1. In above 'lvs' command 23.32% is Meta%, this means 23.32% of 96M is used for META (or of total 125G) ?
  2. lvol1_pmspare is a spare copy of meta. Should i need to extend lvol1_pmspare separately to extend lv1_tmeta.
  3. Any performance impact by changing thin_pool_chunk_size or setting poolmetadatasize to higher value.
  4. How to identify ideal metadata size.

Can someone please share your insight and help me on how to extend metadata size.

I am answering to my question to document the knowledge in public.

You can use lvs -a to view details of metadata and pmspare as in question.

To extend metadata:

lvextend -L+128M volgroup1/lv1_tmeta

You will see lvol1_pmspare (metadata spare) remains original size even after above command is successful. "lvconvert --repair" process will re-create the spare metadata LV. ( Or you can also remove lvol1_pmspare and re-create using lvconvert --repair)

Metadata size can be somewhere between 2M to 16G. An ideal value always depends on the total volume and type of operations.

This will do the trick without any --repair.

lvextend --poolmetadatasize +2G vg0/lv0

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.