Subject: Re: RAIDframe questions
To: Jeff Rizzo <riz@boogers.sf.ca.us>
From: Greg Oster <oster@cs.usask.ca>
List: current-users
Date: 04/19/2002 11:16:47
Jeff Rizzo writes:
> On Thu, Apr 18, 2002 at 02:39:17PM -0600, Greg Oster wrote:
> > Jeff Rizzo writes:
> > > Any feedback/input would be most appreciated... I've now got it running
> > > a 3-disk raid5, but the write performance is so bad I'm considering
> > > other options. 
> > 
> > With a little tweaking, you can probably improve the write performance a fa
> ir 
> > bit... e.g. what is the block/frag size on the filesystem, and what is the 
> > stripe width that you've selected?  With some playing around, you should be
>  
> > able to bump up the perf numbers a fair bit... 
> 
> OK, I'm doing some of that tweaking now, playing with different 
> block/frag sizes and stripe widths.  One issue that's come up is
> that I'm not entirely sure what the accepted way of recreating a 
> raid set with different params is... when I change something in the
> conf file (like stripe width), and reconfigure the raid set, it
> claims the parity's still good, which seems counterintuitive to
> me.  Perhaps I need to erase the component labels? 

Yup. 

> Is there
> any way to do this short of dd'ing the whole disk with zeros?

You just need to nuke the first 32 blocks (16K) at an offset of 16K from the 
beginning of the partition.  (if the partition doesn't start at block 0, then 
you can just nuke the first 32K without worrying about disklabels and such).

> Also, I know that the tradeoffs of stripe width and block size are
> the subject of much research, but is there any site (or other
> reference) which has some discussion of the tradeoffs expected?  I've
> seen your raidframe webpage, and that's helped get me started.

There is a little discussion of this in the "Performance Tuning" section of 
'man raidctl', but that is meant to be a 'general' discussion too... 
I suspect there are lots of papers written about it, but I'm not aware of any 
off the top-of-my-head.
 
> One more thing - when I was asking about configuring the 4-disk
> raid5 on irc, someone mentioned that 4 disks might not be a good
> choice for raid5 because of how the stripes land on the disk, and
> referred to some discussion on one of the lists.  I have not
> been able to find this discussion, and wondered if there's anything
> to the assertion?

The 'problem' with 4 disks is that you have (effectively) 3 data disks.  
Since most times you're doing a 'power-of-two' write (e.g. 16K or 32K), 
it's impossible to divide that power-of-two data by 3 and have a nice 
full-stripe write.  That leaves you with doing partial writes all the 
time, and those are the ones that kill RAID 5 write performance.  

For a 3-disk RAID 5 set, a stripe width of 64 blocks will probably perform 
the best.  If your data consists of mostly 'large' files, you might try 
a block/frag combination of 32K/4K for the filesystem.  

Later...

Greg Oster