Date: Sat, 28 Jun 2008 19:01:13 +0100 From: Matthew Seaman <m.seaman@infracaninophile.co.uk> To: prad <prad@towardsfreedom.com> Cc: freebsd-questions@freebsd.org Subject: Re: first pre-emptive raid Message-ID: <48667C69.2060109@infracaninophile.co.uk> In-Reply-To: <20080628095613.38e92182@gom.home> References: <20080628005702.2137bb8c@gom.home> <200806281302.20814.pieter@degoeje.nl> <20080628095613.38e92182@gom.home>
next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig20A678F7FC6998F6733F7F0D Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable prad wrote: > why in diagram 20-3 of the handbook do they show 2 parity blocks though= > for disk3 and disk4? why would you ever have more than 1 for any single= > disk? The diagram shows a RAID5 made out of a number of disk stripes spread across 4 physical drives. It's the /stripes/ that are the basic building= block, not the disks in that implementation. What RAID5 does is take N-1 data blocks and adds a Nth parity block as a stripe across the N drives. ie. reading across the diagram the first stripe consists of the top row of 3 data blocks on the first three disks plus the 1 parity block= on the top row on the 4th disk. The next stripe (the 2nd row down) arrang= es=20 it as data data parity data, and so forth for the succeeding stripes. The parity blocks are staggered across the drives to even out the traffic= =20 levels on each spindle. As the diagram shows, it's not always possible to= =20 have an exactly equal balance of parity and data blocks per drive. The diagram is simplistic though -- in a real system the stripe size would be= something like N*128k -- which means that there would be millions of stri= pes on typical GB sized disks, so the differences between drives are entirely= =20 neglible. You have to have at least three disks to make a RAID5, and while=20 theoretically you can have as many disks as you want, there's a practical= limit somewhere around 12-13 drives [Remember, you have to calculate the XOR of all the data blocks in the stripe on any IO operation, and with so= =20 many drives, that rapidly becomes onerous.] The sweet spot seems to be around 7 drives. There is a variant not supported by vinum called RAID6 -- this is simply RAID5 with the parity block doubled up as a backup. It's relatively new and available under FreeBSD only by using hardware cards (Areca, 3ware et= c.) All this does is allow the file system to survive loss of any *two* disks= --=20 something that is more likely to occur than you might think, particularly= as the number of disks per RAID goes up. Cheers, Matthew --=20 Dr Matthew J Seaman MA, D.Phil. 7 Priory Courtyard Flat 3 PGP: http://www.infracaninophile.co.uk/pgpkey Ramsgate Kent, CT11 9PW --------------enig20A678F7FC6998F6733F7F0D Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (FreeBSD) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEAREIAAYFAkhmfG8ACgkQ8Mjk52CukIx9WwCcDTcEGJg36OYFd73bY5QD2hzf Vs0Anib/FI/bSZUG+LNRoNGs9Y2uXtoJ =RyEz -----END PGP SIGNATURE----- --------------enig20A678F7FC6998F6733F7F0D--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?48667C69.2060109>