2009-03-28 11:56:59

by Patrick Ringl

[permalink] [raw]
Subject: 2.6.29 - raid10 issue - spares do not get synched automatically

Hello,

I am using 2.6.29 on a debian lenny. Anyway, I am having problems with a
raid10 sandbox setup consisting of 4 loopback devices. To make a long
story short:

I created a raid10 array with all these 4 devices (loop0-loop3)
then I set two devices faulty, removed them .. checked if I can still
write to the array (which I could, so I/O errors, nothing in dmesg):

BUT - here it comes: once I am trying to (re)add them (I zero'ed the
superblock before) they're only getting added as spares and the array
will not sync.

Here's the logfile with mdadm -D /dev/md0 in between so one can see what
is going on:

http://paste.debian.net/31758/


Any ideas?


PS: Please CC to me since I am not subscribed.


regards,
Patrick


2009-03-29 00:43:31

by Dan Williams

[permalink] [raw]
Subject: Re: 2.6.29 - raid10 issue - spares do not get synched automatically

On Sat, Mar 28, 2009 at 4:55 AM, Patrick Ringl <[email protected]> wrote:
> Hello,
>
> I am using 2.6.29 on a debian lenny. Anyway, I am having problems with a
> raid10 sandbox setup consisting of 4 loopback devices. To make a long story
> short:
>
> I created a raid10 array with all these 4 devices (loop0-loop3)
> then I set two devices faulty, removed them .. checked if I can still write
> to the array (which I could, so I/O errors, nothing in dmesg):
>
> BUT - here it comes: once I am trying to (re)add them (I zero'ed the
> superblock before) they're only getting added as spares and the array will
> not sync.
>
> Here's the logfile with mdadm -D /dev/md0 in between so one can see what is
> going on:
>
> http://paste.debian.net/31758/
>
>
> Any ideas?

You failed the whole array. With 4 devices in the default layout the
array looks like stripe(mirror(slot0, slot1), mirror(slot2, slot3)).
In your case mdadm -D shows that you have the loop devices in the
following slots stripe(mirror(loop2, loop0), mirror(loop1, 3)). A
raid10 is failed once all devices in a mirror set are failed, and a
failed array can't be rebuilt.

Regards,
Dan