Re: mdadm - level change from raid 1 to raid 5

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 30 Sep 2011 20:31:37 +0200 Dominique <dcouot@xxxxxxxxxxx> 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: signature.asc
Description: PGP signature


[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux