RAID6 mdadm --grow bug?

RAID6 mdadm --grow bug?

am 13.09.2007 02:39:08 von David Miller

Problem:

The mdadm --grow command fails when trying to add disk to a RAID6.

The man page says it can do this.

"GROW MODE
The GROW mode is used for changing the size or shape of an =20
active array. For this to work,
the kernel must support the necessary change. Various types =20
of growth are being added dur-
ing 2.6 development, including restructuring a raid5 array to =20
have more active devices.

Currently the only support available is to

=B7 change the "size" attribute for RAID1, RAID5 and RAID6.

=B7 increase the "raid-disks" attribute of RAID1, RAID5, and =
=20
RAID6.

=B7 add a write-intent bitmap to any array which supports =20
these bitmaps, or remove a write-
intent bitmap from such an array.
"

So far I have replicated this problem on RHEL5 and Ubuntu 7.04 =20
running the latest official updates and patches. I have even tried it =20
with the most latest version of mdadm 2.6.3 under RHEL5. RHEL5 uses =20
version 2.5.4.

How to replicate the problem:

You can either use real physical disks or use the loopback device to =20
create fake disks.

Here are the steps using the loopback method as root.

cd /tmp
dd if=3D/dev/zero of=3Drd1 bs=3D10240 count=3D10240
cp rd1 rd2;cp rd1 rd3;cp rd1 rd4;cp rd1 rd5
losetup /dev/loop1 rd1;losetup /dev/loop2 rd2;losetup /dev/loop3 =20
rd3;losetup /dev/loop4 rd4;losetup /dev/loop5 rd5
mdadm --create --verbose /dev/md0 --level=3D6 --raid-devices=3D4 /dev/=20
loop1 /dev/loop2 /dev/loop3 /dev/loop4

At this point wait a minute while the raid is being built.

mdadm --add /dev/md0 /dev/loop5
mdadm --grow /dev/md0 --raid-devices=3D5

You should get the following error

mdadm: Need to backup 384K of critical section..
mdadm: Cannot set device size/shape for /dev/md0: Invalid argument

How to clean up

mdadm --stop /dev/md0
mdadm --remove /dev/md0
losetup -d /dev/loop1;losetup -d /dev/loop2;losetup -d /dev/=20
loop3;losetup -d /dev/loop4;losetup -d /dev/loop5
rm rd1 rd2 rd3 rd4 rd5

David.
-
To unsubscribe from this list: send the line "unsubscribe linux-raid" i=
n
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: RAID6 mdadm --grow bug?

am 13.09.2007 12:52:14 von NeilBrown

On Wednesday September 12, millerdc@fusion.gat.com wrote:
>
>
> Problem:
>
> The mdadm --grow command fails when trying to add disk to a RAID6.
>
...
>
> So far I have replicated this problem on RHEL5 and Ubuntu 7.04
> running the latest official updates and patches. I have even tried it
> with the most latest version of mdadm 2.6.3 under RHEL5. RHEL5 uses
> version 2.5.4.

You don't say what kernel version you are using (as I don't use RHEL5
or Ubunutu, I don't know what 'latest' means).

If it is 2.6.23-rcX, then it is a known problem that should be fixed
in the next -rc. If it is something else... I need details.

Also, any kernel message (run 'dmesg') might be helpful.

NeilBrown
-
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: RAID6 mdadm --grow bug?

am 13.09.2007 19:17:16 von David Miller

Neil,

On RHEL5 the kernel is 2.6.18-8.1.8. On Ubuntu 7.04 the kernel is
2.6.20-16. Someone on the Arstechnica forums wrote they see the same
thing in Debian etch running kernel 2.6.18. Below is a messages log
from the RHEL5 system. I have only included the section for creating
the RAID6, adding a spare and trying to grow it. There is a one line
error when I do the "mdadm --grow" command. It is "md: couldn't
update array info. -22."

md: bind
md: bind
md: bind
md: bind
md: md0: raid array is not clean -- starting background reconstruction
raid5: device loop4 operational as raid disk 3
raid5: device loop3 operational as raid disk 2
raid5: device loop2 operational as raid disk 1
raid5: device loop1 operational as raid disk 0
raid5: allocated 4204kB for md0
raid5: raid level 6 set md0 active with 4 out of 4 devices, algorithm 2
RAID5 conf printout:
--- rd:4 wd:4 fd:0
disk 0, o:1, dev:loop1
disk 1, o:1, dev:loop2
disk 2, o:1, dev:loop3
disk 3, o:1, dev:loop4
md: syncing RAID array md0
md: minimum _guaranteed_ reconstruction speed: 1000 KB/sec/disc.
md: using maximum available idle IO bandwidth (but not more than
200000 KB/sec) for reconstruction.
md: using 128k window, over a total of 102336 blocks.
md: md0: sync done.
RAID5 conf printout:
--- rd:4 wd:4 fd:0
disk 0, o:1, dev:loop1
disk 1, o:1, dev:loop2
disk 2, o:1, dev:loop3
disk 3, o:1, dev:loop4
md: bind
md: couldn't update array info. -22

David.



On Sep 13, 2007, at 3:52 AM, Neil Brown wrote:

> On Wednesday September 12, millerdc@fusion.gat.com wrote:
>>
>>
>> Problem:
>>
>> The mdadm --grow command fails when trying to add disk to a RAID6.
>>
> ..
>>
>> So far I have replicated this problem on RHEL5 and Ubuntu 7.04
>> running the latest official updates and patches. I have even tried it
>> with the most latest version of mdadm 2.6.3 under RHEL5. RHEL5 uses
>> version 2.5.4.
>
> You don't say what kernel version you are using (as I don't use RHEL5
> or Ubunutu, I don't know what 'latest' means).
>
> If it is 2.6.23-rcX, then it is a known problem that should be fixed
> in the next -rc. If it is something else... I need details.
>
> Also, any kernel message (run 'dmesg') might be helpful.
>
> NeilBrown

-
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: RAID6 mdadm --grow bug?

am 13.09.2007 19:49:47 von NeilBrown

On Thursday September 13, millerdc@fusion.gat.com wrote:
> Neil,
>
> On RHEL5 the kernel is 2.6.18-8.1.8. On Ubuntu 7.04 the kernel is
> 2.6.20-16. Someone on the Arstechnica forums wrote they see the same
> thing in Debian etch running kernel 2.6.18. Below is a messages log
> from the RHEL5 system. I have only included the section for creating
> the RAID6, adding a spare and trying to grow it. There is a one line
> error when I do the "mdadm --grow" command. It is "md: couldn't
> update array info. -22."

reshaping raid6 arrays was not supported until 2.6.21. So you'll need
a newer kernel.

NeilBrown
-
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html