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 --]
next prev parent 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).