[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[K12OSN] RAID in general ... was ... Software RAID... long messages

Bert here,

This isn't a definitive guide to RAID either, only what I can remember.
This information could contain some discrepancies.

> <snip>...The problem is not the drive, but the IDE interface.

As others have experienced IDE performance starts to degrade as the
number of users increases. This is anecdotal evidence, but if all the
major manufacturers use SCSI there is likely to be a good reason. (I can
hear the skeptics saying "yeah $" even now).

> >
> >Does anyone have any experience with linux and software RAID?  I make
> >nightly backups, so short of HORRIBLE un-reliability, I'm not overly
> >concerned about doubling my chances of a hard drive failure.  Is the
> >difference in speed noticable?  Does it put a big load on the CPU?  Does
> >striping help more with large files, or small files?  Both?
> >

Software RAID will load up the CPU. For a small number of users this MAY
be acceptable.

Hardware RAID is preferable. Hardware controllers have their own
processor on card so the server cpu is free to do server stuff. 

Some older RAID controllers used the INTEL 80186. The newer controllers
I have encountered appear to use a MOTOROLLA processor, but I haven't
seen every make and model available.

Striping will improve performance, because you get multiple simultaneous
reads and writes.

Think of it like this -

You have 8 bits of data and 8 drives (for striping eg RAID 0,4,5)

Instead of writing the data to a single drive serially, you now get the
data written ACROSS 8 drives in parallel, IE bit1 to drive1, b2 to d2...
and so on.

What happens when a drive fails in a stripe set? 
This depends on the RAID level used.

RAID 0 = stripe set, no parity. 
Loose 1 drive = disaster

RAID 4 = STRIPE set w/parity bit on separate drive. 
Loose 1 drive = no problem unless it is the parity drive. 
This level tends to thrash the parity drive therefore it has a higher
failure rate then the data drives.
This level can carry on with a dead data drive.
It isn't used very much because of the parity drive failure rates.

RAID 5 = stripe set w/parity bit distributed across drives.
Loose 1 drive = no problem, data and parity is distributed. This level
can carry on with one dead drive. 
If you have hot swap drives and the controller is capable you can change
a drive without downing the server. I've seen this done successfully on
Compaq servers running NT or Netware.

RAID 1 is a separate kettle of fish. This is drive mirroring. 
Bit1 is written to d1 & d2, b2 to d1 & d2, and so on. Serial data writes
to parallel drives. 
Loose 1 drive, no problems.
With hot swap drives this will rebuild on the fly as well.

So what has this got to do with anything?

Software RAID is usually confined to level 0 & 1.The other options
require a lot of processor time controlling writes AND parity checking
for each stripe. Distributing the parity bits across drives requires
more processing.

Here's the cool part, you can combine RAID levels IE RAID 5+1. I'm not
sure if this available in software.

What is RAID 5+1?

Two identical stripe sets with distributed parity that have been

Theoretically you can loose several drives and continue to operate with
this configuration.
> Seperating the issues ;
> Stripe/RAID will double your statistical chance of a HDD causing a 
> server failure - an unacceptable risk IMO.   

Not quite true. This is dependent on the RAID level / combination you
use, AND the $ you have available. ;-)

Putting it in very simple terms

No parity = high disaster probability
Mirror only / Parity only = lower disaster probability
Parity + mirror = lowest disaster probability

> RAID means *redundant* disks - not the other way around.

R edundant
A rray
I ndependant
D rives

I know this was long but hopefully it will help.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]