为什么不同厂家的SMART值不同?

为什么不同厂家的SMART值不同?

首先,我想大家都知道硬盘故障率比制造商预想的要高得多承认谷歌做了一个学习这表明硬盘 SMART 状态报告的某些原始数据属性可能与硬盘未来的故障具有很强的相关性。

例如,我们发现,在第一次扫描错误之后,驱动器在 60 天内发生故障的可能性是没有此类错误的驱动器的 39 倍。重新分配、离线重新分配和试用计数中的首次错误也与更高的故障概率密切相关。尽管存在这些强相关性,但我们发现仅基于 SMART 参数的故障预测模型的预测准确性可能会受到严重限制,因为我们的大部分故障驱动器根本没有显示任何 SMART 错误信号。

Seagate 似乎试图通过以下方式隐藏有关其硬盘的信息:声称只有他们的软件才能准确确定其驱动器的准确状态,顺便说一句,他们的软件不会告诉您 SMART 属性的原始数据值。据我所知,西部数据没有做出这样的声明,但他们的状态报告工具似乎也没有报告原始数据值。

我一直在使用 smartmontools 中的 HDtune 和 smartctl 来收集每个属性的原始数据值。我发现确实如此……当涉及到某些属性时,我正在将苹果与橘子进行比较。例如,我发现大多数 Seagate 驱动器会报告它们有数百万个读取错误,而 Western Digital 99% 的时间显示读取错误为 0。我还发现 Seagate 会报告数百万个寻道错误,而 Western Digital 似乎总是报告 0。

:我该如何规范化这些数据?希捷是否产生了数百万个错误,而西部数据却没有产生任何错误?维基百科文章聪明的status 表示制造商有不同的方式报告这些数据。

这是我的假设:

我认为我找到了一种使数据规范化(这是正确的说法吗?)的方法。

Seagate 硬盘具有 Western Digital 硬盘所没有的附加属性(硬件 ECC 恢复)。当您从 ECC 恢复计数中减去读取错误计数时,结果可能为 0。这似乎相当于 Western Digital 报告的“读取错误”计数。这意味着 Western Digital 仅报告无法纠正的读取错误,而 Seagate 会统计所有读取错误并告诉您它能够修复多少个错误。

我有一个 Seagate 硬盘,其读取错误数小于 ECC 恢复数,并且我注意到我的许多文件都已损坏。这就是我得出假设的原因。Seagate 产生的数百万个寻道错误对我来说仍然是个谜。

如果您有更多信息,请确认或纠正我的假设。

以下是我的西部数据硬盘的智能状态,这样您就可以看到我在说什么:

james@ubuntu:~$ sudo smartctl -a /dev/sda
smartctl version 5.38 [x86_64-unknown-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF INFORMATION SECTION ===
Device Model:     WDC WD1001FALS-00E3A0
Serial Number:    WD-WCATR0258512
Firmware Version: 05.01D05
User Capacity:    1,000,204,886,016 bytes
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   8
ATA Standard is:  Exact ATA specification draft version not indicated
Local Time is:    Thu Jun 10 19:52:28 2010 PDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   200   200   051    Pre-fail  Always       -       0
  3 Spin_Up_Time            0x0027   179   175   021    Pre-fail  Always       -       4033
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       270
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x002e   200   200   000    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   098   098   000    Old_age   Always       -       1468
 10 Spin_Retry_Count        0x0032   100   100   000    Old_age   Always       -       0
 11 Calibration_Retry_Count 0x0032   100   100   000    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       262
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       46
193 Load_Cycle_Count        0x0032   200   200   000    Old_age   Always       -       223
194 Temperature_Celsius     0x0022   105   102   000    Old_age   Always       -       42
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   200   200   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0008   200   200   000    Old_age   Offline      -       0

编辑:这是我所说的导致数据损坏的 Seagate 硬盘。此数据来自 HDTune。

HD Tune: ST3250623A Health

ID                               Current  Worst    ThresholdData       Status   
(01) Raw Read Error Rate         45       38       6        77882492   Ok       
(03) Spin Up Time                99       98       0        0          Ok       
(04) Start/Stop Count            100      100      20       640        Ok       
(05) Reallocated Sector Count    100      100      36       0          Ok       
(07) Seek Error Rate             85       60       30       359872048  Ok       
(09) Power On Hours Count        94       94       0        6028       Ok       
(0A) Spin Retry Count            100      100      97       0          Ok       
(0C) Power Cycle Count           100      100      20       689        Ok       
(C2) Temperature                 25       55       0        25         Ok       
(C3) Hardware ECC Recovered      50       47       0        201555081  Ok       
(C5) Current Pending Sector      100      100      0        0          Ok       
(C6) Offline Uncorrectable       100      100      0        0          Ok       
(C7) Ultra DMA CRC Error Count   200      199      0        1          Ok       
(C8) Write Error Rate            100      253      0        0          Ok       
(CA) TA Counter Increased        100      253      0        0          Ok       

Power On Time         : 6028
Health Status         : Ok

在我看来,硬件 ECC 恢复值大于原始读取错误率这一事实是违反直觉的。

我发现这是一个“正常”的希捷硬盘,其中 ECC 恢复与原始读取错误率相匹配:

HD Tune: ST380011A Health

ID                               Current  Worst    ThresholdData       Status   
(01) Raw Read Error Rate         62       46       6        79986164   Ok       
(03) Spin Up Time                98       98       0        0          Ok       
(04) Start/Stop Count            100      100      20       6          Ok       
(05) Reallocated Sector Count    100      100      36       0          Ok       
(07) Seek Error Rate             83       60       30       210309663  Ok       
(09) Power On Hours Count        93       93       0        6516       Ok       
(0A) Spin Retry Count            100      100      97       0          Ok       
(0C) Power Cycle Count           99       99       20       1325       Ok       
(C2) Temperature                 25       52       0        25         Ok       
(C3) Hardware ECC Recovered      62       46       0        79986164   Ok       
(C5) Current Pending Sector      100      100      0        0          Ok       
(C6) Offline Uncorrectable       100      100      0        0          Ok       
(C7) Ultra DMA CRC Error Count   200      188      0        18         Ok       
(C8) Write Error Rate            100      253      0        0          Ok       
(CA) TA Counter Increased        100      253      0        0          Ok       

Power On Time         : 6516
Health Status         : Ok

编辑:

我想澄清的是,我知道 Google 通常认为 SMART 毫无用处。我知道每个人都应该备份他们的数据。然而,我从事的是修理他人计算机的工作。大多数人没有备份或没有 RAID。对于公司来说,排除硬盘故障并不划算,所以他们只是在 RAID 上运行它们,直到它们坏掉。我发现在我的工作中检查硬盘的 SMART 状态很有用。它需要 30 秒左右。如果我足够幸运,坏的驱动器显示出故障的迹象,例如扫描错误或重新分配扇区,我知道要尽快将驱动器取出。如果没有这样的迹象,我可能会花很多时间排除速度慢和数据损坏的问题,直到我最终发现硬盘坏了。

我只是想微调这个过程。

答案1

不同的制造商对不同事物使用的 SMART 值似乎有时会截然不同,正如您所见这里

我的 ReadyNAS 硬盘报告 SMART 原始读取错误率、寻道错误率和硬件 ECC 恢复率较高。我该怎么办?

Seagate 使用这些 SMART 字段进行内部计数,因此这是 Seagate 磁盘的一个已知问题。查找其他字段中的异常计数,尤其是重新分配扇区 Ct 和 ATA 错误计数。

因此,当谈到您的实际问题时……

如果我足够幸运,坏的硬盘显示出扫描错误或重新分配扇区等故障迹象,我就知道要尽快把硬盘弄出来。如果没有这样的迹象,我可能会花很多时间排除速度慢和数据损坏的问题,直到最终发现硬盘坏了。

我认为一个好的经验法则是,您只能期望 SMART 设置在同一个驱动器制造商内具有可比性,甚至可能是在同一个驱动器型号内具有可比性!

因此,当您考虑诊断这些 SMART 计数时,请记住... 一个制造商的“读取错误重试计数”可能与另一个制造商的完全不同。可悲但真实。 :(

答案2

好的,首先我不同意你的前提。

谷歌做的一项研究表明,硬盘的 SMART 状态报告的某些原始数据属性与硬盘未来的故障有着很强的相关性。

事实上,他们发现了相反的情况:

...我们发现,仅基于 SMART 参数的故障预测模型的预测准确性可能会受到严重限制,因为很大一部分故障驱动器都没有显示任何 SMART 错误信号。

其次,SMART 阈值是不是标准化。驱动器本身的固件会将属性标记为“故障前”,但原始值对用户来说毫无意义。例如,希捷表示

各种属性均受到监控,并根据特定阈值进行测量。如果任何一个属性超出阈值,则常规 SMART 状态测试将从“通过”变为“失败”。

第三方 SMART 软件可能读出的 SMART 值并不取决于这些值在 Seagate 硬盘中的使用方式。Seagate 不为声称可以读取单个 SMART 属性和阈值的软件程序提供支持。旧硬盘上可能存在一些历史正确性,但新硬盘无疑将采用较新的解决方案、属性和阈值。

tl;dr摘要:

原始 SMART 值几乎毫无意义,因为不同的制造商以不同的方式使用它们并且具有不同的阈值等。驱动器固件本身会告诉您何时处于“预故障”状态......或者可能不会,SMART 确实不是很可靠。

定期备份!

答案3

我不太清楚你问的是什么问题。你似乎把整个问题和答案都整合在一起了,但是……

您是否已将硬盘指标与海上工具

它是 Seagate 的标准硬件诊断工具,并且据我所知它也是最常用的 HDD 诊断工具。

如果您发现这些工具报告了对其竞争对手不利的结果,请不要感到惊讶。这些工具通常适用于所有制造商的硬盘,但这并不意味着它们在工作时让竞争对手颜面扫地。

你没听过这个笑话吗:“99.99%的统计数据都是真实的,当然,除了这个统计数据”。

答案4

您可以在此处查看 Seagate 规格:http://t1.daumcdn.net/brunch/service/user/axm/file/zRYOdwPu3OMoKYmBOby1fEEQEbU.pdf

希捷产生的数百万个寻道错误对我来说仍然是一个谜。

那是因为它们可能不是错误。来自规范:

**Attribute ID 7: Seek Error Rate**
Monitor seeks requiring one or more retries. Exclude calibration seeks and seeks in system area.
Normalized Seek Error Rate = 10 * log10(SeekCount / SeekErrors) which is only updated when
SeekCount is in the range 106 to 109. The counts are cleared when SeekCount = 109 . (Evaluates
to a value from 1 to 100).
**Raw Usage**
Raw [3 – 0] = Number of seeks
Raw [5 – 4] = Number of seek errors

ID                               Current  Worst    ThresholdData             
(07) Seek Error Rate             85       60       30       359872048  Ok       

359872048 > 0x000015733630 > 0 错误,359872048 次寻找。

另请参阅:http://www.users.on.net/~fzabkar/HDD/Seagate_SER_RRER_HEC.html

相关内容