A computer components & hardware forum. HardwareBanter

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » HardwareBanter forum » General Hardware & Peripherals » Storage & Hardrives
Site Map Home Register Authors List Search Today's Posts Mark Forums Read Web Partners

RAID 0+1 vs. RAID 1+0: explanations appreciated



 
 
Thread Tools Display Modes
  #1  
Old April 12th 04, 06:29 PM
Neil Zanella
external usenet poster
 
Posts: n/a
Default RAID 0+1 vs. RAID 1+0: explanations appreciated

Hello,

I have consulted several sources but could not find an adequate
explanation of
how RAID 0+1 differs from RAID 1+0. Some sources even seem
contradictory.
Hence I have posted some diagrams which are for one-sided
one-plattered
one-cylinder disks. The diagram includes block and disk numbers.
Please
explain to me where the RAID 1+0 is picture is wrong and why.

Thank you for your replies,

Neil

------------------------------------------------------------

Logical representation:

+-------------------+
| B0 B1 B2 B3 B4 B5 | Disk 0
+-------------------+

------------------------------------------------------------

Physical representation (RAID 0 AKA striping):

+----------+
| B0 B1 B2 | Disk 0
+----------+

+----------+
| B3 B4 B5 | Disk 1
+----------+

------------------------------------------------------------

Physical representation (RAID 1 AKA mirroring):

+-------------------+
| B0 B1 B2 B3 B4 B5 | Disk 0
+-------------------+

+-------------------+
| B0 B1 B2 B3 B4 B5 | Disk 1
+-------------------+

------------------------------------------------------------

Physical representation (RAID 0+1 AKA RAID 10):

(mirroring after striping)

+----------+
| B0 B1 B2 | Disk 0
+----------+

+----------+
| B3 B4 B5 | Disk 1
+----------+

+----------+
| B0 B1 B2 | Disk 2
+----------+

+----------+
| B3 B4 B5 | Disk 3
+----------+

------------------------------------------------------------

Physical representation (RAID 1+0 AKA RAID 01):

(striping after mirroring)

Is this the right interpretation or...

+----------+
| B0 B1 B2 | Disk 0
+----------+

+----------+
| B0 B1 B2 | Disk 1
+----------+

+----------+
| B3 B4 B5 | Disk 2
+----------+

+----------+
| B3 B4 B5 | Disk 3
+----------+

is this the right interpretation or...

+----------------+
| D0B0 D0B1 D1B2 | Disk 0
+----------------+

+----------------+
| D0B1 D0B2 D1B0 | Disk 1
+----------------+

+----------------+
| D0B2 D1B0 D1B1 | Disk 2
+----------------+

+----------------+
| D1B0 D1B1 D1B2 | Disk 3
+----------------+

is there yet some other interpretation that I have missed?

------------------------------------------------------------

Thanks!

Neil
  #2  
Old April 12th 04, 06:51 PM
Faeandar
external usenet poster
 
Posts: n/a
Default

I'm pretty sure you're diagram of striping is wrong if I'm reading it
right. Blocks are striped in order across the disks, so it would go:

B0 B2 B4
B1 B3 B5

In any case, the simple answer is this:

Raid 0+1 stripes across a bunck of disks and then mirrors that entire
plex to another plex. What this means is that if you lose 1 drive you
will lose the entire mirror because they are all one plex. You lose a
drive in raid 0 and you lose the plex. But the mirror is still
online.

By contrast, if you do raid 1+0 you mirror 2 drives and then stripe
across multiple drives. This allows you to lose, in theory, up to
half of the drives. As long as you don't lose both drives in a mirror
you are golden.

From a diagram perspective I think they will both look the same, the
difference is when the mirror takes place. Either after the stripe or
before the stripe.

Honestly I'm not sure why anyone would run 0+1 anymore but there may
be reasons. Most array vendors are now 1+0 by default I think. I
know HDS is at least.


~F

On 12 Apr 2004 10:29:08 -0700, (Neil Zanella)
wrote:

Hello,

I have consulted several sources but could not find an adequate
explanation of
how RAID 0+1 differs from RAID 1+0. Some sources even seem
contradictory.
Hence I have posted some diagrams which are for one-sided
one-plattered
one-cylinder disks. The diagram includes block and disk numbers.
Please
explain to me where the RAID 1+0 is picture is wrong and why.

Thank you for your replies,

Neil

------------------------------------------------------------

Logical representation:

+-------------------+
| B0 B1 B2 B3 B4 B5 | Disk 0
+-------------------+

------------------------------------------------------------

Physical representation (RAID 0 AKA striping):

+----------+
| B0 B1 B2 | Disk 0
+----------+

+----------+
| B3 B4 B5 | Disk 1
+----------+

------------------------------------------------------------

Physical representation (RAID 1 AKA mirroring):

+-------------------+
| B0 B1 B2 B3 B4 B5 | Disk 0
+-------------------+

+-------------------+
| B0 B1 B2 B3 B4 B5 | Disk 1
+-------------------+

------------------------------------------------------------

Physical representation (RAID 0+1 AKA RAID 10):

(mirroring after striping)

+----------+
| B0 B1 B2 | Disk 0
+----------+

+----------+
| B3 B4 B5 | Disk 1
+----------+

+----------+
| B0 B1 B2 | Disk 2
+----------+

+----------+
| B3 B4 B5 | Disk 3
+----------+

------------------------------------------------------------

Physical representation (RAID 1+0 AKA RAID 01):

(striping after mirroring)

Is this the right interpretation or...

+----------+
| B0 B1 B2 | Disk 0
+----------+

+----------+
| B0 B1 B2 | Disk 1
+----------+

+----------+
| B3 B4 B5 | Disk 2
+----------+

+----------+
| B3 B4 B5 | Disk 3
+----------+

is this the right interpretation or...

+----------------+
| D0B0 D0B1 D1B2 | Disk 0
+----------------+

+----------------+
| D0B1 D0B2 D1B0 | Disk 1
+----------------+

+----------------+
| D0B2 D1B0 D1B1 | Disk 2
+----------------+

+----------------+
| D1B0 D1B1 D1B2 | Disk 3
+----------------+

is there yet some other interpretation that I have missed?

------------------------------------------------------------

Thanks!

Neil


  #3  
Old April 15th 04, 07:54 AM
Neil Zanella
external usenet poster
 
Posts: n/a
Default

Faeandar wrote in message

Honestly I'm not sure why anyone would run 0+1 anymore but there may
be reasons. Most array vendors are now 1+0 by default I think. I
know HDS is at least.


Fine. However I still don't understand how the striping is done one
the mirroring takes place in RAID 1+0 in such a way to create a
different configuration than that produced using RAID 0+1. That
is what the original question was. I wonder whether perhaps
someone could fill in the diagram below with the
appropriate picture so as to clarify things...??

Thanks,

Neil

------------------------------------------------------------

Logical representation:

+-------------------+
| B0 B1 B2 B3 B4 B5 | Disk 0
+-------------------+

------------------------------------------------------------

Physical representation (RAID 0 AKA striping):

+----------+
| B0 B2 B4 | Disk 0
+----------+

+----------+
| B1 B3 B5 | Disk 1
+----------+

------------------------------------------------------------

Physical representation (RAID 1 AKA mirroring):

+-------------------+
| B0 B1 B2 B3 B4 B5 | Disk 0
+-------------------+

+-------------------+
| B0 B1 B2 B3 B4 B5 | Disk 1
+-------------------+

------------------------------------------------------------

Physical representation (RAID 0+1):

+----------+
| B0 B2 B4 | Disk 0
+----------+

+----------+
| B1 B3 B5 | Disk 1
+----------+

+----------+
| B0 B2 B4 | Disk 2
+----------+

+----------+
| B1 B3 B5 | Disk 3
+----------+

Loosing one drive means loosing the entire mirror.

------------------------------------------------------------

Physical representation (RAID 1+0):

Step 1: Mirror:

+-------------------+
| B0 B1 B2 B3 B4 B5 | Disk 0
+-------------------+

+-------------------+
| B0 B1 B2 B3 B4 B5 | Disk 1
+-------------------+

Step 2: Stripe???

OK, I've mirrored them. Now how do I stripe these disks
so as to produce a RAID 1+0 configuration???

Thanks,

Neil
  #4  
Old April 15th 04, 06:40 PM
Faeandar
external usenet poster
 
Posts: n/a
Default

I am pretty sure the diagram doesn't change, as I mentioned
previously. There's no difference in how the blocks are laid out,
merely where the mirroring is.

If blocks 1-10 are laid out on a stripe of 10 drives, you have each
block on the corresponding drive. ie. B1 on disk 1, B2 on disk 2,
etc.
Then that entire plex (stripe) is mirrored to another plex as a single
entity. So B1 is on disk1 and disk 1m (mirror), and so on down the
line.

In 1+0 the blocks are laid exactly the same, except that disk 1 is
mirrored first. Then each mirror is striped down the other disks.

The block layout is identical. Just consider how this affects a drive
loss though for a few minutes and it will make sense.

~F



On 14 Apr 2004 23:54:24 -0700, (Neil Zanella)
wrote:

Faeandar wrote in message

Honestly I'm not sure why anyone would run 0+1 anymore but there may
be reasons. Most array vendors are now 1+0 by default I think. I
know HDS is at least.


Fine. However I still don't understand how the striping is done one
the mirroring takes place in RAID 1+0 in such a way to create a
different configuration than that produced using RAID 0+1. That
is what the original question was. I wonder whether perhaps
someone could fill in the diagram below with the
appropriate picture so as to clarify things...??

Thanks,

Neil

------------------------------------------------------------

Logical representation:

+-------------------+
| B0 B1 B2 B3 B4 B5 | Disk 0
+-------------------+

------------------------------------------------------------

Physical representation (RAID 0 AKA striping):

+----------+
| B0 B2 B4 | Disk 0
+----------+

+----------+
| B1 B3 B5 | Disk 1
+----------+

------------------------------------------------------------

Physical representation (RAID 1 AKA mirroring):

+-------------------+
| B0 B1 B2 B3 B4 B5 | Disk 0
+-------------------+

+-------------------+
| B0 B1 B2 B3 B4 B5 | Disk 1
+-------------------+

------------------------------------------------------------

Physical representation (RAID 0+1):

+----------+
| B0 B2 B4 | Disk 0
+----------+

+----------+
| B1 B3 B5 | Disk 1
+----------+

+----------+
| B0 B2 B4 | Disk 2
+----------+

+----------+
| B1 B3 B5 | Disk 3
+----------+

Loosing one drive means loosing the entire mirror.

------------------------------------------------------------

Physical representation (RAID 1+0):

Step 1: Mirror:

+-------------------+
| B0 B1 B2 B3 B4 B5 | Disk 0
+-------------------+

+-------------------+
| B0 B1 B2 B3 B4 B5 | Disk 1
+-------------------+

Step 2: Stripe???

OK, I've mirrored them. Now how do I stripe these disks
so as to produce a RAID 1+0 configuration???

Thanks,

Neil


  #5  
Old April 15th 04, 09:43 PM
Malcolm Weir
external usenet poster
 
Posts: n/a
Default

On 14 Apr 2004 23:54:24 -0700, (Neil Zanella)
wrote:

Faeandar wrote in message

Honestly I'm not sure why anyone would run 0+1 anymore but there may
be reasons. Most array vendors are now 1+0 by default I think. I
know HDS is at least.


Fine. However I still don't understand how the striping is done one
the mirroring takes place in RAID 1+0 in such a way to create a
different configuration than that produced using RAID 0+1. That
is what the original question was. I wonder whether perhaps
someone could fill in the diagram below with the
appropriate picture so as to clarify things...??


Neil,

I think you've missed an important point: terms like "RAID 0+1", "RAID
1+0", "RAID 10" are all marketing terms to describe _implementation_,
rather than _topology_, details.

If you refer back to the original Patterson, Gibson, and Katz paper
that coined the term "RAID" and the levels, you'll see that they are
only addressing ways of handling the performance / reliability
tradeoff ("performance" here includes considerations of usable
capacity as a lesser issue).

So, for example, no distinction is made between striping and
concatenation, which is a valid stance to take because if one's
application accesses all the available storage randomly, there *is* no
distinction between the two! They are both forms of "RAID-0":
concatenation is striping under the special case where the stripe unit
happens to equal to the size of a single disk...

[ There *is* a distinction made between topologies where a single
minimal IO operation involves all the disks (e.g. RAID-3) and where it
doesn't (RAID-4). But beyond that, the size of IO, stripe size, etc.
are irrelevant. ]

So to get back to your initial question, the reason why you can't see
a configuration distinction between RAID 0+1 and RAID 1+0 is that
there is no distinction: they are both RAID 1 implementations.

However, for ease of operation and implementation, most designs use a
hierarchical scheme where a group of disks are combined in some
fashion and then presented to the outside world as a single, disk-like
entity. Several of those disk-like entities, being disk-like, can in
turn be combined in some fashion to create another single entity, etc.
This type of scheme has some significant advantages (not least of
which is the ability to, say, combine two small physical disks to
create a single thing which can be mirrored with a large physical
disk), but it also has some disadvantages, such as the complexity of
handling the consequences of a disk failure.

Perhaps an example of a (strange) configuration might help:

Suppose you have 10 physical disks, 5 of which are 10GB, 5 of which
are 20GB. Most implementations would limit you to either just
combining like drives (creating two R5 sets, one 40GB, one 80GB, total
120GB), or wasting half the space of the larger drives (creating one
R5 set, total 90GB).

But there's no reason why you shouldn't design a system capable of
creating a *single* RAID-5 set of all 10 disks, such that the first
90GB of usable storage was spread across all 10 drives, and the next
40GB across just the 5 larger (for a total of 130GB). All this would
require is that the R5 code understands that not all the disks were
the same size, which is not rocket science... but also it's likely not
worth the effort and support headache!

[ Actually, that's a poor example, since you could achieve the same
result by using logical partitions on the disks, and using those
instead of the physical disk, and then creating two R5 sets and
concatenating them. But the same concept would apply if you had one
10GB, one 20GB, one 30GB, and one 40GB disk. You could create a R5
set that had 30GB+20GB+10GB=60GB protected (leaving 10GB wasted or
unprotected). Note I'm not suggesting you *should* do that, or even
that any sane R5 implementation would tolerate it, merely that
architecturally its possible, and occasionally it may even be
worthwhile! ]

Neil


Malc.
  #6  
Old April 16th 04, 07:21 PM
jlsue
external usenet poster
 
Posts: n/a
Default

On 14 Apr 2004 23:54:24 -0700, (Neil Zanella) wrote:

Faeandar wrote in message

Honestly I'm not sure why anyone would run 0+1 anymore but there may
be reasons. Most array vendors are now 1+0 by default I think. I
know HDS is at least.


Fine. However I still don't understand how the striping is done one
the mirroring takes place in RAID 1+0 in such a way to create a
different configuration than that produced using RAID 0+1. That
is what the original question was. I wonder whether perhaps
someone could fill in the diagram below with the
appropriate picture so as to clarify things...??


Example, use 4 250 GB drives....

RAID 0 the drives into two sets of two disks each. And then mirror them
into one mirrored stripeset.

Stripe drives 1 and 2 = Stripe 1 = 500 GB
Stripe drives 3 and 4 = Stripe 2 = 500 GB
Mirror Stripe 1 and Stripe 2 = 500 GB.


I would definitely recommend AGAINST doing it this way as a general rule.
If you lose one drive in either stripeset, you've lost 1/2 of your mirror
and now you're at risk until you replace & rebuild. Note too that you've
got to rebuild the entire 500GB as a mirror before you're covered again.

Typically we recommend striping the mirrors, not mirring the stripsets.

This would make the configuration be::
Mirror drives 1 and 2 = Mirror 1 = 250 GB
Mirror drives 3 and 4 = Mirror 2 = 250 GB
Stripe Mirror 1 and Mirror 2 = 500 GB.

Note that the usable capacity stays the same. However, if I lose drive 1,
only Mirror 1 is directly affected. A second failure before I can replace
the drive wouldn't happen to the same mirror set (most likely). Losing 1
drive from Mirror 2, and I'd still be able to run with the Stripe intact.

Not too that by losing one drive, replacing and building only has to mirror
250GB of data before I'm covered in that mirrorset again.

In this case of only 4 drives, it's not as apparently significant, but in
cases where there are 3 or more pairs there's a huge difference.

For example:
Stripe drives 1 and 2 and 3 = Stripe 1 = 750 GB
Stripe drives 4 and 5 and 6 = Stripe 2 = 750 GB
Mirror Stripe 1 and Stripe 2 = 750 GB.

No problem. However, now, lose one drive in stripe 1, oops, you're down to
only one "stripeset" in your mirror set - you've lost all of your
redundancy (i.e., the entire Stripe n goes out) and your window of
opportunity for multiple drive failures taking out your data is greater.
As your total number of drive in the RAID-1+0 set grows, the likelihood of
multiple simultaneous drive failures increases.

Also, when you replace a drive you've go to copy the entire 750GB of data
to get covered by your mirror again.

Now, instead implement it like the 2-drive solution I outlined above:

Mirror drives 1 and 2 = Mirror 1 = 250 GB
Mirror drives 3 and 4 = Mirror 2 = 250 GB
Mirror drives 5 and 6 = Mirror 3 = 250 GB
Stripe Mirror 1 and Mirror 2 and Mirror 3 = 750 GB.

Notice that the loss of a single drive only takes out 50% of one specific
mirror set. Sure, you can have a second drive failure, however the
likelihood that it would be from the same mirror set as the first failure
is much lower. Thus you can actually sustain multiple drive outages
without loss of data and downtime.

And again, the most you've got to copy in a rebuild of a mirror set is
250GB.

As the number of drives grows, this becomes a much more effective
configuration for reliability and, as it turns out, performance.
--- jls
The preceding message was personal opinion only.
I do not speak in any authorized capacity for anyone,
and certainly not my employer.
(get rid of the xxxz in my address to e-mail)
 




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
IDE RAID Ted Dawson Asus Motherboards 29 September 21st 04 03:39 AM
Need help with SATA RAID 1 failure on A7N8X Delux Cameron Asus Motherboards 10 September 6th 04 11:50 PM
Asus P4C800 Deluxe ATA SATA and RAID Promise FastTrack 378 Drivers and more. Julian Asus Motherboards 2 August 11th 04 12:43 PM
Gigabyte GA-8KNXP and Promise SX4000 RAID Controller Old Dude Gigabyte Motherboards 4 November 12th 03 07:26 PM
DAW & Windows XP RAID Tips, ProTools error -9086 Giganews Asus Motherboards 0 October 24th 03 06:45 AM


All times are GMT +1. The time now is 07:45 PM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 HardwareBanter.
The comments are property of their posters.