SATA 硬盘错误

SATA 硬盘错误

我有一台装有 WDC WD3202ABYS 的服务器...有 100 个虚拟主机。服务器运行了大约 5 年,在此期间我更换了 4 个磁盘。所有原因都相同:sata 错误。最后一个:

ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata2.00: BMDMA stat 0x5
ata2.00: cmd 35/00:60:57:7b:b6/00:01:06:00:00/e0 tag 0 dma 180224 out
         res 51/10:60:57:7b:b6/10:01:06:00:00/e0 Emask 0x81 (invalid argument)
ata2.00: status: { DRDY ERR }
ata2.00: error: { IDNF }
ata2.00: configured for UDMA/133
sd 1:0:0:0: SCSI error: return code = 0x08000002
sdb: Current [descriptor]: sense key: Aborted Command
    Add. Sense: Recorded entity not found

Descriptor sense data with sense descriptors (in hex):
        72 0b 14 00 00 00 00 0c 00 0a 80 00 00 00 00 00 
        06 b6 7b 57 
end_request: I/O error, dev sdb, sector 112622423
Buffer I/O error on device dm-8, logical block 14077747
lost page write due to I/O error on dm-8
Buffer I/O error on device dm-8, logical block 14077748
lost page write due to I/O error on dm-8
Buffer I/O error on device dm-8, logical block 14077749
lost page write due to I/O error on dm-8
Buffer I/O error on device dm-8, logical block 14077750
lost page write due to I/O error on dm-8
Buffer I/O error on device dm-8, logical block 14077751
lost page write due to I/O error on dm-8
Buffer I/O error on device dm-8, logical block 14077756
lost page write due to I/O error on dm-8
ata2: EH complete
SCSI device sdb: 625142448 512-byte hdwr sectors (320073 MB)
sdb: Write Protect is off
sdb: Mode Sense: 00 3a 00 00
SCSI device sdb: drive cache: write back
ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata2.00: BMDMA stat 0x5
ata2.00: cmd 35/00:90:17:30:b7/00:02:08:00:00/e0 tag 0 dma 335872 out
         res 51/10:90:17:30:b7/10:02:08:00:00/e0 Emask 0x81 (invalid argument)
ata2.00: status: { DRDY ERR }
ata2.00: error: { IDNF }
ata2.00: configured for UDMA/133
sd 1:0:0:0: SCSI error: return code = 0x08000002
sdb: Current [descriptor]: sense key: Aborted Command
    Add. Sense: Recorded entity not found

Descriptor sense data with sense descriptors (in hex):
        72 0b 14 00 00 00 00 0c 00 0a 80 00 00 00 00 00 
        08 b7 30 17 
end_request: I/O error, dev sdb, sector 146223127
printk: 34 messages suppressed.
Buffer I/O error on device dm-8, logical block 18277835

看起来像是某些软件错误...

但此后不久(也许当我启动 fsck 时)出现以下错误:

EXT3-fs error (device dm-8): ext3_put_super: Couldn't clean up the journal
ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata2.00: BMDMA stat 0x4
ata2.00: cmd c8/00:00:8f:0d:84/00:00:00:00:00/e1 tag 0 dma 131072 in
         res 51/01:00:a8:0d:84/10:02:08:00:00/e1 Emask 0x1 (device error)
ata2.00: status: { DRDY ERR }
ata2.00: configured for UDMA/133
ata2: EH complete
ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata2.00: BMDMA stat 0x4
ata2.00: cmd c8/00:00:8f:0d:84/00:00:00:00:00/e1 tag 0 dma 131072 in
         res 51/40:00:a8:0d:84/10:02:08:00:00/e1 Emask 0x9 (media error)
ata2.00: status: { DRDY ERR }
ata2.00: error: { UNC }
ata2.00: configured for UDMA/133
ata2: EH complete
ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata2.00: BMDMA stat 0x4
ata2.00: cmd c8/00:00:8f:0d:84/00:00:00:00:00/e1 tag 0 dma 131072 in
         res 51/40:00:a8:0d:84/10:02:08:00:00/e1 Emask 0x9 (media error)
ata2.00: status: { DRDY ERR }
ata2.00: error: { UNC }
ata2.00: configured for UDMA/133
ata2: EH complete
ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata2.00: BMDMA stat 0x4
ata2.00: cmd c8/00:00:8f:0d:84/00:00:00:00:00/e1 tag 0 dma 131072 in
         res 51/40:00:a8:0d:84/10:02:08:00:00/e1 Emask 0x9 (media error)

这些错误是否也可能是“软件”错误...我的意思是这个硬盘只有 9000 小时的历史...硬盘上没有额外的负载...温度是 29 摄氏度...我需要更换硬盘吗?或者检查磁盘是否足够?

EXT3-fs error (device dm-8): ext3_put_super: Couldn't clean up the journal
ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata2.00: BMDMA stat 0x4
ata2.00: cmd c8/00:00:8f:0d:84/00:00:00:00:00/e1 tag 0 dma 131072 in
         res 51/01:00:a8:0d:84/10:02:08:00:00/e1 Emask 0x1 (device error)
ata2.00: status: { DRDY ERR }
ata2.00: configured for UDMA/133
ata2: EH complete
ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata2.00: BMDMA stat 0x4
ata2.00: cmd c8/00:00:8f:0d:84/00:00:00:00:00/e1 tag 0 dma 131072 in
         res 51/40:00:a8:0d:84/10:02:08:00:00/e1 Emask 0x9 (media error)
ata2.00: status: { DRDY ERR }
ata2.00: error: { UNC }
ata2.00: configured for UDMA/133
ata2: EH complete
ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata2.00: BMDMA stat 0x4
ata2.00: cmd c8/00:00:8f:0d:84/00:00:00:00:00/e1 tag 0 dma 131072 in
         res 51/40:00:a8:0d:84/10:02:08:00:00/e1 Emask 0x9 (media error)
ata2.00: status: { DRDY ERR }
ata2.00: error: { UNC }
ata2.00: configured for UDMA/133
ata2: EH complete
ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata2.00: BMDMA stat 0x4
ata2.00: cmd c8/00:00:8f:0d:84/00:00:00:00:00/e1 tag 0 dma 131072 in
         res 51/40:00:a8:0d:84/10:02:08:00:00/e1 Emask 0x9 (media error)

怎样找出原因?


以下是来自 smart 的错误:

Error 36 occurred at disk power-on lifetime: 9160 hours (381 days + 16 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 00 22 09 80 e3  Error: UNC at LBA = 0x03800922 = 58722594

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  c8 00 08 1f 09 80 03 0a  47d+13:38:13.534  READ DMA
  ec 00 00 00 00 00 00 0a  47d+13:38:13.530  IDENTIFY DEVICE
  ef 03 46 00 00 00 00 0a  47d+13:38:13.528  SET FEATURES [Set transfer mode]

好的。是否可能出现以下情况:1. 磁盘位于 9000 上,没有进行 fsck。2. 存在一些错误 3. 在 dmesg 中出现如下错误:

ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata2.00: BMDMA stat 0x5
ata2.00: cmd 35/00:60:57:7b:b6/00:01:06:00:00/e0 tag 0 dma 180224 out
         res 51/10:60:57:7b:b6/10:01:06:00:00/e0 Emask 0x81 (invalid argument)
ata2.00: status: { DRDY ERR }
ata2.00: error: { IDNF }
ata2.00: configured for UDMA/133
sd 1:0:0:0: SCSI error: return code = 0x08000002
sdb: Current [descriptor]: sense key: Aborted Command
    Add. Sense: Recorded entity not found
  1. 以及诸如 inode 错误等错误...
  2. 我尝试卸载该分区,但硬盘出现错误,例如无法找到这样的 inode 等等……?

如果是这样……我不明白。我每年都需要更换磁盘吗?只是为了防止出现此错误?有人有同样的问题吗?不只在一个磁盘上……

答案1

根据我的经验,您看到的错误实际上是反映在软件中的硬件错误。“由于 I/O 错误导致页面写入丢失”消息是我在坏硬盘上看到的,它的行为与您在尝试对其进行 fsck 时描述的类似。这几乎肯定是真正的硬件故障。

您应该检查 smartctl 的输出来看看它所说的可能是问题。

smartctl --attributes /dev/sdb

它会给你类似这样的输出:

=== 开始读取智能数据部分 ===
SMART 属性数据结构修订号:16
供应商特定的 SMART 属性及阈值:
ID# ATTRIBUTE_NAME 标志值 最差阈值类型 已更新 WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate 0x000f 200 200 051 预失败始终 - 0
  3 Spin_Up_Time 0x0003 212 186 021 始终预故障 - 4358
  4 启动停止计数 0x0032 100 100 000 Old_age 始终 - 97
  5 Reallocated_Sector_Ct 0x0033 200 200 140 预故障始终 - 0
  7 Seek_Error_Rate 0x000f 200 200 051 预失败始终 - 0
  9 通电时间 0x0032 066 066 000 老化时间始终 - 25420
 10 Spin_Retry_Count 0x0013 100 253 051 预失败始终 - 0
 11 Calibration_Retry_Count 0x0013 100 253 051 预失败始终 - 0
 12 Power_Cycle_Count 0x0032 100 100 000 Old_age 始终 - 86
194 温度_摄氏度 0x0022 104 001 000 Old_age 始终 - 46
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age 始终 - 0
197 Current_Pending_Sector 0x0012 200 200 000 Old_age 始终 - 0
198 Offline_Uncorrectable 0x0010 200 200 000 Old_age 离线 - 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age 始终 - 0
200 Multi_Zone_Error_Rate 0x0009 200 200 051 预故障离线 - 0

输出可能很晦涩,但我要密切关注的是 Reallocated_Sector_Ct,因为它会告诉您硬盘中已知坏扇区的情况。命令“smartctl -a”将提供更多数据。在我之前遇到的坏硬盘上,该输出的底部是“SMART 错误日志”,其中包含一些条目。

答案2

您遇到了无法纠正的读取错误。

Error: UNC at LBA = 0x03800922 = 58722594

该块上的数据现已丢失。

你应该:

  • 首先要使用镜像。企业磁盘实际上是设计用来放在镜像后面的,它们宁愿返回读取错误,也不愿费尽心机获取数据。
  • 从备份中恢复丢失的数据

您没有理由不使用 RAID(特别是如果您为客户托管网站!) - 操作系统不是那么大,您不需要在双磁盘系统上为其配备专用磁盘。

答案3

您使用 RAID 控制器吗?您使用哪种控制器?

其中一件事(既令人沮丧又令人振奋)是 HDD 制造商正在向 SATA 市场引入越来越多的细分市场。现在有用于“小型企业/RAID 用途”和“单个/台式机用途”的驱动器。SAS 似乎被推向“高端企业”市场。

您的型号是 WD 的 RE3 系列硬盘,专为 RAID 设置而设计。据我所知,这意味着(除其他事项外)硬盘在尝试修复错误时会更快地“放弃”(即在 3-4 秒内),而不是反复尝试更长的时间。更快放弃会将错误报告给 RAID 控制器,因此它可以使用另一个硬盘进行恢复。相反,如果硬盘等待的时间更长,RAID 控制器会将硬盘踢出阵列,因为该硬盘没有响应。

失败应该仍然很少发生,而不是每年一次。也许这是你设置的另一个方面?(我曾经与 SATA 电缆发生过一场令人沮丧的斗争,现在它被安装在我的门上,以警告其他电缆......)

答案4

我对 Western Digital 硬盘的使用体验非常糟糕。超过一半的硬盘由于完全损坏或出现坏扇区而不得不在保修期内更换。

大约 8 年来,我只购买 WD 硬盘,现在我再也不想花钱购买了。我不知道哪款 WD 硬盘值得信赖;到目前为止,我的经验告诉我“没有一款值得信赖”。

您已更换了 4 次原装硬盘;您是同时购买这 5 个硬盘的吗?当每个硬盘出现故障时,您都购买新的硬盘来更换?在保修期内退回硬盘以进行更换?您是如何以及何时购买这 5 个硬盘的?它们是什么型号?根据我的经验,WD 硬盘的批次经常是坏的并且同时出现故障。

相关内容