软RAID 6恢复第二个磁盘故障

我在托pipe系统中发生磁盘故障,并更换了故障驱动器。 在恢复期间,发生了另一个驱动器上的磁盘错误。

当发生原始错误时:

md2 : active raid6 sdf3[5](F) sdd3[3] sdg3[6] sdc3[2] sdb3[7] sde3[4] sdd3[3] sda3[0] 104849920 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/6] [UUUUU_U] 

修理后添加驱动器:

 root@rescue ~ # mdadm /dev/md2 -a /dev/sdf3 mdadm: added /dev/sdf3 root@rescue ~ # cat /proc/mdstat Personalities : [raid1] [raid6] [raid5] [raid4] md2 : active raid6 sdf3[7] sda3[0] sdg3[6] sde3[4] sdd3[3] sdc3[2] 104849920 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/5] [U_UUU_U] [>....................] recovery = 0.9% (200576/20969984) finish=5.1min speed=66858K/sec 

看起来sda3已经从arrays中消失了

重build完成:

 md2 : active raid6 sdf3[7](S) sda3[0] sdg3[6] sde3[4](F) sdd3[3] sdc3[2] 104849920 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/4] [U_UU__U] According to the error log the rebuild probably stopped at the error: Jul 18 13:17:02 rescue kernel: [ 3648.976435] sd 6:0:0:0: [sde] Unhandled sense code Jul 18 13:17:02 rescue kernel: [ 3648.976441] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE Jul 18 13:17:02 rescue kernel: [ 3648.976445] Sense Key : Medium Error [current] [descriptor] Jul 18 13:17:02 rescue kernel: [ 3648.976451] 72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00 Jul 18 13:17:02 rescue kernel: [ 3648.976464] sd 6:0:0:0: [sde] Jul 18 13:17:02 rescue kernel: [ 3648.976470] sd 6:0:0:0: [sde] CDB: Jul 18 13:17:02 rescue kernel: [ 3649.063660] md/raid:md2: read error not correctable (sec tor 13785320 on sde3). Jul 18 13:17:02 rescue kernel: [ 3649.063664] md/raid:md2: read error not correctable (sector 13785328 on sde3). Jul 18 13:17:02 rescue kernel: [ 3649.063667] md/raid:md2: read error not correctable (sector 13785336 on sde3). Jul 18 13:17:02 rescue kernel: [ 3649.063670] md/raid:md2: read error not correctable (sector 13785344 on sde3). Jul 18 13:17:02 rescue kernel: [ 3649.063672] md/raid:md2: read error not correctable (sector 13785352 on sde3). Jul 18 13:17:02 rescue kernel: [ 3649.063675] md/raid:md2: read error not correctable (sector 13785360 on sde3). Jul 18 13:17:02 rescue kernel: [ 3649.063678] md/raid:md2: read error not correctable (sector 13785368 on sde3). Jul 18 13:17:02 rescue kernel: [ 3649.063681] md/raid:md2: read error not correctable (sector 13785376 on sde3). Jul 18 13:17:02 rescue kernel: [ 3649.063684] md/raid:md2: read error not correctable (sector 13785384 on sde3). Jul 18 13:17:02 rescue kernel: [ 3649.063748] ata7: EH complete Jul 18 13:17:02 rescue kernel: [ 3649.121786] md: md2: recovery done. 

在那一点上,有什么方法可以恢复(比如添加sda3回来)?

现在,在一个软件RAID6上,有三个硬盘(不是两个:注意状态是[U_UU__U] ),其中两个似乎在RAID重build过程中失败。 现在是跳过大部分硬件并从备份中恢复的时候了。

在这些情况下,数据恢复通常是可能的。 您应该能够在降级模式下重新制作RAID并复制大部分数据,但在复制过程中的某个时刻RAID可能会崩溃。 在这种情况下,您可以重新制作RAID,并通过避免使RAID崩溃的目录来复制其他数据。

或者为了获得最佳效果,您可以拍摄失败的驱动器的图像。 然后使用图像执行恢复工作。

使用smartctl检查驱动器的SMART状态。 它应该帮助您validation哪些驱动器是好的,哪些是有问题的。

SMART信息加上mdadm –examine的输出将有助于确定重制RAID的最佳方法。