Linux mdadm –grow RAID6:出错了 – 重新中止

我有一个我想要扩展的RAID60。

当前是:2个轴,每个9个磁盘+2个备用。

未来是:每个有10个磁盘+ 1个备用的4个车轴。

所以我需要做一些改进,重塑驱动器。

我觉得这足够了:

mdadm -v --grow /dev/md1 --raid-devices=10 --backup-file=/root/back-md1 mdadm -v --grow /dev/md2 --raid-devices=10 --backup-file=/root/back-md2 mdadm -v --grow /dev/md0 --raid-devices=4 --add /dev/md3 /dev/md4 

最后一个命令有效,但是两个第一个命令失败:

 mdadm: Need to backup 7168K of critical section.. mdadm: /dev/md2: Something wrong - reshape aborted 

怎样才能让RAID6使用更多的设备?

有关系统的信息:

 $ mdadm --version mdadm - v3.2.5 - 18th May 2012 $ uname -r 3.5.0-17-generic 

Makefile重现该问题:

 all: install_parallel createmd0 createmd3 createmd4 install_parallel: parallel --version || wget -O - pi.dk/3 | bash loop: # make enough loop-devices seq 0 50 | parallel mknod -m 660 /dev/loop{} b 7 {} || true seq 0 50 | parallel dd if=/dev/zero of=l{} bs=1M count=1 seq 0 50 | parallel losetup -fl{} createmd1: loop mdadm --create /dev/md1 -c 128 --level=6 --raid-devices=9 -x 2 /dev/loop1? /dev/loop1 createmd2: loop mdadm --create /dev/md2 -c 128 --level=6 --raid-devices=9 -x 2 /dev/loop2? /dev/loop2 createmd3: loop mdadm --create /dev/md3 -c 128 --level=6 --raid-devices=10 -x 1 /dev/loop3? /dev/loop3 createmd4: loop mdadm --create /dev/md4 -c 128 --level=6 --raid-devices=10 -x 1 /dev/loop4? /dev/loop4 createmd0: loop createmd1 createmd2 mdadm --create /dev/md0 -c 512 --level=0 --raid-devices=2 /dev/md1 /dev/md2 grow: mdadm -v --grow /dev/md1 --raid-devices=10 --backup-file=/root/back-md1 mdadm -v --grow /dev/md2 --raid-devices=10 --backup-file=/root/back-md2 mdadm -v --grow /dev/md0 --raid-devices=4 --add /dev/md3 /dev/md4 info: mdadm --version uname -r clean: mdadm --stop /dev/md0 /dev/md? || true seq 0 50 | parallel losetup -d /dev/loop{} || true seq 0 50 | parallel rm l{} 

NeilBrown(neilb(o)suse.de)通过电子邮件回答了这个问题。

问题是环回 – 设备太小。 1 MB太less了。 如果大小更改为30MB它的作品:

 seq 0 50 | parallel dd if=/dev/zero of=l{} bs=30M count=1