我的 MDADM 监控有问题,我没有正确处理事件。我在干净的 ubuntu 虚拟机上尝试了 2 个场景。让我解释。
我有一个简单的脚本来捕获事件并保存到日志文件中。如果我让监控文件向我发送邮件,结果完全相同,但日志文件更容易解释
所以我在 MDADM.conf 中执行日志文件
# instruct the monitoring daemon where to send mail alerts
MAILADDR root
PROGRAM /root/scripts/monitor_array.sh
第一个场景:Raid5 中的 4 HD
md0 : active raid5 sdb1[5] sde1[4] sdd1[2] sdc1[1]
58540032 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]
(1) 我正在添加一个备用: mdadm --manage /dev/md0 --add /dev/sdf1
备件存在
md0 : active raid5 sdf1[6](S) sdb1[5] sde1[4] sdd1[2] sdc1[1]
58540032 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]
(2) 我将一个驱动器设置为故障: mdadm --manage /dev/md0 --set-faulty /dev/sdb1 Raid 正在自动获取备用并恢复
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10]
md0 : active raid5 sdf1[6] sdb1[5](F) sde1[4] sdd1[2] sdc1[1]
58540032 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/3] [_UUU]
[====>................] recovery = 24.6% (4807680/19513344) finish=1.2min speed=200320K/sec
这种情况下的日志是
***************************
05-02-18 / 00:04:52
Fail
/dev/md0
/dev/sdb1
***************************
***************************
05-02-18 / 00:04:55
RebuildStarted
/dev/md0
***************************
***************************
05-02-18 / 00:06:30
RebuildFinished
/dev/md0
***************************
***************************
05-02-18 / 00:06:30
SpareActive
/dev/md0
/dev/sdf1
***************************
所有步骤都可见,但我没有看到事件“Rebuild20, 40, 60, 80”,但这可以接受
情景(2)
在这里我也在做同样的事情,但没有备用我从以下配置开始
md0 : active raid5 sdb1[5] sde1[4] sdd1[2] sdc1[1]
58540032 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]
(1) 我将一个驱动器设置为故障: mdadm --manage /dev/md0 --set-faulty /dev/sdb1
磁盘在 mdstat 和日志中显示为失败
md0 : active raid5 sdb1[5](F) sde1[4] sdd1[2] sdc1[1]
58540032 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/3] [_UUU]
并在日志中
***************************
05-02-18 / 00:17:36
Fail
/dev/md0
/dev/sdb1
***************************
(2) 现在问题出现了,我正在添加一个驱动器: mdadm --manage /dev/md0 --add /dev/sdf1
md0 : active raid5 sdf1[6] sdb1[5](F) sde1[4] sdd1[2] sdc1[1]
58540032 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/3] [_UUU]
[=>...................] recovery = 7.1% (1398332/19513344) finish=1.5min speed=199761K/sec
日志同时显示 3 个事件
***************************
05-02-18 / 00:20:52
RebuildStarted
/dev/md0
***************************
***************************
05-02-18 / 00:20:52
RebuildFinished
/dev/md0
***************************
***************************
05-02-18 / 00:20:52
RebuildStarted
/dev/md0
***************************
一段时间后
***************************
05-02-18 / 00:22:30
RebuildFinished
/dev/md0
***************************
***************************
05-02-18 / 00:22:30
SpareActive
/dev/md0
/dev/sdf1
***************************
那么基本上为什么监控会同时显示多个 Rebuild / Start /finish 以及为什么系统没有显示rebuild20/40/60/80 事件?