I have 240 LUNs in a single volume group, which I would like to carve up into 3 logical volumes. Ideally, each logical volume would be striped across all 240 LUNs.

When attempting to create one, I get the error message:

# lvcreate -i 240 -I 1024 -n lv1 -l 19597116 vg1
    Number of stripes (240) must be between 1 and 128.

Researching, I haven't found any documentation around this limit other than in the command itself. It isn't mentioned in any man pages I've been able to locate.

Is there any way to increase the limit on # of stripes in an LV?

Version info:

LVM version:     2.02.143(2)-RHEL6 (2016-12-13)
Library version: 1.02.117-RHEL6 (2016-12-13)
Driver version:  4.33.1
2.6.32-696.16.1.el6.x86_64 #1 SMP Sun Oct 8 09:45:56 EDT 2017 x86_64 x86_64 x86_64 GNU/Linux

I don't know whether the command is the only problem. If so then you could modify the content of /etc/lvm/backup accordingly and have it activated with vgcfgrestore.

Another possibility would be to nest LVM i.e. create two LVs over half of the VG capacity and with 120 stripes each. Then you make these LVs PVs, create a new VG and create your "real" VGs there, with two stripes and 120 times the usual chunk size.

  • Nesting LVs sounds like an interesting solution. Do you have any idea what the performance overhead would be of nested LVs? – jscott Jun 4 '18 at 1:12
  • @jscott I have no experience with this and no detailed kernel knowledge but it is just an additional device mapper lookup and thus should be extremely fast. I assume that even with SSDs you could not measure a difference. – Hauke Laging Jun 4 '18 at 6:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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