Date: Mon, 9 Feb 2009 09:08:02 -0800 (PST) From: Gabe <nrml@att.net> To: freebsd-questions@freebsd.org Subject: Re: FreeBSD Preferred RAID controllers Message-ID: <935744.1303.qm@web83814.mail.sp1.yahoo.com> In-Reply-To: <498F38A7.8000602@infracaninophile.co.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
--- On Sun, 2/8/09, Matthew Seaman <m.seaman@infracaninophile.co.uk> wrote: > From: Matthew Seaman <m.seaman@infracaninophile.co.uk> > Subject: Re: FreeBSD Preferred RAID controllers > To: nrml@att.net > Cc: "Wojciech Puchar" <wojtek@wojtek.tensor.gdynia.pl>, freebsd-questions@freebsd.org > Date: Sunday, February 8, 2009, 11:55 AM > Gabe wrote: > > --- On Sun, 2/8/09, Wojciech Puchar > <wojtek@wojtek.tensor.gdynia.pl> wrote: > > > >> From: Wojciech Puchar > <wojtek@wojtek.tensor.gdynia.pl> > > >>> I have to build a file server that will need > to run a > >> RAID 0+1 config > > If you want reliability, then use RAID10, not RAID0+1. For > RAID10, > you first create mirrored pairs of drives, then you stripe > across all > the mirrors. This is superior to RAID0+1 where you divide > your > drives into two equal pools, create a stripe across all the > drives in > each pool, and then mirror the stripes. > > Raw to usable space ratio is the same, performance > characteristics > are similar and good either way (some workloads, > particularly those > involving lots of small random IOs are particularly > favourable on > RAID10 (eg like the usage pattern of most RDBMses) whereas > sequentially streaming large single files is happiest on > RAID0+1 > (eg. recording or playing video streams)). However imagine > a RAID > consisting of 2N drives. If one drive fails, then in > RAID10, *one* > of your N mirrors is degraded, and the rest work normally. > In > RAID0+1, it's one of the 2 *stripes* that is degraded > -- effectively > taking out half of your drives. Or to put it another way: > given > one drive has already died and the RAID is degraded, in > either > scenario, just one more disk death can take the RAID out > completely. > However with RAID10 there's exactly 1 drive whose death > could have > that effect -- failure of any of the other 2N-2 drives will > degrade > the RAID further, but it will still keep working. With > RAID0+1 if > the second disk to fail is any of the N drives from the > other stripe, > it will kill the whole RAID array. > > >> the best is gmirror+gstripe. of course for those > who want > >> to pay there are a lot of "hardware" > solutions. > > > Hey I'm all for saving money, but I'm unsure > of the reliability of a > > 'software' solution vs a hardware one. Not to > mention my biggest > > concern which is the failure of the Boot drive and how > to recover > > from that using software raid. > > Software striping and mirroring is extremely reliable -- > probably more > so than using a hardware RAID card as there's simply > less to go wrong. > On the other hand hardware RAID offers some big performance > advantages > by being able to cache data in battery backed RAM[*] on the > card, instead > of requiring you to wait until it's been written to > persistent storage on > the drives themselves. > While you can certaily boot from a gmirror RAID1, I > don't believe it's > possible to boot from a gstripe -- but because this all > works via the > geom framework, you can create stripes / mirrors at the > filesystem level > -- so you can have a small separate RAID1 to boot from and > to hold the > OS (either a dedicated pair of disks, or a pair of equal > sized partitions, > and then create a RAID10 over the rest of the disks to hold > your data. > I believe there is no requirement for the component parts > of a gstripe > to all be the same size > Cheers, > > Matthew > > [*] For mirroring and striping, the only real justification > for using > hardware RAID is the performance benefit from the Battery > Backup Unit on > the RAID card. For RAID5 while a BBU is a *really good > idea* it can > justify itself by offloading parity calculations from the > main CPU. > > -- Dr Matthew J Seaman MA, D.Phil. 7 > Priory Courtyard > Flat 3 > PGP: http://www.infracaninophile.co.uk/pgpkey Ramsgate > Kent, CT11 > 9PW Thank you, this is a very well-written response and I appreciate the time you took to type it all up. Now with a gstripe+gmirror setup, would it be possible to fail a specific drive on purpose? I mean fail a (good) drive, pull it out, replace it and rebuild(?) it. I know I know, but humor me.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?935744.1303.qm>