Raid5的状态是检查手段?

我注意到我的系统中有以下消息:

Personalities : [raid1] [raid6] [raid5] [raid4] Md3 : active raid5 sda5[0] sdc5[3] sdb5[1] 3858519040 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU] [=================>...] check = 86.0% (1659909504/1929259520) finish=182.1min speed=24645K/sec 

检查状态是什么意思,为什么发生这种情况?

发生这种情况时,RAIDarrays中的其中一个成员可能与arrays不同步,这是正在发生的再同步检查,已完成86%。

当RAIDarrays处于健康状态时,输出将如下所示:

 $ sudo cat /proc/mdstat Personalities : [raid1] md0 : active raid1 sdc1[0] sdb1[1] 2930266432 blocks [2/2] [UU] unused devices: <none> 

为什么会发生?

其中一个成员不同步时,我曾经有过这种情况。 但是,如果他们继续发生,那么很可能是其中一名成员开始失败的一个很好的指示,所以你应该留意警告,并且全面诊断所有成员,以确保他们身体健康,并且确定哪个HDD成员)正在失败,并计划尽快而不是取而代之。

有些发行版可能会定期执行检查,因此可能会由于这些计划检查而使您的arrays处于此状态。 我相信Debian / Ubuntu可能会每周进行一次检查,在系统的crontab文件或/etc/cron.d目录中查找条目。

最后,您可以通过在/dev下的RAID的sync_action文件中回显命令“check”来手动触发这样的检查。

作为根:

 # echo check > /sys/block/md0/sync_action 

如果您需要暂停正在进行的检查,则可以回显命令“空闲”来停止它。

 # echo idle > /sys/block/md0/sync_action 

参考

  • RealTechTalk
  • mdadm – 如何暂停“CHECK”sync_action?
  • MD手册页