如何停止resync并重新启动软件raid(mdadm)?

我有24个驱动器上的RAID6。 raid是用mdadm设置的,所以它是一个软件raid。 其中一个驱动器死亡,服务器冻结,所以必须使用Power Cycle重新启动(关机+开机)。

当服务器启动时,它启动了23个设备的RAIDarrays,并开始重新同步操作。 如果我理解正确,这个重新同步只读取所有驱动器上的数据,并检查是否一切正常,没有执行写入。 我可以通过显示只读的iostat -m 1来确认。

所以我用新的驱动器replace了有故障的驱动器,并且我想启动REBUILD,所以它实际上将数据写入新添加的设备。 我发出了以下命令:

 mdadm --add /dev/md0 /dev/sdc # this adds sdc to the array 

它进行顺利,然而袭击仍然是重新振兴,而不是重build。 驱动器在/ proc / mdstat中报告为备用(S),并且可能等待重新同步完成以便开始重build。

我不得不说,我不关心resync,我需要立即停止,并立即开始重build。 有没有办法做到这一点? 谢谢

我无法等待解决scheme,我在网上find的任何东西在arrays处于活动状态时都不起作用。 所以我停止了arrays

 mdadm --stop /dev/md0 

然后再次启动它

 mdadm --assemble /dev/md0 /dev/sd{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x} 

这有效地停止了重新同步并开始重build。