SMART属性によるドライブの信頼性の診断

SMART属性によるドライブの信頼性の診断

ハード ドライブが故障しているかどうかを調べようとしています。スマート値を調べたところ、故障している可能性があるようですが、データの読み取りと書き込みは問題なく行われ、新しいエラーは表示されません。

以前は値は 8でした197 Current_Pending_Sectorが、ドライブをゼロにした後、値は 0 に戻り、196 Reallocated_Event_Count0 になりました。

これは、ドライブ自体に問題はなく、一時的なシステムの問題であったことを意味しますか?

188 Command_Timeoutまた、値が 1 であるかどうかも重要です。これは次のように定義されます。

HDD タイムアウトにより中止された操作の数。通常、この属性値はゼロに等しくなりますが、値がゼロよりはるかに大きい場合は、電源または酸化したデータ ケーブルに重大な問題が発生している可能性が高くなります。

私は低レベルのプログラミングを行っており、約 50 回コンピューターを強制的にシャットダウンする必要がありました。

438 という値は適切だと想定していますが191 G-Sense_Error_Rate、これはハード ドライブがオンの状態でラップトップを移動したことによるものだと思います。

本当に面白いのは、Windows パーティションが起動しなくなり、別の Windows または Linux マシンにマウントできなかったのに、OSX では問題なくマウントされ、ファイルを回復できたことです。再インストールして、データをコピーしましたが、完璧に機能しているようです。OSX は別のドライブにあります。

H2O:~ jeremiah$ smartctl -a /dev/disk1
smartctl 6.3 2014-07-26 r3976 [x86_64-apple-darwin14.1.0] (local build)
Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     HGST HTS541075A9E680
Serial Number:    JD13021X0A00GK
LU WWN Device Id: 5 000cca 764c48bc4
Firmware Version: JA2OA590
User Capacity:    750,156,374,016 bytes [750 GB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    5400 rpm
Form Factor:      2.5 inches
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   ACS-2, ATA8-ACS T13/1699-D revision 6
SATA Version is:  SATA 3.0, 3.0 Gb/s (current: 3.0 Gb/s)
Local Time is:    Wed Mar 11 21:59:30 2015 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

General SMART Values:
Offline data collection status:  (0x00) Offline data collection activity
                    was never started.
                    Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0) The previous self-test routine completed
                    without error or no self-test has ever 
                    been run.
Total time to complete Offline 
data collection:        (   45) seconds.
Offline data collection
capabilities:            (0x51) SMART execute Offline immediate.
                    No Auto Offline data collection support.
                    Suspend Offline collection upon new
                    command.
                    No Offline surface scan supported.
                    Self-test supported.
                    No Conveyance Self-test supported.
                    Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                    power-saving mode.
                    Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                    General Purpose Logging supported.
Short self-test routine 
recommended polling time:    (   2) minutes.
Extended self-test routine
recommended polling time:    ( 164) minutes.
SCT capabilities:          (0x003d) SCT Status supported.
                    SCT Error Recovery Control supported.
                    SCT Feature Control supported.
                    SCT Data Table supported.

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   100   086   062    Pre-fail  Always       -       0
  2 Throughput_Performance  0x0025   100   100   040    Pre-fail  Offline      -       0
  3 Spin_Up_Time            0x0023   169   100   033    Pre-fail  Always       -       1
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       981
  5 Reallocated_Sector_Ct   0x0033   100   100   005    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x002f   100   100   067    Pre-fail  Always       -       0
  8 Seek_Time_Performance   0x0025   100   100   040    Pre-fail  Offline      -       0
  9 Power_On_Hours          0x0032   095   095   000    Old_age   Always       -       2586
 10 Spin_Retry_Count        0x0033   100   100   060    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       851
183 Runtime_Bad_Block       0x0032   100   100   000    Old_age   Always       -       0
184 End-to-End_Error        0x0033   100   100   097    Pre-fail  Always       -       0
187 Reported_Uncorrect      0x0032   100   001   000    Old_age   Always       -       144929376764360
188 Command_Timeout         0x0032   100   099   000    Old_age   Always       -       1
190 Airflow_Temperature_Cel 0x0022   069   050   045    Old_age   Always       -       31 (Min/Max 24/31)
191 G-Sense_Error_Rate      0x0032   099   099   000    Old_age   Always       -       438
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       2031647
193 Load_Cycle_Count        0x0032   089   089   000    Old_age   Always       -       115337
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0036   100   100   000    Old_age   Always       -       0
223 Load_Retry_Count        0x002a   100   100   000    Old_age   Always       -       0

SMART Error Log Version: 1
ATA Error Count: 456 (device log contains only the most recent five errors)
    CR = Command Register [HEX]
    FR = Features Register [HEX]
    SC = Sector Count Register [HEX]
    SN = Sector Number Register [HEX]
    CL = Cylinder Low Register [HEX]
    CH = Cylinder High Register [HEX]
    DH = Device/Head Register [HEX]
    DC = Device Command Register [HEX]
    ER = Error register [HEX]
    ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 456 occurred at disk power-on lifetime: 2549 hours (106 days + 5 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 08 38 8d 62 00  Error: UNC 8 sectors at LBA = 0x00628d38 = 6458680

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 00 08 38 8d 62 40 00      00:00:34.282  READ DMA EXT
  25 00 08 38 8d 62 40 00      00:00:30.471  READ DMA EXT
  25 00 08 38 8d 62 40 00      00:00:26.660  READ DMA EXT
  25 00 08 38 8d 62 40 00      00:00:22.849  READ DMA EXT
  2f 00 01 10 00 00 00 00      00:00:22.849  READ LOG EXT

Error 455 occurred at disk power-on lifetime: 2549 hours (106 days + 5 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 08 38 8d 62 00  Error: UNC 8 sectors at LBA = 0x00628d38 = 6458680

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 00 08 38 8d 62 40 00      00:00:30.471  READ DMA EXT
  25 00 08 38 8d 62 40 00      00:00:26.660  READ DMA EXT
  25 00 08 38 8d 62 40 00      00:00:22.849  READ DMA EXT
  2f 00 01 10 00 00 00 00      00:00:22.849  READ LOG EXT
  60 08 a8 38 8d 62 40 00      00:00:19.060  READ FPDMA QUEUED

Error 454 occurred at disk power-on lifetime: 2549 hours (106 days + 5 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 08 38 8d 62 00  Error: UNC 8 sectors at LBA = 0x00628d38 = 6458680

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 00 08 38 8d 62 40 00      00:00:26.660  READ DMA EXT
  25 00 08 38 8d 62 40 00      00:00:22.849  READ DMA EXT
  2f 00 01 10 00 00 00 00      00:00:22.849  READ LOG EXT
  60 08 a8 38 8d 62 40 00      00:00:19.060  READ FPDMA QUEUED
  60 08 a0 30 8d 62 40 00      00:00:19.059  READ FPDMA QUEUED

Error 453 occurred at disk power-on lifetime: 2549 hours (106 days + 5 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 08 38 8d 62 00  Error: UNC 8 sectors at LBA = 0x00628d38 = 6458680

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 00 08 38 8d 62 40 00      00:00:22.849  READ DMA EXT
  2f 00 01 10 00 00 00 00      00:00:22.849  READ LOG EXT
  60 08 a8 38 8d 62 40 00      00:00:19.060  READ FPDMA QUEUED
  60 08 a0 30 8d 62 40 00      00:00:19.059  READ FPDMA QUEUED
  60 08 98 28 8d 62 40 00      00:00:19.059  READ FPDMA QUEUED

Error 452 occurred at disk power-on lifetime: 2548 hours (106 days + 4 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 41 08 38 8d 62 00  Error: UNC at LBA = 0x00628d38 = 6458680

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 08 a8 38 8d 62 40 00      00:00:19.060  READ FPDMA QUEUED
  60 08 a0 30 8d 62 40 00      00:00:19.059  READ FPDMA QUEUED
  60 08 98 28 8d 62 40 00      00:00:19.059  READ FPDMA QUEUED
  60 08 90 20 8d 62 40 00      00:00:19.059  READ FPDMA QUEUED
  60 08 88 18 8d 62 40 00      00:00:19.059  READ FPDMA QUEUED

SMART Self-test log structure revision number 1
No self-tests have been logged.  [To run self-tests, use: smartctl -t]

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

答え1

以前は 197 Current_Pending_Sector の値は 8 でしたが、ドライブをゼロにした後、値は 0 に戻り、196 Reallocated_Event_Count は 0 です。

これは、ある時点でドライブが一部のセクターの読み取りに問題があったが、ドライブをゼロにしてからはそれらのセクターで問題がなかったことを意味します。ドライブ全体を新しいデータで上書きすると、セクターは再割り当て保留から通常の状態になり、その時点でセクターが再割り当てされなかったため、ドライブは書き込みに問題がなかったと考えられます。確認するには、長い SMART セルフテスト (通常は表面スキャンを含む) を実行する必要がありますが、ドライブの動作中にコンピューターを移動したことに関連する不具合である可能性も十分にあります。

また、懸念されるのは、値が 1 である 188 Command_Timeout です。これは次のように定義されます。

心配する必要はありません。ドライブは、電源オン時間が約 2600 時間であると報告しており、その間にコマンド タイムアウトが 1 回発生しています。コマンド タイムアウトは、失敗したコマンドを再試行するか、I/O 操作を失敗させることで OS によって処理されるため、これが永続的な問題であれば、そのことを知っているはずです。保留中の 8 つのセクターに関連している可能性がありますが、無関係である可能性もあります。

この数が顕著に増加し始めたら心配になりますが、システムの動作に他の問題の兆候がなく、タイムアウトの数が 1 桁であれば心配する必要はありません。

私は低レベルのプログラミングを行っており、約 50 回コンピューターを強制的にシャットダウンする必要がありました。

これは、論理データの一貫性 (ファイル システムの破損など) に影響を与える可能性がありますが、心配するほどのレベルで物理ドライブに影響を与えることはありません。

また、おがくずのコメント:

短いセルフテストと拡張セルフテストを実行する必要があります。ID#187 Reported_Uncorrect エラーの数が多いことは、問題があることを示しています。約 40 POH 時間前に、修正不可能な読み取りエラーが大量に発生したようです。

これは良い指摘だが、生の値のエンコードはわかりません。現時点で「値」は正規化された100であり、最悪の値は1、しきい値(ドライブが故障したか故障が差し迫っていることを報告するための値)は0であることがわかります。つまり、現時点でドライブはこの数値が心配するほどではないと感じている。そして、1.45e14 の読み取りエラーは、ほとんどあり得ないほど高いように聞こえる。ドライブ自身の認めるところによると、このドライブには約 183,000 セクター (4 KiB/セクターで 750 GB) がある。生の値として報告された読み取りエラーの数を得るには、報告された 2,586 通電時間で各セクターが 791,000 回失敗するか、または 1 つの完全な読み取りエラーが 1 回発生する必要がある。全体11秒ごとに水面に浮かぶ。これは単純にとんでもない数字だ(10秒で読むディスク表面全体のほんの一部に過ぎないので、このドライブと属性187については、高い確率で、生の値は他の何か単純な整数カウントよりも優れています。生の値が2つの部分に分割され、上位ビットまたは下位ビットが実際の値をエンコードし、他のビットが別の何かをエンコードしている可能性があります。その属性の生の値の16進値は83D0 0005 01C8で、中央のゼロの文字列はそのようなエンコードを示しています。確かに可能ですが、ランダムエラーカウントが中央にそのような長いゼロの文字列を持つことはありそうにありません。たとえば、下位ビット(16進数501C8)を取ると、報告されたエラーは328,136になりますが、それでもかなり多いように聞こえます。多くより信じられるようになります。

結論としては、SMART は優れた監視ツールですが、すべての問題を捕捉して報告するようには設計されていません。ドライブの中には、SMART が完全に故障したと示してからずっと経っても正常に動作しているものもあれば、SMART が故障後もすべて正常であると示していても、壊滅的な故障を起こすものもあります。SMART データは、早期警告システムとステータス レポートとして捉えてください。ないドライブの健全性に関する絶対的な真実のようなもの。また、生の値は実装によってエンコードが定義されるため、批判的な目で読み取る必要があります。それよりも、報告された「値」がドライブの「しきい値」値とどのように比較されるかを確認する必要があります。これらの値は、製造元によって特定のドライブに対して意味のある形で定義されているはずです。

以前の保留中の(基本的には「読みにくい」と判断された)セクターについて心配な場合は、SMART を通じて表面全体のスキャンを実行します。「保留中」と表示された場合は、ドライブを交換するかどうかを検討する価値があるかもしれませんが、ほとんどのドライブで問題が発生するという事実は明らかです。いくつかのハードディスクは、耐用年数にわたって不良セクタを生成しません。また、不良セクタを再割り当てすることで、それを補うための予備セクタが多数あります。ただし、再割り当てにはデータが既知である必要があるため、セクタが不良になった場合は、そのセクタへの書き込み中にのみ再割り当てできます。

関連情報