Re: Question about how to migrate raid0 to raid5

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

 



On Thu, 19 Jul 2012 15:11:06 +0800 Zhang Jiejing <b33651@xxxxxxxxxxxxx> wrote:

>   Hi Neil Brown,
> 
> Sorry for interrupt you.
> 
> I'm using linux md raid0 in my server, and it's working very good unless 
> it's outof space recently.
> Thanks for you good job.
> 
> I have two question about linux md,
> 1. the first one maybe a common one:
>      I install my server /home dir as RAID-0 for speed, this server is 
> usually to code build and development, but recently I need add a 2TB HDD 
> to this md, and I found add disk on RAID-0 is not supported, but I found 
> there will maybe a way to convert my RAID-0 to RAID-5, and then add 
> other disk on the RAID-5  (I don't covert it back).
> 
> I sow some patch about md takeover:
> like
> md/raid4: permit raid0 takeover
> md: Fix dev_sectors on takeover from raid0 to raid4/5
> 
> But I'm a newbie about linux md, can you give a some guide about how to 
> do this or it was not supported ?

If you use a recent kernel (3.4) and a recent mdadm you should be able to
grow a RAID0 array.  It will be converted to RAID5, reshaped, then converted
back.
I recommend creating some 'loopback' devices to experiment with just to make
sure it works.
i.e. create 4 big files, use "losetup /dev/loop0 filename" etc to create 4
loopback devices.  Create a RAID0 over 3 of those, then try to add a device.
The command is:
   mdadm --grow /dev/md0 --raid-devices=4 --add /dev/loop3

or similar.

> 
> My kernel version: Linux  2.6.38-15-server #64-Ubuntu SMP Fri Jul 6 
> 19:08:52 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
> 
> mdadm - v3.1.4 - 31st August 2010

You'll definitely need newer kernel and mdadm.


> 
> 
> 2. the second question is about radi0.c : create_strip_zones() function,
> this function will scan mddev->disks  and check them EQUAL size or not, 
> can you give me some guide about where this disks passed to this mddev ?
> 
> The reason I ask this question is, I add a new HD, and partition two 
> "Linux raid autodetect" partition on this disk, but I don't know how to 
> add this disk to md1.
> 
> So I type:
>   mdadm --add /dev/md1 /dev/sdc
> and report -EINVAL error.

You cannot add a device to a RAID0 - there is nowhere to put it.
To grow a RAID0, you give the --add in the same command as the --grow, as
above.



> 
> I first tough is I caused by my partition not right, so I partition my 
> sdc to 2 partition, with partition type is "Linux raid autodetect".
> 
> and found also failed, so I did some google, and found RAID-0 don't 
> support add disk online.
> 
> After did a ubuntu "do-release-upgrade", and reboot, I found kernel will 
> check /dev/sdc, looking at sdc, and then failed to create the zone.
> 
> After remove the HD in BIOS, I can success mount the md1 again, so my 
> question is do I need do some mdadm command to remove the /dev/sdc in my 
> md1 (maybe it record the device node in some where ?)
> 
> 
> Thanks for you advance.
> 


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