linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: NeilBrown <neilb@suse.de>
To: Dominique <dcouot@hotmail.com>
Cc: linux-raid@vger.kernel.org
Subject: Re: mdadm - level change from raid 1 to raid 5
Date: Sat, 1 Oct 2011 08:02:50 +1000	[thread overview]
Message-ID: <20111001080250.65dc83bd@notabene.brown> (raw)
In-Reply-To: <BLU0-SMTP4116DC38F2741F78CA7020C9F70@phx.gbl>

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

On Fri, 30 Sep 2011 20:31:37 +0200 Dominique <dcouot@hotmail.com> wrote:

> Hi,
> 
> Using Ubuntu 11.10 server , I am testing RAID level changes through 
> MDADM. The objective is to migrate RAID 1 (1+ HDD) environment to RAID 5 
> (3+ HDD) without data loss.
> In order to make as simple as possible, I started in a VM environment 
> (Virtual Box).

Very sensible!!


> 
> Initial Setup:
> U11.10 + 2 HDD (20GB) in Raid 1 -> no problem
> The setup is made with 3 RAID 1 partition on each disk (swap (2GB), boot 
> (500MB), and root (17,5GB)). I understand that this will allow to 
> eventually grow to a RAID 5 configuration (in Ubuntu) and maintain boot 
> on a RAID construct (swap and boot would remain on RAID 1, while root 
> would migrate to RAID 5).
> 
> Increment number of disks:
> add 3 HDD to the setup -> no problem
> increase the RAID 1 from 2 HDD to 5 HDD -> no problem, all disks added 
> and synchronized

This is the bit you don't want.  Skip that step and it should work.


> 
> root@ubuntu:~# cat /proc/mdstat
> Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] 
> [raid4] [raid10]
> md2 : active raid1 sda3[0] sde3[4] sdb3[1] sdc3[2] sdd3[3]
>        18528184 blocks super 1.2 [5/5] [UUUUU]
> 
> md1 : active raid1 sda2[0] sde2[4] sdb2[1] sdd2[3] sdc2[2]
>        488436 blocks super 1.2 [5/5] [UUUUU]
> 
> md0 : active raid1 sdb1[1] sde1[4] sda1[0] sdc1[2] sdd1[3]
>        1950708 blocks super 1.2 [5/5] [UUUUU]
> 
> 
> Change Level:
> That's where the problem occurs:
> I initially tried 3 different approaches for md2 (the root partition)
> 
>      1. Normal boot
> 
>      mdadm /dev/md2 --grow --level=5
> 
>      Not working: 'Could not set level to raid 5'. I suppose this is 
> because the partition is in use. Makes sense.

Nope.  This is because md won't change a 5-device RAID1 to RAID5.  It will
only change a 2-device RAID1 to RAID5.  This is trivial to do because a
2-device RAID1 and a 2-device RAID5 have data in exactly the same places.
Then you can change your 2-device RAID5 to a 5-device RAID5 - which takes a
while but this can all be done while the partition is in use.

i.e. if you start with a RAID1 with 2 active devices and 3 spares and issue
the command
    mdadm /dev/md2 --grow --level=5 --raid-disks=5

it will convert to RAID5 and then start reshaping out to include all 5 disks.


NeilBrown

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 190 bytes --]

  reply	other threads:[~2011-09-30 22:02 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-30 18:31 mdadm - level change from raid 1 to raid 5 Dominique
2011-09-30 22:02 ` NeilBrown [this message]
2011-10-02 14:24   ` Dominique
2011-10-02 20:50     ` NeilBrown
2011-10-03  8:53       ` Dominique
2011-10-03 10:07         ` NeilBrown
2011-10-03 10:10           ` Christoph Hellwig
2011-10-03 10:52           ` Dominique
2011-10-05  1:18             ` NeilBrown

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=20111001080250.65dc83bd@notabene.brown \
    --to=neilb@suse.de \
    --cc=dcouot@hotmail.com \
    --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).