我在3ware 9650SE-16ML卡上有一个可悲的RAIDarrays。 我不能告诉的是,如果我刚刚遭受双盘失败(不幸的是!),或者如果我读这个错误。 /c0 show all的相关输出/c0 show all是:
Port Status Unit Size Blocks Serial --------------------------------------------------------------- p0 DEGRADED u0 931.51 GB 1953525168 5QJ07MAH p1 ECC-ERROR u0 931.51 GB 1953525168 5QJ0DCW9 p2 OK u0 931.51 GB 1953525168 5QJ0DW9C p3 OK u0 931.51 GB 1953525168 5QJ0CKXJ
而失败是(从show alarms ):
Ctl Date Severity Alarm Message ------------------------------------------------------------------------------ c0 [Sun Nov 20 07:47:23 2011] INFO Rebuild started: unit=0 c0 [Sun Nov 20 08:20:12 2011] ERROR Drive ECC error reported: port=1, unit=0 c0 [Sun Nov 20 08:20:12 2011] ERROR Source drive error occurred: port=1, unit=0 c0 [Sun Nov 20 08:20:12 2011] ERROR Rebuild failed: unit=0 c0 [Sun Nov 20 08:20:12 2011] INFO Rebuild paused: unit=0
我认为发生的事情是p0失败,然后p1有一个ECC错误(也就是说,我的数据不见了)。 但是…也许不是? 它保持在97%重build,但不能超过这个错误。
据我所知,以前的pipe理员closures了定期validation,这是什么让我们进入这种状态。 这不是大多数人需要担心的3Ware RAID!
更新
打了几天之后,我做了IgnoreECC位并重build了,但是我的数据已经被清理了。 游民。
ECC错误意味着驱动器上至less有一个不可读的扇区。 但是,如果幸运的话,该扇区可能不会被位于该卷上的文件系统使用,因此您仍然可以在此状态下从arrays中复制数据。
还有一些选项可以在重build期间忽略ECC错误:
/cx/ux start rebuild disk=p [ignoreECC] /cx/ux set ignoreECC=on|off
但是,使用这些选项意味着由不良扇区影响的RAID条纹将被破坏(不确定在这种情况下卡将执行什么操作 – 可能会用零或甚至随机数据replace整个条),因此“恢复“数组实际上可能无法检测到损坏(如果受影响的条纹在某个数据文件的中间)。 在尝试重build之前将数据从数组复制到其他位置可能会更安全(至less在尝试读取不良区域时应该会出错)。
您应该设置arrays的预定validation,以便更早地捕获不可读的扇区,以便您可以更换刚开始坏的驱动器。
我从来没有经历过一个物理驱动器(p0)进入状态DEGRADED,但是你可能能够找回ECC-ERROR驱动器,甚至是降级驱动器
/c0 p1 remove
然后发出重新扫描
/c0 rescan
把他们放回袭击单位通过
maint rebuild c0 u0 p1
SATA驱动器,使我失败的ECC错误,我能够恢复,如果只是几个小时,然后再次失败。
这很可能是你的数据消失了。 ECC错误意味着从磁盘读取时出现不可恢复的错误。
如果你没有备份,你可以尝试转储数组的当前状态。 这可能是因为控制器不知道它是否丢失数据或只是一个空的区域(它缺乏对文件系统的任何洞察)。