2002-06-02 23:01:27

by Roy Sigurd Karlsbakk

[permalink] [raw]
Subject: RAID-6 support in kernel?

hi all

I'n working on server setup with some 16 disks in RAID-5; one of them a
spare. After a little reading, I find myself longing for support for
RAID-6 support in kernel, giving the opportunity to allow for two failed
drives without a chrash (see links about RAID-6 below if interested).

I am aware of that not all kernel hackers like such configurations, and
that some will rather see small RAID-configurations connected with VLM.
I beleive there is a reason for using RAID-6, and RAID-controller vendors
(such as Compaq) are already using them, so why shouldn't linux do so
also? With a high number of cheap IDE drives, the chance of one failing is
quite high, so why not RAID-6? At least for a system doing most reads...

thanks

roy

RAID-6 layout: http://www.acnc.com/04_01_06.html

--
Roy Sigurd Karlsbakk, Datavaktmester

Computers are like air conditioners.
They stop working when you open Windows.


2002-06-03 00:33:18

by Derek Vadala

[permalink] [raw]
Subject: Re: RAID-6 support in kernel?

On Mon, 3 Jun 2002, Roy Sigurd Karlsbakk wrote:

> I am aware of that not all kernel hackers like such configurations, and
> that some will rather see small RAID-configurations connected with VLM.
> I beleive there is a reason for using RAID-6, and RAID-controller vendors
> (such as Compaq) are already using them, so why shouldn't linux do so
> also? With a high number of cheap IDE drives, the chance of one failing is
> quite high, so why not RAID-6? At least for a system doing most reads...

See the following thread from March 2002 on linux-raid:
http://groups.google.com/groups?hl=en&lr=&safe=off&th=804941541a023c63&seekm=linux.raid.Pine.LNX.4.44.0203261239110.12942-100000

You can always fake this effect by combining two 8-disk RAID-5s into a
RAID-0. It's not technically RAID-6, but can withstand a 2-disk failure,
although not _any_ 2-disk failure. However, it's my understanding that
RAID-6 cannot withstand _any_ two disk failure either (see the above
thread).

I also suspect that the use of dual RAID-5s combined with the CPU overhead
of ATA will kill most systems under any kind of load. For that matter, the
2x parity hit from RAID-6 probably wouldn't make you CPU too happy either,
even if there was a kernel driver that implemented it.

---
Derek Vadala, [email protected], http://www.cynicism.com/~derek


2002-06-03 07:35:39

by Kasper Dupont

[permalink] [raw]
Subject: Re: RAID-6 support in kernel?

Roy Sigurd Karlsbakk wrote:
>
> hi all
>
> I'n working on server setup with some 16 disks in RAID-5; one of them a
> spare. After a little reading, I find myself longing for support for
> RAID-6 support in kernel, giving the opportunity to allow for two failed
> drives without a chrash (see links about RAID-6 below if interested).
>
> I am aware of that not all kernel hackers like such configurations, and
> that some will rather see small RAID-configurations connected with VLM.
> I beleive there is a reason for using RAID-6, and RAID-controller vendors
> (such as Compaq) are already using them, so why shouldn't linux do so
> also? With a high number of cheap IDE drives, the chance of one failing is
> quite high, so why not RAID-6? At least for a system doing most reads...
>
> thanks
>
> roy
>
> RAID-6 layout: http://www.acnc.com/04_01_06.html

If it is supposed to survive two arbitrary disk failures something is
wrong with that figure. They store 12 logical sectors in 20 physical
sectors across 4 drives. With two lost disks there are 10 physical
sectors left from which we want to reconstruct 12 logical sectors.
That is impossible.

OTOH it is possible to construct a system with optimal capacity and
ability to survive any chosen number of disk failures. This can be
done using either a Reed-Soloman code or Lagrange interpolation of
polynomials over a finite field.

However I guess those techniques would be inefficient in software.

--
Kasper Dupont -- der bruger for meget tid p? usenet.
For sending spam use mailto:[email protected]

2002-06-03 08:24:30

by Roy Sigurd Karlsbakk

[permalink] [raw]
Subject: Re: RAID-6 support in kernel?

> You can always fake this effect by combining two 8-disk RAID-5s into a
> RAID-0. It's not technically RAID-6, but can withstand a 2-disk failure,
> although not _any_ 2-disk failure. However, it's my understanding that
> RAID-6 cannot withstand _any_ two disk failure either (see the above
> thread).

It'll waste 9 drives, giving me a total capacity of 7n instead of 14n.
And, by definition, RAID-6 _can_ withstand _any_ two-drive failure.

> I also suspect that the use of dual RAID-5s combined with the CPU overhead
> of ATA will kill most systems under any kind of load. For that matter, the
> 2x parity hit from RAID-6 probably wouldn't make you CPU too happy either,
> even if there was a kernel driver that implemented it.

With a 1500MHz Athlon on a typical file server where there's not much
writes, the CPU is sitting there chrunching RC5-64 som 99,95 % of the
time. I don't think it'll make much differnce with today's CPUs

roy

--
Roy Sigurd Karlsbakk, Datavaktmester

Computers are like air conditioners.
They stop working when you open Windows.

2002-06-03 08:28:25

by Roy Sigurd Karlsbakk

[permalink] [raw]
Subject: Re: RAID-6 support in kernel?

> > RAID-6 layout: http://www.acnc.com/04_01_06.html
>
> If it is supposed to survive two arbitrary disk failures something is
> wrong with that figure. They store 12 logical sectors in 20 physical
> sectors across 4 drives. With two lost disks there are 10 physical
> sectors left from which we want to reconstruct 12 logical sectors.
> That is impossible.

Might be the diagram is wrong. Ok. But I know people like Compaq are
already doing RAID-6.

> OTOH it is possible to construct a system with optimal capacity and
> ability to survive any chosen number of disk failures. This can be
> done using either a Reed-Soloman code or Lagrange interpolation of
> polynomials over a finite field.
>
> However I guess those techniques would be inefficient in software.

Yeah? That's what the hardware RAID vendors all say, and I yet haven't
seen one single test where Linux Software RAID can't beat hardware RAID.
That is also after some testing I did on a high-end intel server at
Compaq's lab in Oslo. How can RAID-6 be so much different?

roy

--
Roy Sigurd Karlsbakk, Datavaktmester

Computers are like air conditioners.
They stop working when you open Windows.

2002-06-03 08:57:59

by Kasper Dupont

[permalink] [raw]
Subject: Re: RAID-6 support in kernel?

Roy Sigurd Karlsbakk wrote:
>
> > > RAID-6 layout: http://www.acnc.com/04_01_06.html
> >
> > If it is supposed to survive two arbitrary disk failures something is
> > wrong with that figure. They store 12 logical sectors in 20 physical
> > sectors across 4 drives. With two lost disks there are 10 physical
> > sectors left from which we want to reconstruct 12 logical sectors.
> > That is impossible.
>
> Might be the diagram is wrong.

Could be the case, so until I find another description I will
still not know how RAID-6 works.

>
> > OTOH it is possible to construct a system with optimal capacity and
> > ability to survive any chosen number of disk failures. This can be
> > done using either a Reed-Soloman code or Lagrange interpolation of
> > polynomials over a finite field.
> >
> > However I guess those techniques would be inefficient in software.
>
> Yeah? That's what the hardware RAID vendors all say, and I yet haven't
> seen one single test where Linux Software RAID can't beat hardware RAID.

Well, I'm not a hardware vendor. I just happen to have tried
doing it in software, and I wasn't able to do it efficiently.

> That is also after some testing I did on a high-end intel server at
> Compaq's lab in Oslo. How can RAID-6 be so much different?

I guess RAID-6 can be done efficiently in software. It is the
other encodings I'm worried about.

--
Kasper Dupont -- der bruger for meget tid p? usenet.
For sending spam use mailto:[email protected]

2002-06-03 09:25:29

by Derek Vadala

[permalink] [raw]
Subject: Re: RAID-6 support in kernel?

On Mon, 3 Jun 2002, Roy Sigurd Karlsbakk wrote:

> It'll waste 9 drives, giving me a total capacity of 7n instead of 14n.
> And, by definition, RAID-6 _can_ withstand _any_ two-drive failure.

This is certainly not true.

Combining N RAID-5 into a stripe wastes on N disks.

If you combine two it wastes 2 disks, etc.

That is, for each RAID-5 you waste a single disk worth of storage for
partiy. I don't know what equation you're using where you get 9 drives
from.

As far as it's ability to withstand _any_ 2-disk failure... I'm not sure
what you mean by definition. RAID-6 implemations don't follow a standard
because there isn't one. Depending on how it's implemented, RAID-6 is not
necessarily able to withstand a filaure of any two disks. We can argue as
much as you want, but I'm not willing to invest the time.

> With a 1500MHz Athlon on a typical file server where there's not much
> writes, the CPU is sitting there chrunching RC5-64 som 99,95 % of the
> time. I don't think it'll make much differnce with today's CPUs

It's up to you to decide if the performance trade-off is worthwhile. I
merely trying to point out that system with 2 RAID-5 is likely to incur
the same CPU hit as a single RAID-6, implemented in the kernel.


---
Derek Vadala, [email protected], http://www.cynicism.com/~derek

2002-06-03 09:31:50

by Vojtech Pavlik

[permalink] [raw]
Subject: Re: RAID-6 support in kernel?

On Mon, Jun 03, 2002 at 02:25:22AM -0700, Derek Vadala wrote:
> On Mon, 3 Jun 2002, Roy Sigurd Karlsbakk wrote:
>
> > It'll waste 9 drives, giving me a total capacity of 7n instead of 14n.
> > And, by definition, RAID-6 _can_ withstand _any_ two-drive failure.
>
> This is certainly not true.
>
> Combining N RAID-5 into a stripe wastes on N disks.
>
> If you combine two it wastes 2 disks, etc.
>
> That is, for each RAID-5 you waste a single disk worth of storage for
> partiy. I don't know what equation you're using where you get 9 drives
> from.

He was thinking "mirror", not "stripe". Mirror of 2 RAID-5 arrays (would
be probably called RAID-15 (when there is a RAID-10 for mirrored stripe
arrays)), can withstand any two disks failing anytime. Even more for
certain combinations. But it is terribly inefficient.

> As far as it's ability to withstand _any_ 2-disk failure... I'm not sure
> what you mean by definition. RAID-6 implemations don't follow a standard
> because there isn't one. Depending on how it's implemented, RAID-6 is not
> necessarily able to withstand a filaure of any two disks. We can argue as
> much as you want, but I'm not willing to invest the time.
>
> > With a 1500MHz Athlon on a typical file server where there's not much
> > writes, the CPU is sitting there chrunching RC5-64 som 99,95 % of the
> > time. I don't think it'll make much differnce with today's CPUs
>
> It's up to you to decide if the performance trade-off is worthwhile. I
> merely trying to point out that system with 2 RAID-5 is likely to incur
> the same CPU hit as a single RAID-6, implemented in the kernel.

--
Vojtech Pavlik
SuSE Labs

2002-06-03 14:52:28

by Kasper Dupont

[permalink] [raw]
Subject: Re: RAID-6 support in kernel?

Vojtech Pavlik wrote:
>
> He was thinking "mirror", not "stripe". Mirror of 2 RAID-5 arrays (would
> be probably called RAID-15 (when there is a RAID-10 for mirrored stripe
> arrays)), can withstand any two disks failing anytime.

It can actually withstand any *three* disks failing anytime.

> Even more for
> certain combinations. But it is terribly inefficient.

--
Kasper Dupont -- der bruger for meget tid p? usenet.
For sending spam use mailto:[email protected]

2002-06-03 14:56:09

by Vojtech Pavlik

[permalink] [raw]
Subject: Re: RAID-6 support in kernel?

On Mon, Jun 03, 2002 at 04:52:16PM +0200, Kasper Dupont wrote:

> > He was thinking "mirror", not "stripe". Mirror of 2 RAID-5 arrays (would
> > be probably called RAID-15 (when there is a RAID-10 for mirrored stripe
> > arrays)), can withstand any two disks failing anytime.
>
> It can actually withstand any *three* disks failing anytime.

Yes, you're right.

> > Even more for
> > certain combinations. But it is terribly inefficient.

--
Vojtech Pavlik
SuSE Labs

2002-06-04 11:11:08

by Allan Sandfeld

[permalink] [raw]
Subject: Re: RAID-6 support in kernel?

On Monday 03 June 2002 10:57, Kasper Dupont wrote:
> Roy Sigurd Karlsbakk wrote:
> > > > RAID-6 layout: http://www.acnc.com/04_01_06.html
> > >
> > > If it is supposed to survive two arbitrary disk failures something is
> > > wrong with that figure. They store 12 logical sectors in 20 physical
> > > sectors across 4 drives. With two lost disks there are 10 physical
> > > sectors left from which we want to reconstruct 12 logical sectors.
> > > That is impossible.
> >
> > Might be the diagram is wrong.
>
> Could be the case, so until I find another description I will
> still not know how RAID-6 works.
>
It's not just the diagram, the theory is wrong. You need to use at least log2
n+1 disks for partition if you want to handle any two lost/borked disks. (16
disks would give 11x diskspace).

2002-06-04 12:50:17

by Roy Sigurd Karlsbakk

[permalink] [raw]
Subject: Re: RAID-6 support in kernel?

On Monday 03 June 2002 16:52, Kasper Dupont wrote:
> Vojtech Pavlik wrote:
> > He was thinking "mirror", not "stripe". Mirror of 2 RAID-5 arrays (would
> > be probably called RAID-15 (when there is a RAID-10 for mirrored stripe
> > arrays)), can withstand any two disks failing anytime.
>
> It can actually withstand any *three* disks failing anytime.

still - I don't want to waste that money

--
Roy Sigurd Karlsbakk, Datavaktmester

Computers are like air conditioners.
They stop working when you open Windows.

2002-06-04 12:51:42

by Kasper Dupont

[permalink] [raw]
Subject: Re: RAID-6 support in kernel?

Allan Sandfeld wrote:
>
> On Monday 03 June 2002 10:57, Kasper Dupont wrote:
> > Roy Sigurd Karlsbakk wrote:
> > > > > RAID-6 layout: http://www.acnc.com/04_01_06.html
> > > >
> > > > If it is supposed to survive two arbitrary disk failures something is
> > > > wrong with that figure. They store 12 logical sectors in 20 physical
> > > > sectors across 4 drives. With two lost disks there are 10 physical
> > > > sectors left from which we want to reconstruct 12 logical sectors.
> > > > That is impossible.
> > >
> > > Might be the diagram is wrong.
> >
> > Could be the case, so until I find another description I will
> > still not know how RAID-6 works.
> >
> It's not just the diagram, the theory is wrong. You need to use at least log2
> n+1 disks for partition if you want to handle any two lost/borked disks. (16
> disks would give 11x diskspace).

But there are other encodings with 2 extra disks that can
handle 2 lost disks. And in general if you need x disks of
space and the ability to recover from y lost disks you can
do the encoding on x+y disks.

Knowing that why do we even consider RAID-6? I guess RAID-6
is a lot faster, is that true?

--
Kasper Dupont -- der bruger for meget tid p? usenet.
For sending spam use mailto:[email protected]

2002-06-04 13:58:04

by Allan Sandfeld

[permalink] [raw]
Subject: Re: RAID-6 support in kernel?

On Tuesday 04 June 2002 14:51, Kasper Dupont wrote:
> Allan Sandfeld wrote:
> > On Monday 03 June 2002 10:57, Kasper Dupont wrote:
> > > Roy Sigurd Karlsbakk wrote:
> > > > > > RAID-6 layout: http://www.acnc.com/04_01_06.html
> > > > >
> > > > > If it is supposed to survive two arbitrary disk failures something
> > > > > is wrong with that figure. They store 12 logical sectors in 20
> > > > > physical sectors across 4 drives. With two lost disks there are 10
> > > > > physical sectors left from which we want to reconstruct 12 logical
> > > > > sectors. That is impossible.
> > > >
> > > > Might be the diagram is wrong.
> > >
> > > Could be the case, so until I find another description I will
> > > still not know how RAID-6 works.
> >
> > It's not just the diagram, the theory is wrong. You need to use at least
> > log2 n+1 disks for partition if you want to handle any two lost/borked
> > disks. (16 disks would give 11x diskspace).
>
> But there are other encodings with 2 extra disks that can
> handle 2 lost disks. And in general if you need x disks of
> space and the ability to recover from y lost disks you can
> do the encoding on x+y disks.
>
> Knowing that why do we even consider RAID-6? I guess RAID-6
> is a lot faster, is that true?

I just looked at it. It is possible allright and the diagram looks ok.

If you have 3 disks A,B and C the parity is calculated by dividing the diskw
into typical lines, in this example I use 3 like they use on the diagram. We
then have a parity per line and one per disk. You can only regenerate one
block per parity, but since you have two full independ parities you can
replace any two.

A1 B1 C1 P1 (P1 = A1^B1^C1)
A2 B2 C2 P2
A3 B3 C3 P3
PA PB PC
(PA=A1^A2^A3)

As you can see if you wish to chech the parity for one read line(eg.A1-C1),
you can check directly against the horizontal parity P1. But if you wish to
check the horizontal parity you need to read the entire diskarray!

In reality I think one would only check the horizontal parity on reads,
giving you protection against 1 disk-errors, and only use the vertical parity
in case you need to regenerate a two lost disks.
The real problem is on each writes you still need to access at least one full
disk, and possibly all disks. As they write: there are no know commercial
implementations. I wonder why!

2002-06-04 18:54:57

by Bill Davidsen

[permalink] [raw]
Subject: Re: RAID-6 support in kernel?

On Sun, 2 Jun 2002, Derek Vadala wrote:

> You can always fake this effect by combining two 8-disk RAID-5s into a
> RAID-0. It's not technically RAID-6, but can withstand a 2-disk failure,
> although not _any_ 2-disk failure. However, it's my understanding that
> RAID-6 cannot withstand _any_ two disk failure either (see the above
> thread).

I think (hope) you meant 1+5, which will stand any three disk failure, and
up to 1+N/2 if just the right drives fail. They never do, of course.

> I also suspect that the use of dual RAID-5s combined with the CPU overhead
> of ATA will kill most systems under any kind of load. For that matter, the
> 2x parity hit from RAID-6 probably wouldn't make you CPU too happy either,
> even if there was a kernel driver that implemented it.

I doubt it. Unless you run a system with heavy CPU demand there are lots
of cycles for this stuff. I run 0+1 several places and I don't see serious
CPU load. I would be very interested in RAID-6 in the kernel, but I have
the feeling that RAID-6 means diferent things to diferent people, judging
from posts here and articles online. I haven't found the performance info
you, I assume I will.

--
bill davidsen <[email protected]>
CTO, TMR Associates, Inc
Doing interesting things with little computers since 1979.

2002-06-04 20:05:24

by Pavel Machek

[permalink] [raw]
Subject: Re: RAID-6 support in kernel?

Hi!

> > > It'll waste 9 drives, giving me a total capacity of 7n instead of 14n.
> > > And, by definition, RAID-6 _can_ withstand _any_ two-drive failure.
> >
> > This is certainly not true.
> >
> > Combining N RAID-5 into a stripe wastes on N disks.
> >
> > If you combine two it wastes 2 disks, etc.
> >
> > That is, for each RAID-5 you waste a single disk worth of storage for
> > partiy. I don't know what equation you're using where you get 9 drives
> > from.
>
> He was thinking "mirror", not "stripe". Mirror of 2 RAID-5 arrays (would
> be probably called RAID-15 (when there is a RAID-10 for mirrored stripe
> arrays)), can withstand any two disks failing anytime. Even more for

RAID-1 over two RAID-5s should withstand any three failures, AFAICS.

You could do RAID-5 over RAID-5. That should survive any 2 failures and
still be reasonably efficient.
Pavel
--
Philips Velo 1: 1"x4"x8", 300gram, 60, 12MB, 40bogomips, linux, mutt,
details at http://atrey.karlin.mff.cuni.cz/~pavel/velo/index.html.

2002-06-04 22:28:04

by Kasper Dupont

[permalink] [raw]
Subject: Re: RAID-6 support in kernel?

Pavel Machek wrote:
>
> Hi!
>
> > > > It'll waste 9 drives, giving me a total capacity of 7n instead of 14n.
> > > > And, by definition, RAID-6 _can_ withstand _any_ two-drive failure.
> > >
> > > This is certainly not true.
> > >
> > > Combining N RAID-5 into a stripe wastes on N disks.
> > >
> > > If you combine two it wastes 2 disks, etc.
> > >
> > > That is, for each RAID-5 you waste a single disk worth of storage for
> > > partiy. I don't know what equation you're using where you get 9 drives
> > > from.
> >
> > He was thinking "mirror", not "stripe". Mirror of 2 RAID-5 arrays (would
> > be probably called RAID-15 (when there is a RAID-10 for mirrored stripe
> > arrays)), can withstand any two disks failing anytime. Even more for
>
> RAID-1 over two RAID-5s should withstand any three failures, AFAICS.
>
> You could do RAID-5 over RAID-5. That should survive any 2 failures and
> still be reasonably efficient.

It will actually survive any 3 disk failures. It is reasonable
if you have a lot of disks. It requires at least 9 disks and
I would prefere at least 25 disks.

RAID-4 and RAID-5 are very similar. And it happens to be the
case that if you only use two disks RAID-1, RAID-4, and RAID-5
are all identical. And each of them can survive a single disk
failure.

Any two of these RAIDs on top of each other can survive three
disk failures. That is true because it takes four disk failures
to loose data. On the upper most RAID you must loose two of the
lower level RAIDs, each of these two must have lost two disks.

RAID-4 on top of RAID-4 is actually just a two-dimentional
parity. RAID-5 on top of RAID-5 is very similar.

--
Kasper Dupont -- der bruger for meget tid p? usenet.
For sending spam use mailto:[email protected]

2002-06-05 02:51:23

by jw schultz

[permalink] [raw]
Subject: Re: RAID-6 support in kernel?

On Mon, Jun 03, 2002 at 11:31:28AM +0200, Vojtech Pavlik wrote:
> On Mon, Jun 03, 2002 at 02:25:22AM -0700, Derek Vadala wrote:
>
> He was thinking "mirror", not "stripe". Mirror of 2 RAID-5 arrays (would
> be probably called RAID-15 (when there is a RAID-10 for mirrored stripe
> arrays)), can withstand any two disks failing anytime. Even more for
> certain combinations. But it is terribly inefficient.

All the authoritative literature says that
RAID-10 is striped mirrors (survive ~1/n 2 disk failures.)
RAID-0+1 is mirrored stripes (survive ~1/2 2 disk failures.)

What he is describing would be RAID-5+1, mirrored RAID-5s.
RAID-15 would be a RAID-5 of mirrors.
Both of these could survive any 3 disk failures.

--
________________________________________________________________
J.W. Schultz Pegasystems Technologies
email address: [email protected]

Remember Cernan and Schmitt

2002-06-05 09:28:35

by Roy Sigurd Karlsbakk

[permalink] [raw]
Subject: Re: RAID-6 support in kernel?

> RAID-1 over two RAID-5s should withstand any three failures, AFAICS.
>
> You could do RAID-5 over RAID-5. That should survive any 2 failures and
> still be reasonably efficient.

Sure, but still: Is there a good reason why RAID-6 shouldn't be implemented
in linux?

--
Roy Sigurd Karlsbakk, Datavaktmester

Computers are like air conditioners.
They stop working when you open Windows.

2002-06-05 09:36:53

by Roy Sigurd Karlsbakk

[permalink] [raw]
Subject: Re: RAID-6 support in kernel?

> RAID-4 on top of RAID-4 is actually just a two-dimentional
> parity. RAID-5 on top of RAID-5 is very similar.

er. RAID-4 is as RAID-5, but with dedicated parity disk.
RAID-6 is with two-dimentional parity

--
Roy Sigurd Karlsbakk, Datavaktmester

Computers are like air conditioners.
They stop working when you open Windows.

2002-06-06 01:20:07

by Derek Vadala

[permalink] [raw]
Subject: Re: RAID-6 support in kernel?

On Tue, 4 Jun 2002, Bill Davidsen wrote:

> On Sun, 2 Jun 2002, Derek Vadala wrote:
>
> > You can always fake this effect by combining two 8-disk RAID-5s into a
> > RAID-0. It's not technically RAID-6, but can withstand a 2-disk failure,
> > although not _any_ 2-disk failure.
>
> I think (hope) you meant 1+5, which will stand any three disk failure, and
> up to 1+N/2 if just the right drives fail. They never do, of course.

I did mean RAID-0 combined with RAID-5. You can search for RAID-50 for
more info. The configuration you describe (RAID-5s combined into a mirror)
would have a disk overhead that is worse than RAID-10/RAID-0+1. For two
5-disk RAID-5s combined into a RAID-1 you end up using six of your disks
for parity and disk mirroring:

RAID-1 --------> RAID-5 (D0,D1,D2,D3,P0)
|--> RAID-5 (D0,D1,D2,D3,P0)
(four disks used for data, only one from each RAID-5 can fail)

With RAID-10:

RAID-0 --------> RAID-1 (D0,D0)
|--> RAID-1 (D1,D1)
|--> RAID-1 (D2,D2)
|--> RAID-1 (D3,D3)
|--> RAID-1 (D4,D4)
(five disks used for data, one from each mirror can fail)

With RAID-50:

RAID-0 --------> RAID-5 (D0,D2,D4,D6,P0)
|--> RAID-5 (D1,D3,D5,D7,P0)

(two disks wasted only one from each RAID-5 can fail)

I believe that I/O performance would be similar for each
configuration. I'll try to run some tests in the next few days.

> I doubt it. Unless you run a system with heavy CPU demand there are lots
> of cycles for this stuff. I run 0+1 several places and I don't see serious
> CPU load. I would be very interested in RAID-6 in the kernel, but I have

Mirroing doesnt hit the CPU nearly as much as RAID-5 does. I suspect
RAID-6 would incur greater overhead because of its double parity blocks.
But, there's no point in arguing about kernel RAID-6 without data to back
it up.

---
Derek Vadala, [email protected], http://www.cynicism.com/~derek

2002-06-06 08:28:38

by Kasper Dupont

[permalink] [raw]
Subject: Re: RAID-6 support in kernel?

Derek Vadala wrote:
>
> RAID-1 --------> RAID-5 (D0,D1,D2,D3,P0)
> |--> RAID-5 (D0,D1,D2,D3,P0)
> (four disks used for data, only one from each RAID-5 can fail)

Wrong, any three disks can fail. If the one RAID has only
one faulty disk, the other RAID can have any number of
faulty disks without loosing data.

>
> With RAID-10:
>
> RAID-0 --------> RAID-1 (D0,D0)
> |--> RAID-1 (D1,D1)
> |--> RAID-1 (D2,D2)
> |--> RAID-1 (D3,D3)
> |--> RAID-1 (D4,D4)
> (five disks used for data, one from each mirror can fail)
>
> With RAID-50:
>
> RAID-0 --------> RAID-5 (D0,D2,D4,D6,P0)
> |--> RAID-5 (D1,D3,D5,D7,P0)
>
> (two disks wasted only one from each RAID-5 can fail)
>
> I believe that I/O performance would be similar for each
> configuration. I'll try to run some tests in the next few days.

I'd guess that depends on the access patterns.

--
Kasper Dupont -- der bruger for meget tid p? usenet.
For sending spam use mailto:[email protected]

2002-06-12 08:13:58

by Kasper Dupont

[permalink] [raw]
Subject: Re: RAID-6 support in kernel?

Allan Sandfeld wrote:
>
> I just looked at it. It is possible allright and the diagram looks ok.
>
> If you have 3 disks A,B and C the parity is calculated by dividing the diskw
> into typical lines, in this example I use 3 like they use on the diagram. We
> then have a parity per line and one per disk. You can only regenerate one
> block per parity, but since you have two full independ parities you can
> replace any two.
>
> A1 B1 C1 P1 (P1 = A1^B1^C1)
> A2 B2 C2 P2
> A3 B3 C3 P3
> PA PB PC
> (PA=A1^A2^A3)
>
> As you can see if you wish to chech the parity for one read line(eg.A1-C1),
> you can check directly against the horizontal parity P1. But if you wish to
> check the horizontal parity you need to read the entire diskarray!

I don't think I got that one. How many disks would you use, and
how would you distribute the above fields across the disks? If
you put each column on a disk you can handle any two lost
blocks, but not two lost disks. Or would you use a total of 15
disks? Or do you have some way of placing them on 5 disks with
3 blocks on each disk?

--
Kasper Dupont -- der bruger for meget tid p? usenet.
For sending spam use mailto:[email protected]