Thread (14 messages) 14 messages, 5 authors, 2009-12-30

Re: mdadm 3.1.1: level change won't start

From: Kristleifur Daðason <hidden>
Date: 2009-12-22 18:35:27

On Mon, Dec 21, 2009 at 11:18 PM, Kristleifur Daðason
[off-list ref] wrote:
On Mon, Dec 21, 2009 at 10:57 PM, Neil Brown [off-list ref] wrote:
quoted
On Mon, 21 Dec 2009 03:41:33 +0000
Kristleifur Daðason [off-list ref] wrote:
quoted
Hi all,

I wish to convert my 3-drive RAID-5 array to a 6-drive RAID-6. I'm on
Linux 2.6.32.2 and have mdadm version 3.1.1 with the 32-bit-array-size
patch from here: http://osdir.com/ml/linux-raid/2009-11/msg00534.html

I have three live drives and three spares added to the array. When I
initialize the command, mdadm does the initial checks and aborts with
a "cannot set device shape" without doing anything to the array.

Following are some md stats and growth command output:

___

$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5]
[raid4] [raid10]
md_d1 : active raid5 sdd1[6](S) sdc1[5](S) sdb1[4](S) sdf1[1] sde1[0] sdl1[3]
      2930078720 blocks super 1.1 level 5, 256k chunk, algorithm 2 [3/3] [UUU]
      bitmap: 1/350 pages [4KB], 2048KB chunk

$ mdadm --detail --scan
ARRAY /dev/md/d1 metadata=1.01 spares=3 name=mamma:d1
UUID=da547022:042a6f68:d5fe251e:5e89f263

$ mdadm --grow /dev/md_d1 --level=6 --raid-devices=6
--backup-file=/root/backup.md1_to_r6
mdadm: metadata format 1.10 unknown, ignored.
mdadm: metadata format 1.10 unknown, ignored.
mdadm level of /dev/md_d1 changed to raid6
mdadm: Need to backup 1024K of critical section..
mdadm: Cannot set device shape for /dev/md_d1
mdadm: aborting level change
___


Three questions -

1. What does the stuff about "metadata format 1.10 unknown" mean?
Notice the "super 1.1" vs. "metadata 1.01" vs. "metadata format 1.10"
disrepancy between mdsat, --detail and --grow output.
The metadata format .. unknown means that your /etc/mdadm.conf contains
something like
      metadata=1.10
quoted
2. Am I doing something wrong? :)
Not obviously.
quoted
3. How can I get more info about what is causing the failure to
initialize the growth?
Look in the kernel logs.  e.g.
  dmesg | tail -20

immediately after the "mdadm --grow" attempt.

I just tried the same thing and it worked for me.

NeilBrown
Thank you very much for the reply. You were right, mdadm.conf indeed
contained metadata=1.10. I fixed it, updated the initramfs and
rebooted.

---

mdadm --detail --scan now gives:

 sudo mdadm --detail --scan
ARRAY /dev/md/d1 metadata=1.01 spares=3 name=mamma:d1
UUID=da547022:042a6f68:d5fe251e:5e89f263

---
 I tried the grow command again, and it aborts again. Could it be that
the device sizes are wrong? I thought I meticulously created exactly
identical partitions on each of the drives. The command output is:

 sudo mdadm --grow /dev/md_d1 --level=6 --raid-devices=6
--backup-file=/root/backup.md1_to_r6
mdadm level of /dev/md_d1 changed to raid6
mdadm: Need to backup 1024K of critical section..
mdadm: Cannot set device shape for /dev/md_d1
mdadm: aborting level change

---
I figured it out - I just needed to disable the write-intent bitmap by
doing "mdadm --grow --bitmap=none /dev/md_d1". Then the reshape was
startable and is going quite well.

I'm seeing resync speeds of around 30-40 MB/second during the
reshape/relevel. I'm running on 1.5TB SATA drives. Is this speed OK?

Thanks everybody for the help and suggestions!
--
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help