Skip site navigation (1)Skip section navigation (2)
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>