ZfS & GEOM with many odd drive sizes

Mark Powell M.S.Powell at salford.ac.uk
Thu Jul 26 07:47:17 UTC 2007


On Thu, 26 Jul 2007, Doug Rabson wrote:

> When its reading, RAID-Z only has to read the blocks which contain data
> - the parity block is only read if either the vdev is in degraded mode
> after a drive failure or one (two for RAID-Z2) of the data block reads
> fails.

Yes, but that article does not mention reading parity. What it's saying is 
that every block is striped across multiple drives. The checksum for that 
block thus applies to data which is on multiple drives. Therefore to 
checksum a block you have to read all the parts of the block from every 
drive except one in the RAIDz array:

"This makes read performance of a RAID-Z pool be the same as that of a 
single disk, even if you only needed a small read from block D."

> For pools which contain a single RAID-Z or RAID-Z2 group, this is
> probably a performance issue. Larger pools containing multiple RAID-Z
> groups can spread the load to improve this.

This isn't something that's immediately obvious, coming from fixed stripe 
size raid5. Now it seems that the variable stripe size has a rather 
serious performance penalty.
   It seems that if you have 8 drives, it'd be much more prudent to make 
two RAIDz of 3+1 rather than one of 6+2.
   Cheers.

-- 
Mark Powell - UNIX System Administrator - The University of Salford
Information Services Division, Clifford Whitworth Building,
Salford University, Manchester, M5 4WT, UK.
Tel: +44 161 295 4837  Fax: +44 161 295 5888  www.pgp.com for PGP key


More information about the freebsd-fs mailing list