linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Neil Brown <neilb@suse.de>
To: Rogier Wolff <R.E.Wolff@BitWizard.nl>
Cc: linux-raid@vger.kernel.org
Subject: Re: New raid level suggestion.
Date: Thu, 30 Dec 2010 21:01:49 +1100	[thread overview]
Message-ID: <20101230210149.761fa210@notabene.brown> (raw)
In-Reply-To: <20101230082356.GC2986@bitwizard.nl>

On Thu, 30 Dec 2010 09:23:56 +0100 Rogier Wolff <R.E.Wolff@BitWizard.nl>
wrote:

> 
> Hi,
> 
> A friend has a webserver. He has 4 drive bays and due to previous
> problems he's not content to have 3 or 4 drives in a raid5
> configuration, but he wants a "hot spare" so that when it takes him a
> week to find a new drive and some time to drive to the hosting
> company, he isn't susceptible to a second drive crashing in the
> meantime.
> 
> So in principle he'll build a 3-drive RAID5 with a hot spare.... 
> 
> Now we've been told that raid5 performs badly for the workload that is
> expected. It would be much better to run the system in RAID10. However
> if he'd switch to RAID10, after a single drive failure he has a window
> of about a week where he has a 33% chance of a second drive failure
> being "fatal".
> 
> So I was thinking.... He's resigned himself to a configuration where
> he pays for 4x the disk space and only gets 2x the available space.
> 
> So he could run his array in RAID10 mode, however when a drive fails, 
> a fallback to raid5 would be in order. In this case, after the resync 
> a single-drive-failure tolerance is again obtained. 
> 
> In practise scaling down to raid5 is not easy/possible. RAID4 however
> should be doable.
> 
> In fact this can almost be implemented entirely in userspace. Just
> remove the mirror drive from the underlying raid0, and reinitialize as
> raid4. If you do this correctly the data will still be there....
> 
> Although doing this with an active filesystem running on these drives
> is probably impossible due to "device is in use" error messages.... 
> 
> So: Has anybody tried this before?
> Can this be implemented without kernel support?
> Anybody feel like implementing this?
> 
> 	Roger. 
> 

The kernel already supports this, though only with very recent kernels.
I'm not 100% sure about mdadm support, but if it isn't there yet, it probably
will be soon.

You can convert a RAID10 to a RAID0.  You probably have to remove two devices
first, so there are just two working devices - no redundancy.

  mdadm --grow /dev/md0 --level=0

Then you can convert the RAID0 to RAID4

  mdadm --grow /dev/md0 --level=4

Then add the good device back in

  mdadm /dev/md0 --add /dev/sdXX

This should all work, though you should certainly test it before you depend
on it at all.

NeilBrown


  parent reply	other threads:[~2010-12-30 10:01 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-30  8:23 New raid level suggestion Rogier Wolff
2010-12-30  8:47 ` Steven Haigh
2010-12-30  9:42   ` Rogier Wolff
2010-12-30 10:39     ` Stan Hoeppner
2010-12-30 11:58       ` John Robinson
2010-12-30 13:11         ` Stan Hoeppner
2010-12-30 18:10           ` John Robinson
2010-12-31 10:23             ` Stan Hoeppner
2010-12-30 23:20           ` Why won't mdadm start several RAIDs that appear to be fine? Jim Schatzman
2010-12-31  1:08             ` Neil Brown
2010-12-31  3:38               ` Why won't mdadm start several RAIDs that appear to be fine? Info from "mdadm -A --verbose" Jim Schatzman
2010-12-31  3:51               ` Why won't mdadm start several RAIDs that appear to be fine? SOLVED! Jim Schatzman
2011-01-03  4:33     ` New raid level suggestion Leslie Rhorer
2011-01-04 15:29       ` Rogier Wolff
2010-12-30 10:01 ` Neil Brown [this message]
2010-12-30 14:24 ` Ryan Wagoner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20101230210149.761fa210@notabene.brown \
    --to=neilb@suse.de \
    --cc=R.E.Wolff@BitWizard.nl \
    --cc=linux-raid@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).