mdadm 从 RAID1 增长到 RAID10

mdadm 从 RAID1 增长到 RAID10

我见过这个帖子关于如何从 RAID1 转换为 RAID10,但阅读 mdadm 手册页在我看来最近的 mdadm 允许从 RAID1 重塑为 RAID10,通过首先从 RAID1 重塑为 RAID0,然后从 RAID0 重塑为 RAID10,所以我尝试了一下。

/dev/md1 是我的 RAID1,正在重塑为 RAID10。它使用 /dev/sdc2 和 /dev/sdd2。以下是我迄今为止发出的命令(主要是通过反复试验,到目前为止,我在该阵列上还没有重要的数据):

1 mdadm -G /dev/md1 -l 0 
2 mdadm -G /dev/md1 -l 10 -n 4 --add /dev/sdd2 
3 mdadm /dev/md1 --add /dev/sda2
4 mdadm /dev/md1 --add /dev/sdb2
5 mdadm -G /dev/md1 -n 4

执行命令 4 后,/proc/mdstat 显示正在进行重新同步,且有 2 个备用驱动器。执行命令 5 后,它开始显示正在进行重塑,但重塑停留在 0%,数字从未移动:

md1 : active raid10 sdb2[4] sda2[3] sdd2[2] sdc2[0]
      976435008 blocks super 1.2 64K chunks 2 near-copies [4/3] [U_UU]
      [>....................]  reshape =  0.0% (65408/976435008) finish=581030.1min 
speed=28K/sec

我如何让 mdadm 恢复重塑操作?

编辑:

系统死锁了。我终于重启了系统,但 grub 找不到阵列。现在我用 sysrescuecd 启动了系统,但 mdadm 无法启动阵列:

root@sysresccd /root % mdadm --assemble --scan                      
mdadm: /dev/md/fx:1 exists - ignoring
mdadm: failed to add /dev/sdd2 to /dev/md125: Invalid argument
mdadm: failed to add /dev/sdb2 to /dev/md125: Invalid argument
mdadm: failed to add /dev/sda2 to /dev/md125: Invalid argument
mdadm: failed to add /dev/sdc2 to /dev/md125: Invalid argument
mdadm: failed to RUN_ARRAY /dev/md125: Invalid argument
mdadm: /dev/md125 assembled from 0 drives - not enough to start the array.
mdadm: No arrays found in config file or automatically

dmesg 表示,对于所有设备:

[ 1001.430107] md: sda1 does not have a valid v1.2 superblock, not importing!
[ 1001.430137] md: md_import_device returned -22
[ 1001.430214] md: md125 stopped.

我也尝试过:

root@sysresccd /root % mdadm --assemble --metadata=0.90 /dev/md1 /dev/sdd2
mdadm: no RAID superblock on /dev/sdd2
mdadm: /dev/sdd2 has no superblock - assembly aborted

还有什么我可以尝试重建阵列吗?

相关内容