Got a call at 4am - RAID Gurus Please Read

Jimmy Hess mysidia at gmail.com
Fri Dec 12 02:31:15 UTC 2014


As for conversion between RAID levels;  usually dump and restore are
your best bet.
Even if your controller HBA supports a RAID level migration;  for a
small array hosted in
a server,  dump and restore is your least risky bet for successful
execution;  you
really need to dump anyways,  even on a controller that supports
clever RAID level migrations
(The ServeRaid does not fall into this category),
there is the possibility that the operation fails,  leading to data
loss,  so backup first.

On Wed, Dec 10, 2014 at 2:49 AM, Seth Mos <seth.mos at dds.nl> wrote:
> symack schreef op 9-12-2014 22:03:
[snip]
> Raid10 is the only valid raid format these days. With the disks as big
> as they get these days it's possible for silent corruption.

No!  Mistake.   It depends.

RAID6, RAID60, RAID-DP, RAIDZ3, and a few others are perfectly valid
RAID formats,
with sufficient sparing. You get fewer extra average random write IOPS
per spindle,
but better survivability,   particularly in the event of simultaneous
double failures or even a simultaneous triple-failure  or simultaneous
quadruple failure  (with appropriate RAID group sizing),  which are
not necessarily as rare as one might intuitively expect.

And silent corruption can be addressed partially via surface scanning
and built-in ECC on the hard drives,
then also  (for Non-SATA SAS/FC drives), the decent array subsystems
low-level formatted disks with larger sector size  at the time of
initialization  and slip in additional error correction data within
each chunk's metadata,  so silent corruption or  bit-flipping isn't
necessarily so silent on a decent piece of storage equipment.

If you need to have a configuration less than 12 disk drives, where
you require good performance
for many small random reads and writes,  and only cheap controllers
are an option,
then yeah you probably need Raid10, but not always.

In case you have a storage chassis with 16 disk drives, an integrated
RAID controller,
a solid 1 to 2gb NVRAM cache and a few gigabytes read cache,  then
RAID6 or RAID60,  or  (maybe) even RAID50 could be a solid option for
a wide number of use cases.

You really just need to calculate an upper bound on the right number
of spindles spread over the right number of host ports for the
workload adjusted based on which RAID level you pick with sufficient
cache  (taking into account the caching policy  and  including a
sufficiently large safety factor to encompass inherent uncertainties
in  spindle performance  and the level of variability for your
specific overall workload).


--
-JH



More information about the NANOG mailing list