linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: Proposal: non-striping RAID4
@ 2008-05-22 21:15 Tony Germano
  2008-05-22 22:10 ` David Lethe
                   ` (2 more replies)
  0 siblings, 3 replies; 17+ messages in thread
From: Tony Germano @ 2008-05-22 21:15 UTC (permalink / raw)
  To: linux-raid


I would like to bring this back to the attention of the group (from November 2007) since the conversation died off and it looks like a few key features important to me were left out of the discussion... *grin*

The original post was regarding "unRAID" developed by http://lime-technology.com/

I had an idea in my head, and "unRAID" has features almost identical to what I was thinking about with the exception of a couple deal breaking design decisions. These are due to the proprietary front end, not the modified driver.

Bad decision #1) Implementation is for a NAS Appliance. Files are only accessible through a Samba share. (Though this is great for the hoards of people that use it as network storage for their windows media center pcs.)

Bad decision #2) Imposed ReiserFS.

Oh yeah, and it's not free in either sense of the word.

The most relevant uses I can think of for this type of array are archive storage and low use media servers. Keeping that in mind...

Good Thing #1)
"JBOD with parity." Each usable disk is seen separately and has its own filesystem. This allows mixed sized disks and replacing older smaller drives with newer larger ones one at a time while utilizing the extra capacity right away (after expanding the filesystem.) In the event that two or more disks are lost, surviving non-parity disks still have 100% of their data. (Adding a new disk larger than the parity disk is possible, but takes multiple steps of converting it to the new parity disk and then adding the old parity disk back to the array as a regular disk... acceptable to me)

Good Thing #2)
You can spin down idle disks. Since there is no data striping and file systems don't [have to] span drives, reading a file only requires 1 disk to be spinning. Writing only requires 1 disk + parity disk. This is an important feature to the "GREEN" community. On my mythtv server, I only record a few shows each week. I would have disks in this setup possibly not accessed for weeks or even months at a time. They don't need to be spinning, and performance is of no importance to me as long as it can keep up with writing HD streams.

Hopefully this brings a new perspective to the idea.

Thanks,
Tony Germano
_________________________________________________________________
Keep your kids safer online with Windows Live Family Safety.
http://www.windowslive.com/family_safety/overview.html?ocid=TXT_TAGLM_WL_Refresh_family_safety_052008

^ permalink raw reply	[flat|nested] 17+ messages in thread
* Re: Proposal: non-striping RAID4
@ 2007-11-23 15:58 Chris Green
  0 siblings, 0 replies; 17+ messages in thread
From: Chris Green @ 2007-11-23 15:58 UTC (permalink / raw)
  To: linux-raid



Ignoring the issues of using mismatched drive sizes, is it possible to 
achieve the data resilience of this non-striped raid4 using the current
linux-raid?

 I'm not so interested in being able to use mismatched drives, etc,
but I am interested in being able to create a raid setup with the
enhanced data loss protection that this gives you. For a read-mostly
system that doesn't need the extra read speed that raid5 gets you, its
pretty compelling. With a 5 drive raid5 system, if I lose 2 drives, I
lose all my data, while with this setup, I only lose 1/4 of it


^ permalink raw reply	[flat|nested] 17+ messages in thread
* Proposal: non-striping RAID4
@ 2007-11-10  0:57 James Lee
  2007-11-12  1:29 ` Bill Davidsen
  0 siblings, 1 reply; 17+ messages in thread
From: James Lee @ 2007-11-10  0:57 UTC (permalink / raw)
  To: linux-raid

[-- Attachment #1: Type: text/plain, Size: 3566 bytes --]

I have come across an unusual RAID configuration type which differs
from any of the standard RAID 0/1/4/5 levels currently available in
the md driver, and has a couple of very useful properties (see below).
 I think it would be useful to have this code included in the main
kernel, as it allows for some use cases that aren't well catered for
with the standard RAID levels.  I was wondering what people's thoughts
on this might be?

The RAID type has been named "unRAID" by it's author, and is basically
similar to RAID 4 but without data being striped across the drives in
the array.  In an n-drive array (where the drives need not have the
same capacity), n-1 of the drives appear as independent drives with
data written to them as with a single standalone drive, and the 1
remaining drive is a parity drive (this must be the largest capacity
drive), which stores the bitwise XOR of the data on the other n-1
drives (where the data being XORed is taken to be 0 if we're past the
end of that particular drive).  Data recovery then works as per normal
RAID 4/5 in the case of the failure of any one of the drives in the
array.

The advantages of this are:
- Drives need not be of the same size as each other; the only
requirement is that the parity drive must be the largest drive in the
array.  The available space of the array is the sum of the space of
all drives in the array, minus the size of the largest drive.
- Data protection is slightly better than with RAID 4/5 in that in the
event of multiple drive failures, only some data is lost (since the
data on any non-failed, non-parity drives is usable).

The disadvantages are:
- Performance:
    - As there is no striping, on a non-degraded array the read
performance will be identical to that of a single drive setup, and the
write performance will be comparable or somewhat worse than that of a
single-drive setup.
    - On a degraded arrays with many drives the read and write
performance could take further hits due to the PCI / PCI-E bus getting
saturated.

The company which has implemented this is "Lime technology" (website
here: http://www.lime-technology.com/); an overview of the technical
detail is given on their website here:
http://www.lime-technology.com/wordpress/?page_id=13.  The changes
made to the Linux md driver to support this have been released under
the GPL by the author - I've attached these to this email.

Now I'm guessing that the reason this hasn't been implemented before
is that in most cases the points above mean that this is a worse
option than RAID 5, however there is a strong use case for this
system.  For many home users who want data redundancy, the current
RAID levels are impractical because the user has many hard drives of
different sizes accumulated over the years.  Even for new setups, it
is generally not cost-effective to buy multiple identical sized hard
drives, compared with incrementally adding storage of the capacity
which is at the best price per GB at the time.  The fact that there is
a need for this type of flexibility is evidenced, for example, by
various forum threads such as for example this thread containing over
1500 posts in a specialized audio / video forum:
http://www.avsforum.com/avs-vb/showthread.php?t=573986, as well as the
active community in the forums on the Lime technology website.

Would there be interest in making this kind of addition to the md code?

PS: In case it wasn't clear, the attached code is simply the code the
author has released under GPL - it's intended just for reference, not
as proposed code for review.

[-- Attachment #2: unraid_code.zip --]
[-- Type: application/zip, Size: 31434 bytes --]

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

end of thread, other threads:[~2008-05-30 17:23 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-05-22 21:15 Proposal: non-striping RAID4 Tony Germano
2008-05-22 22:10 ` David Lethe
2008-05-22 22:56   ` Tony Germano
2008-05-23 15:12 ` Roger Heflin
2008-05-23 15:47 ` Chris Green
2008-05-24 14:21   ` Bill Davidsen
2008-05-24 14:19     ` Chris Green
2008-05-28 23:14       ` Bill Davidsen
2008-05-30 17:23         ` Tony Germano
  -- strict thread matches above, loose matches on Subject: below --
2007-11-23 15:58 Chris Green
2007-11-10  0:57 James Lee
2007-11-12  1:29 ` Bill Davidsen
2007-11-13 23:48   ` James Lee
2007-11-14  1:06     ` James Lee
2007-11-14 23:16       ` Bill Davidsen
2007-11-15  0:24         ` James Lee
2007-11-15  6:01           ` Neil Brown

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).