All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Busby <michael.a.busby@gmail.com>
To: neilb@suse.de
Cc: john.robinson@anonymous.org.uk, linux-raid@vger.kernel.org
Subject: Re: Raid5 to another raid level??
Date: Wed, 7 Sep 2011 09:26:26 -0700	[thread overview]
Message-ID: <-7602537176266265843@unknownmsgid> (raw)

Thanks for taking the time to respond, I am now running a 4 disk raid5
soon to be upgraded to a 8 disk raid6



-- Sent from my HP TouchPadOn 7 Sep 2011 02:08, <neilb@suse.de> wrote:
On Fri, 2 Sep 2011 14:11:57 +0100 Michael Busby <michael.a.busby@gmail.com>
wrote:

> I am using the 3.0.0 kernel so that should not be a issue, have just
> upgraded mdadm on my box to 3.2.2 from 3.1.4
>
> would i be right in thinking that to get from raid0 to raid5 i would
> first have to change from raid0 to raid4 and add the extra disk for
> parity, once i am at this level i would need a command to get the
> parity data striped over the raid5 and not in a single disk like raid4
> or maybe there is a way to go from raid0 direct to raid5 by adding the
> extra disk and then having the parity data created and spread over the
> disks....

(I vaguely recall already replying to this but find no evidence - apologies
if this is a duplicate).

RAID0 to RAID5 does happen in two stages but only one rebuild is needed.
mdadm should make it all 'just work'.
i.e.
  mdadm -G /dev/md0 -l 5 --raid-devices=4 --add /dev/sdf \
  --backup-file=/root/md0-backup

This will:
   - convert the array from RAID0 to RAID5 in a 'parity-last' layout, which
     is really the same thing as RAID4.
   - 'freeze' recovery
   - add /dev/sdf as a spare
   - request a reshape to change the layout from 'parity-last' to
     'left-symetric'
   - 'unfreeze' recovery

Then the kernel will notice that a reshape is needed and allowed, will add
the spare and start reshaping the array and creating parity at the same time.

So you don't need an intermediate state of a complete RAID4 - a degraded
RAID4 is sufficient and handled automatically.

NeilBrown


>
> On 2 September 2011 13:49, NeilBrown <neilb@suse.de> wrote:
> > On Fri, 2 Sep 2011 11:35:30 +0100 Michael Busby <michael.a.busby@gmail.com>
> > wrote:
> >
> >> Great, will test that in a bit
> >>
> >> will mdadm 3.2.2 support converting raid4 to raid5
> >>
> >> "A RAID4 can change the number of devices or the size of individual
> >> devices. It cannot be converted to RAID5 yet (though that should be
> >> trivial to implement)"
> >
> > I guess the man page needs updating.  You would need a reasonably recent
> > kernel... 2.6.30 or later.  I guess that isn't so recent any more.
> >
> > NeilBrown
> >
> >
> >>
> >> On 2 September 2011 11:22, NeilBrown <neilb@suse.de> wrote:
> >> > On Fri, 2 Sep 2011 10:12:32 +0100 Michael Busby <michael.a.busby@gmail.com>
> >> > wrote:
> >> >
> >> >> Thanks Neil
> >> >>
> >> >> Is there anyway back from raid0 to raid4 as i know once at raid0 i
> >> >> will no longer be able to add any disks, in theory i could change
> >> >> echo raid0 > /sys/block/md0/md/level,but this would require adding a
> >> >> missing disk to the raid4 at the same time, not sure how easy that
> >> >> would be todo
> >> >>
> >> >
> >> > Yes, you can switch from RAID0 to RAID4 in much the same way as you switch
> >> > from RAID4 to RAID0.
> >> > You can then freeze/add-disk/change-size/unfreeze/wait/switch-back-to-RAID0
> >> > to add more devices.
> >> >
> >> > mdadm-3.2.2 should be able to do all this for you.  i.e. you ask it to --grow
> >> > a RAID and --add some disks at the same time, and it will do all the required
> >> > magic.
> >> >
> >> > This hasn't been tested extensively, but should work in simple cases.
> >> >
> >> > Of course the more devices you have in a RAID0, the less reliability you have
> >> > - but e.g. as a cache for a tape backup system a large RAID0 is fine.
> >> >
> >> > NeilBrown
> >> >
> >> >
> >> >
> >
> >
--
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

             reply	other threads:[~2011-09-07 16:26 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-07 16:26 Michael Busby [this message]
     [not found] ` <CAFsPQ__YdDnJw=qgLAq10vRbNPy4B_EhkV4FU0JAfovxnw9TxQ@mail.gmail.com>
2011-10-10 21:47   ` Raid5 to another raid level?? Michael Busby
2011-10-12  4:10     ` NeilBrown
2011-10-12  9:25       ` Michael Busby
2011-10-12 10:14         ` NeilBrown
2011-10-12 16:01           ` Michael Busby
  -- strict thread matches above, loose matches on Subject: below --
2011-09-01 23:50 Michael Busby
2011-09-02  0:54 ` Michael Busby
2011-09-02  2:19   ` NeilBrown
2011-09-02  9:12     ` Michael Busby
2011-09-02 10:22       ` NeilBrown
2011-09-02 10:35         ` Michael Busby
2011-09-02 12:49           ` NeilBrown
2011-09-02 13:11             ` Michael Busby
2011-09-07  1:07               ` NeilBrown
2011-09-01 21:50 Michael Busby
2011-09-01 22:34 ` John Robinson

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=-7602537176266265843@unknownmsgid \
    --to=michael.a.busby@gmail.com \
    --cc=john.robinson@anonymous.org.uk \
    --cc=linux-raid@vger.kernel.org \
    --cc=neilb@suse.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.