如何在调用以下命令之前暂停执行我的shell脚本,直到raid数组被组装完毕? 据我所知,这是一个asynchronous的进程,RAIDarrays的状态需要被轮询。
mdadm –create -l10 -n4 / dev / md0 / dev / xvdh *
由于您正在创build新的RAID 10,因此可以立即开始使用arrays。 最初的重新同步将在后台继续。 你只需要等待它完成,如果build立一个RAID 5arrays(这也是一个RAID 6的好主意)。
有关更多详细信息,请参阅Linux RAID Wiki中的初始arrays创build 。
编辑Sat Oct 27 17:03:42 CDT 2012:
虽然在完成重新同步之前确实可以使用RAID 10arrays,但我认为我会回答在重新同步过程中如何暂停的问题。
这是如何暂停重新同步过程的脚本(IMO / AFAIK /等):
# Add this where you want to pause... while [ -n "$(mdadm --detail /dev/md0 | grep -ioE 'State :.*resyncing')" ]; do sleep 1 done
要使用上面的例子,整个脚本将是:
mdadm --create -l10 -n4 /dev/md0 /dev/xvdh* while [ -n "$(mdadm --detail /dev/md0 | grep -ioE 'State :.*resyncing')" ]; do sleep 1 done mke2fs -t ext4 -F /dev/md0
请注意,上述脚本未经testing,可能包含错误。