如何跟踪 raid5 重建的开始和结束时间?

如何跟踪 raid5 重建的开始和结束时间?

这是我在论坛上的第一篇文章,所以请耐心等待。

我是 Linux 环境的新手,也是 raid 配置的新手。我正在做一个工作项目,其中我正在测量 RAID5 重建时间。

我目前在 RAID5 配置中有 4 个活动驱动器。我将使其中之一失败。

当我其中一个驱动器出现故障时,它会自动开始重建吗?此外,我想跟踪重建所需的时间。

我知道 /proc/mdstat 会告诉我它的进度,但我希望能够在重建时离开,并返回一些日志来告诉我重建需要多长时间。

预先感谢阅读本文的人。

答案1

当我其中一个驱动器出现故障时,它会自动开始重建吗?

除非阵列中已有备用部分,否则只有当您手动将另一个驱动器添加到阵列时,它才会开始重建。未经许可无法很好地获取随机驱动器。

请注意,虽然驱动器尚未从阵列中踢出,但使用mdadm --replace可能是开始重建的更好方法;它允许要更换的驱动器协助重建过程。

返回一些日志,告诉我重建花了多长时间

您可以使用带有时间戳的日志消息来获取准确的时间。

[117687.034515] md: recovery of RAID array md100
...
[117709.482483] md: md100: recovery done.

然后等待mdadm --wait /dev/md100正在运行的操作完成。如果将其结合起来,time您可以从实用程序的角度测量花费的时间mdadm,但内核本身打印的时间戳应该更准确。如果这种准确性对你的情况很重要......

要获得更详细的统计信息(哪个部分花了这么长时间?),您必须自己监控驱动器并在整个过程中记录其吞吐量,mdadm这并不能真正帮助您。您可以通过/proc/mdstatsysfs 界面或通过 sysfs 界面查看当前进度,其中有/sys/block/md100/md/[dev-sdx/recovery_start]很多有趣的内容,因此您不必总是解析人类可读的 mdstat。

相关内容