Re: FreeBSD Preferred RAID controllers



--- On Sun, 2/8/09, Matthew Seaman <m.seaman@xxxxxxxxxxxxxxxxxxxxxx> wrote:
From: Matthew Seaman <m.seaman@xxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: FreeBSD Preferred RAID controllers
To: nrml@xxxxxxx
Cc: "Wojciech Puchar" <wojtek@xxxxxxxxxxxxxxxxxxxxxxx>, freebsd-questions@xxxxxxxxxxx
Date: Sunday, February 8, 2009, 11:55 AM
Gabe wrote:
--- On Sun, 2/8/09, Wojciech Puchar
<wojtek@xxxxxxxxxxxxxxxxxxxxxxx> wrote:

From: Wojciech Puchar
<wojtek@xxxxxxxxxxxxxxxxxxxxxxx>

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.
_______________________________________________
freebsd-questions@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • Re: Poor raid 1 performance?
    ... I basically assumed a 1-sector stripe ... > Or that the stripe size is lower than available free cache on the RAID ... > delivered to the main system by the RAID controller, ... interface mismatch between drives and host interface. ...
    (comp.sys.ibm.pc.hardware.storage)
  • Re: Data recovery from a RAID set with XP Pro
    ... > I fear I am not certain which is Mirror and which is Stripe. ... > drives are set up as two pairs of Master and Slave, ... RAID 0+1 can be configured so that a channel mirrors a channel with the ...
    (microsoft.public.windowsxp.basics)
  • Re: Hard Drive configuration
    ... RAID 1 is Mirroring ... Hot swap is down to the Hardware you are looking at, Mainly a SCSI user for ... type drives ... > some sort of RAID (RAID 0 is mirrors, ...
    (microsoft.public.windows.server.sbs)
  • Re: FreeBSD Preferred RAID controllers
    ... you first create mirrored pairs of drives, then you stripe across all ... However imagine a RAID ... of your N mirrors is degraded, ...
    (freebsd-questions)
  • Re: RAID and Cluster!!
    ... By RAID 1+0 do you mean a stripe of mirrors or a mirror ... A stripe of mirrors gives much greater redundancy than the other ... doesn't matter if it is a cluster or a standalone SQL Server, ...
    (microsoft.public.sqlserver.clustering)