Apr 18 00:20:15 hope kernel: [307085.582035] ata5.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0 Apr 18 00:20:15 hope kernel: [307085.582040] ata5.01: Failed command: READ DMA EXT Apr 18 00:20:15 hope kernel: [307085.582048] ata5.01: cmd 25/00:08:08:6a:34/00:00:27:00:00/f0 tag 0 dma 4096 in Apr 18 00:20:15 hope kernel: [307085.582050] res 51/40:00:0c:6a:34/40:00:27:00:00/f0 Emask 0x9 (media error) Apr 18 00:20:15 hope kernel: [307085.582053] ata5.01: status: { DRDY ERR } Apr 18 00:20:15 hope kernel: [307085.582056] ata5.01: error: { UNC } Apr 18 00:20:15 hope kernel: [307085.621301] ata5.00: configured for UDMA/133 Apr 18 00:20:15 hope kernel: [307085.640972] ata5.01: configured for UDMA/133 Apr 18 00:20:15 hope kernel: [307085.640986] sd 4:0:1:0: [sdd] Unhandled sense code Apr 18 00:20:15 hope kernel: [307085.640989] sd 4:0:1:0: [sdd] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE Apr 18 00:20:15 hope kernel: [307085.640993] sd 4:0:1:0: [sdd] Sense Key : Medium Error [current] [descriptor] Apr 18 00:20:15 hope kernel: [307085.640998] Descriptor sense data with sense descriptors (in hex): Apr 18 00:20:15 hope kernel: [307085.641001] 72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00 Apr 18 00:20:15 hope kernel: [307085.641010] 27 34 6a 0c Apr 18 00:20:15 hope kernel: [307085.641020] sd 4:0:1:0: [sdd] Add. Sense: Unrecovered read error - auto reallocate Failed Apr 18 00:20:15 hope kernel: [307085.641023] sd 4:0:1:0: [sdd] CDB: Read(10): 28 00 27 34 6a 08 00 00 08 00 Apr 18 00:20:15 hope kernel: [307085.641027] end_request: I/O error,dev sdd,sector 657746444 Apr 18 00:20:15 hope kernel: [307085.641035] ata5: EH complete Apr 18 00:20:15 hope kernel: [307085.641672] md/raid1:md16: read error corrected (8 sectors at 657744392 on sdd1) Apr 18 00:20:17 hope kernel: [307087.505082] md/raid1:md16: redirecting sector 657742336 to other mirror: sdd1
每个错误都抱怨不同的扇区号,并伴随着用户(我)访问磁盘几秒钟的延迟.
我检查了smartctl输出,并看到以下输出(不相关的部分被剪裁):
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_Failed RAW_VALUE 1 Raw_Read_Error_Rate 0x002f 193 193 051 Pre-fail Always - 1606 5 Reallocated_Sector_Ct 0x0033 194 194 140 Pre-fail Always - 0 196 Reallocated_Event_Count 0x0032 162 162 000 Old_age Always - 0 197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 51
回顾日志,我发现错误实际上已经发生了几天,主要是在备份期间,但也经常在非常轻的使用期间(意味着大约每5次我试图保存一个文本文件).我得出结论,我的磁盘正在死亡,RAID-1正在适当地处理它,并且是时候订购替换磁盘了.我订购了一个新磁盘.
令我惊讶的是,一天后,错误……停止了.我没有做任何事来解决它们.我没有重新启动,没有将驱动器脱机,没有.但错误才刚刚停止.
此时,好奇地看到坏扇区现在是否只是在磁盘的空闲部分,我将磁盘从RAID中取出,将其放回RAID中,并允许它完成随后的完全重新同步. 9小时后重新同步完成没有任何错误(2TB磁盘需要一段时间).
此外,smartctl输出稍有变化,如下所示:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_Failed RAW_VALUE 1 Raw_Read_Error_Rate 0x002f 193 193 051 Pre-fail Always - 1606 5 Reallocated_Sector_Ct 0x0033 194 194 140 Pre-fail Always - 43 196 Reallocated_Event_Count 0x0032 162 162 000 Old_age Always - 38 197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 0
所以,当然,这个部分让我感到高兴的是“从什么时候坏磁盘自我修复?”
我想这可能是驱动器的一小部分区域自然坏了,驱动器只需要3天(!)就可以在扇区重新分配代码开始之前将其映射到磁盘的坏区域…但我不能说我见过这种事.
有没有人见过这种行为?如果是这样,您之后对驱动器的体验是什么?它又发生了吗?磁盘最终完全失败了吗?或者它只是一个无法解释的故障仍然无法解释?
在我的情况下,我已经有了替换驱动器(在保修期内获得),所以我可能只是更换驱动器.但我很想知道我是否以某种方式误诊了这一点.如果有帮助,我会在问题发生时提供完整的’smartctl -a’输出.它只是有点长,所以我没有在这里发布.
解决方法
一旦坏扇区被绘制出来,并且只要更多的驱动器表面没有失效,你就会处于良好的状态.
我不太了解当前驱动器的驱动器故障模型,以了解介质表面的一部分变坏与问题传播或再次发生之间是否有很多相关性.如果没有相关性,那么一旦坏扇区被映射出来,你就会处于良好的状态.如果存在相关性,那么这是驱动器结束的开始.