[linux-lvm] RFE? Really power of 2? extents, chunks and raid alignment

Lars Ellenberg lars.ellenberg at linbit.com
Wed Jul 25 20:06:25 UTC 2012


On Sun, Jul 22, 2012 at 11:22:39AM -0700, Linda Walsh wrote:
> 
> 
> 
> I was trying to figure out why I didn't get performance out of my RAID,
> except when operating on really large files where it's many stripes
> v. 1 stripe.
> 
> I have 12 data disks in a RAID 50 (3 RAID5's in a RAID0) and use a suggested
> stripesize of 64k, so a stripe-width of 768k.
> 
> Some issues that have been nagging me though are getting my allocations
> lined up on 768k boundaries.  xfs is no prob -- tell it 64k and 12
> and it does it.
> 
> But I just realized that lvm doesn't really tell me where it is
> aligning things

pvs --units s -o pv_name,vg_name,pe_start

pvcreate: --metadatasize, --dataalignment, --dataalignmentoffset
vgcreate: --physicalextentsize

> and worse, only lets me align both chunksizes for lv's and extents for vg's
> in powers of 2.   Um... Not a multiple of 4k? or 64k?
> 
> Am I wrong in thinking this would tend to give me both pv's and lv's that
> are very likely NOT to be stripe-width aligned, but, worse, not stripewidth
> alignable, at all.
> 
> This would mean that a high performance file system aware of RAID
> stripe with
> that tries to allocate chunks starting on a 768k boundary are likely
> to just
> get it completely wrong?  No?
> 
> Or what am I missing?

If you get the pvcreate --dataalignment right,
Any PE size 256k and larger will be fine,
just make sure you allocate your LV sizes in multiple of 3 PEs.

lvcreate -n lv_bla -l $(( (lv_size_kb / pe_size_kb + 2) / 3 * 3 )) vg_foo


-- 
: Lars Ellenberg
: LINBIT | Your Way to High Availability
: DRBD/HA support and consulting http://www.linbit.com




More information about the linux-lvm mailing list