tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Lockups and other trouble using large disks, raid(4), cgd(4), dk(4)

On Fri, Nov 21, 2008 at 04:24:25AM +0100, Nino Dehne wrote:
> So for a 5-component RAID5 using a stripe size of 32 sectors the optimal
> block size is 32 sectors * 4  = 64KB.

Note that RAIDframe's usage here is rather odd, as it calls "stripe size"
the size per-component within the stripe, whereas the literature (and
most RAID vendors) use it to refer to the total size of the data within
the stripe.

The real problem with the claim above is that it should say that the
optimal *write* size is 64K.  FFS clusters blocks on write.  There should
be little advantage to using a 64K block size instead of, say, an 8K
block size, because modern FFS will cluster writes to 64K anyway unless
you tell it otherwise (which you might do, for instance, if you happened
to have an array with only 3 data disks: you cannot run FFS with a 48K
blocksize, but you *can* run it with a 16K blocksize and a "maxcontig" of
3, producing 48K writes).

> Also, file systems on a RAID5 should be aligned to that size, otherwise
> write performance is equally poor.

Unfortunately, nothing guarantees that the data blocks will end up neatly
aligned to 64K.  However, RAIDframe does at least build its fake disk
geometry to do the best it can.


Home | Main Index | Thread Index | Old Index