linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* striping and mirroring with only two disks
@ 2004-01-31 19:53 Keld Jørn Simonsen
  2004-01-31 21:29 ` Guy
  2004-01-31 21:36 ` Nathan Lewis
  0 siblings, 2 replies; 6+ messages in thread
From: Keld Jørn Simonsen @ 2004-01-31 19:53 UTC (permalink / raw)
  To: linux-raid

Hi!

Is it possible to both do striping and mirroring if you only have 2 disks?

I was thinking of having the chunks organized on each disk so
that striping reads and writes could be done. Eg. by having 

disk1: chunk0 chunk2 chunk4 ......   chunk1 chunk3 chunk5
disk2: chunk1 chunk3 chunk5 ......   chunk0 chunk2 chunk4

Would such a layout of chunks allow for striped reading and writing?

Best regards
keld

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: striping and mirroring with only two disks
  2004-01-31 19:53 striping and mirroring with only two disks Keld Jørn Simonsen
@ 2004-01-31 21:29 ` Guy
  2004-01-31 21:36 ` Nathan Lewis
  1 sibling, 0 replies; 6+ messages in thread
From: Guy @ 2004-01-31 21:29 UTC (permalink / raw)
  To: 'Keld Jørn Simonsen', linux-raid

The reason people stripe is performance.  The performance gain is by having
more disk heads working.  If you stripe a single disk (or 2 if mirrored), it
will thrash!  This will hurt/kill performance.  Just mirror.

Oh, you could do it if you want.  It will work.  Create a mirror (RAID1)
with each pair of chunks, 6 mirrors total (with your example).  Then stripe
the mirrors (RAID0).

-----Original Message-----
From: linux-raid-owner@vger.kernel.org
[mailto:linux-raid-owner@vger.kernel.org] On Behalf Of Keld Jørn Simonsen
Sent: Saturday, January 31, 2004 2:53 PM
To: linux-raid@vger.kernel.org
Subject: striping and mirroring with only two disks

Hi!

Is it possible to both do striping and mirroring if you only have 2 disks?

I was thinking of having the chunks organized on each disk so
that striping reads and writes could be done. Eg. by having 

disk1: chunk0 chunk2 chunk4 ......   chunk1 chunk3 chunk5
disk2: chunk1 chunk3 chunk5 ......   chunk0 chunk2 chunk4

Would such a layout of chunks allow for striped reading and writing?

Best regards
keld
-
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

-
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: striping and mirroring with only two disks
  2004-01-31 19:53 striping and mirroring with only two disks Keld Jørn Simonsen
  2004-01-31 21:29 ` Guy
@ 2004-01-31 21:36 ` Nathan Lewis
  2004-01-31 23:55   ` Keld Jørn Simonsen
  1 sibling, 1 reply; 6+ messages in thread
From: Nathan Lewis @ 2004-01-31 21:36 UTC (permalink / raw)
  To: Keld Jørn Simonsen, linux-raid

Even if it were possible, your write performance would be TERRIBLE (imaging 
writing the chunks in order - 0, 1, 2, 3....  Your disk heads would be 
thrashing constantly).  The RAID1 code already does read-balancing.  Not 
the same thing as striping, but certainly increases performance on reads, 
especially when more than one read is being done at a time.

If you wanted to try it, I think you might be able to accomplish it with 
partitions.  Partition your two disks in half, so you have:
disk1 a & b
disk2 a & b

Then mirror disk1a with disk2b (say as /dev/md0), and likewise mirror 
disk1b with disk2a (say as /dev/md1).  Then create a RAID0 array (/dev/md2) 
from those two mirrors (md0 and md1).

You could also do it the other way:
create two raid0 arrays (disk1a+disk2a=/dev/md0) (disk1b+disk2b=/dev/md1) 
then mirror them as /dev/md2.


At 01:53 PM 1/31/2004, Keld Jørn Simonsen wrote:
>Hi!
>
>Is it possible to both do striping and mirroring if you only have 2 disks?
>
>I was thinking of having the chunks organized on each disk so
>that striping reads and writes could be done. Eg. by having
>
>disk1: chunk0 chunk2 chunk4 ......   chunk1 chunk3 chunk5
>disk2: chunk1 chunk3 chunk5 ......   chunk0 chunk2 chunk4
>
>Would such a layout of chunks allow for striped reading and writing?
>
>Best regards
>keld
>-
>To unsubscribe from this list: send the line "unsubscribe linux-raid" in
>the body of a message to majordomo@vger.kernel.org
>More majordomo info at  http://vger.kernel.org/majordomo-info.html

-
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: striping and mirroring with only two disks
  2004-01-31 21:36 ` Nathan Lewis
@ 2004-01-31 23:55   ` Keld Jørn Simonsen
  2004-02-02  4:58     ` Neil Brown
  0 siblings, 1 reply; 6+ messages in thread
From: Keld Jørn Simonsen @ 2004-01-31 23:55 UTC (permalink / raw)
  To: Nathan Lewis; +Cc: Keld Jørn Simonsen, linux-raid

On Sat, Jan 31, 2004 at 03:36:21PM -0600, Nathan Lewis wrote:
> Even if it were possible, your write performance would be TERRIBLE (imaging 
> writing the chunks in order - 0, 1, 2, 3....  Your disk heads would be 
> thrashing constantly).

Well, I am not sure that will be so. Most modern disks today have
buffers of 2 MB - 8 MB on the unit, and writes would thus be buffered
there, meaning that the drive would be striping.


> The RAID1 code already does read-balancing.  Not 
> the same thing as striping, but certainly increases performance on reads, 
> especially when more than one read is being done at a time.

Yes, striping is best when there is only one read or write in operation.
I think tho, that lonely sequential reads or writes are very common, even on servers.
> 
> If you wanted to try it, I think you might be able to accomplish it with 
> partitions.  Partition your two disks in half, so you have:
> disk1 a & b
> disk2 a & b
> 
> Then mirror disk1a with disk2b (say as /dev/md0), and likewise mirror 
> disk1b with disk2a (say as /dev/md1).  Then create a RAID0 array (/dev/md2) 
> from those two mirrors (md0 and md1).
> 
> You could also do it the other way:
> create two raid0 arrays (disk1a+disk2a=/dev/md0) (disk1b+disk2b=/dev/md1) 
> then mirror them as /dev/md2.

I think that is a nice way to get what I was thinking of.
Nice in the way that it is already possible with existing code.
But will the mirroring work? Or, if one of the disks fails, can I be
sure that the other will have all the data, and that I can recreate
the combined md from the two parts?

Why has nobody thought of it before? All descriptions I have seen of
RAID0+1 says that it needs 4 disks.

Best regards
keld
> 
> 
> At 01:53 PM 1/31/2004, Keld Jørn Simonsen wrote:
> >Hi!
> >
> >Is it possible to both do striping and mirroring if you only have 2 disks?
> >
> >I was thinking of having the chunks organized on each disk so
> >that striping reads and writes could be done. Eg. by having
> >
> >disk1: chunk0 chunk2 chunk4 ......   chunk1 chunk3 chunk5
> >disk2: chunk1 chunk3 chunk5 ......   chunk0 chunk2 chunk4
> >
> >Would such a layout of chunks allow for striped reading and writing?
> >
> >Best regards
> >keld
> >-
> >To unsubscribe from this list: send the line "unsubscribe linux-raid" in
> >the body of a message to majordomo@vger.kernel.org
> >More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
-
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: striping and mirroring with only two disks
  2004-01-31 23:55   ` Keld Jørn Simonsen
@ 2004-02-02  4:58     ` Neil Brown
  2004-02-02  8:46       ` Hendrik Visage
  0 siblings, 1 reply; 6+ messages in thread
From: Neil Brown @ 2004-02-02  4:58 UTC (permalink / raw)
  To: Keld Jørn Simonsen; +Cc: Nathan Lewis, linux-raid

On Sunday February 1, keld@dkuug.dk wrote:
> 
> Why has nobody thought of it before? All descriptions I have seen of
> RAID0+1 says that it needs 4 disks.

Just because it hasn't been implemented doesn't mean it hasn't been
thought of....

I started work on a "raid10" personality a while back, which could do
what you describe, or could stripe/mirror across 3 drives and other
combination.

It feel by the wayside as some things often do.

NeilBrown

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: striping and mirroring with only two disks
  2004-02-02  4:58     ` Neil Brown
@ 2004-02-02  8:46       ` Hendrik Visage
  0 siblings, 0 replies; 6+ messages in thread
From: Hendrik Visage @ 2004-02-02  8:46 UTC (permalink / raw)
  To: Neil Brown; +Cc: Keld Jørn Simonsen, Nathan Lewis, linux-raid

On Mon, Feb 02, 2004 at 03:58:27PM +1100, Neil Brown wrote:
> On Sunday February 1, keld@dkuug.dk wrote:
> 
> I started work on a "raid10" personality a while back, which could do
> what you describe, or could stripe/mirror across 3 drives and other
> combination.

Sounds like the RAID1E and RAID5E of some of the IBM ServeRAID controllers...

1E: Works across minimum of 3 drives, with the stripes written as:

Drive: 1 2 3
       a b c
       b c a
       d e f
       e f d

Ie. you still lose half the disk space, but will work over unequal
 number of wrives with still a single drive failure resilience and a full
 speed read.


5E: minimum 4drives, similar story just a tad different (No, I've mislaid
the documentation :()

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2004-02-02  8:46 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-01-31 19:53 striping and mirroring with only two disks Keld Jørn Simonsen
2004-01-31 21:29 ` Guy
2004-01-31 21:36 ` Nathan Lewis
2004-01-31 23:55   ` Keld Jørn Simonsen
2004-02-02  4:58     ` Neil Brown
2004-02-02  8:46       ` Hendrik Visage

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).