I have a machine with three, fifteen drive mdraid RAID-6 arrays (md10, md20, md30.) These three arrays are then setup as physical volumes for LVM and combined into a single volume group.
I then have been creating logical volumes from the VG using the following command:
lvcreate -i 3 -I 4 -L 10T -n
These volumes are then being served out as block devices via FCoE.
My question is if I need to do anything with the chunk/stripe sizes to make this work as well as it should? If I have 15 drive, RAID-6 arrays, does the stripe size that LVM passes down to the RAID device need to be 13x the size of the RAID chunk size (since I have double parity) so that I can actually get the full speed of all 45 drives?
OS is RHEL 7, LVM version is 2.02.115(2)-RHEL7.
Aligning the LV chunk sizes with the RAID per-disk stripe size might improve performance, as it reduces the need to touch multiple disks to get a single LV chunk. I'd be inclined to think that making the LV chunk size the array stripe size (ie 13x per-disk stripe size) wouldn't do anything for you. If you're doing a lot of linear reads, setting a large readahead is likely to be the best performance improvement.
Given the low probability that you'll find someone who has experience with exactly your configuration, and given how much impact your specific workload will have on performance, I think you'll need to do a whole bunch of benchmarking to get the answer to your question. I, for one, would be interested to see what the results are.