S.M.A.R.T.情報を見てHDDの健康状態を確認する

S.M.A.R.T.(スマート:Self-Monitoring, Analysis and Reporting Technology System)とは、HDDの障害や故障の早期発見・予測をするための「自己診断システム」で、現在製造されているHDDには標準搭載されています。リードエラーレート、電源投入回数、使用時間など、目に見えないHDDの情報が数値化して表示されます。

Windowsで確認する

このS.M.A.R.T.情報をWindows上で簡単に見られるようにするためのソフトは数多くありますが、最もメジャーと言えるのが「CrystalDiskInfo(クリスタルディスクインフォ)」です。このソフトは無料でインストールすることができます。このソフトで表示したS.M.A.R.T.情報の中で、特に注意して見るべき項目は以下の通りです。

  • 現在値→現在の値。
  • 最悪値→今まで一番低かった値。
  • しきい値→HDDが故障と判断される境目の値。最悪値がしきい値以下になると故障の疑いがあります。
  • 生の値→現在のSMART情報のデータを表しています。16進数で表記されています。

温度を見る

HDDが熱に弱いということは、先でも紹介した通りです。ここで表示された温度が35~45度であればひとまず熱暴走を起こしている心配はないと言えるでしょう。50度以上を示すようであれば熱暴走で故障するの可能性もあるので、HDDを冷やす対策をして下さい。

温度表示は、過信しないようにしましょう。というのも、これは温度計ではないからです。

温度計と「CrystalDiskInfo」の温度表示の違いは、較正されているか否か。
温度計は、温度を計るのが主目的なので、基本的に較正したうえで出荷されます。
一方、補助記憶装置の温度表示は、温度を計測できる素子を利用して値を出力していますが、これはセルフモニタリングのためであり、補助的なものです。
温度計のように較正されているわけではありません。
つまり、基準がない温度表示なのです。

たとえば、同一型番のハードディスクを同じケースに入れ、負荷を与えない状態で確認しても、温度表示が数度ずれていることは珍しくありません。経験上、±3℃の誤差は普通にあると思っています。

下図の「生の値」は16進数なので「24」であれば10進数に直すと36度です。50度ということは16進数で「32」になっていると危ないという事です。

機能 > 上級者向け機能 > 生の値 > 10 [DEC] で10進数にすることができます。

仮に「生の値」が「2D0018022」というあり得ない数値になっていたとします。後ろの2ケタ以外は、ベンダーが決めた数値だと思われます。「22」なので34度だと思われます。

どの値に注意しなければならないのか?

読み書きができなくなって、代替処理すべきと判定されているセクタの数つまり、「C5 代替処理保留中のセクタ数」を見ましょう。

この時に見るべきは「生の値」です。この数値が日付を追ってどんどん増えていくようであれば、注意信号です。


「生の値」が「0」以外になると注意となります。


最悪値がしきい値に近づいた値になったら壊れる寸前だと思われます。セクタ不良が発生し、HDDのデータの読み込みに何かしらの問題が発生している状態なので、セクタ不良が溜まればHDD読み込みが出来なくなる可能性があります。

下図の場合、「しきい値」は変化がないものの「生の値」が「03DA」になってます。「986」箇所のセクタが代替すべきと判断された状態です。この状態のまま放置しておくとHDD障害でデータが死亡する場合があります。

障害が疑われる項目

05 – 代替処理済のセクタ数

ハードディスクのファームウェアによって、代替処理された不良セクタの数。
代替処理された不良セクタは、二度と使われない。
ただし、ハードディスクの代替セクタ領域には限りがある。

C4 – セクタ代替処理発生回数

代替領域へのデータ移行を試みた回数を示します。代替処理に失敗した回数も含まれています。

C5 – 代替処理保留中のセクタ数

ハードディスクのファームウェアによって、代替処理すべきと判定されているセクタの数。
セクタ読み出しエラーが発生したセクタ。

当該セクタの読み出しに成功すれば、代替領域へデータをコピーする。
当該セクタに対して書き込みがあれば、セクタ代替処理を行う。

C6 – 回復不可能セクタ数

データが失われたセクタの数。
メーカーによって、扱いが異なる場合が多い。

代替処理では対応しきれず、読み込めなくなったセクタ数を示します。ここで表示された「生の値」が1以上の場合は、非常に危険な状態です。

SSDの「残り寿命」と寿命予測

バージョン6から、SSDの「残り寿命」に対応したようです。

SSDはデータの書き込みや読み込みを行うたびに劣化し一定量のデータの読み書きを行うと寿命を迎えます。

デフォルトでは、「残り寿命」(FF)の現在値が10%以下になったら「注意」表示をするようになっています。

ただし、中には「残り寿命」の属性が存在しないSSDもあります(東芝とか)。
残り寿命」のIDが「FF」ではないSSDもあります(Crucial(クルーシャル)とか)。

また、ハードディスクの不良セクタが具体的な個数を示しているのに対し、
SSDの残り寿命はやや抽象的な概念なので、参考程度に見ておいたほうがいいと思います。


計算による寿命予測をしてみたいと思います。

因みに、CrucialのSSDは3年か5年の保証のようなので

企業使用だと365日、一般使用だと土日抜かして260日とします。

250GB×260日使用×5年=325TBW(総書込量)

※TBW:Tera Byte Written

1日30GBを同じペースで使用したとして

1日30GB使用×365日使用=10,950GB

325TBW÷10TB=あと3.2年の寿命予測です。

寿命予測でSSDの交換を考えているなら、購入した日をよく覚えておきましょう。


初期不良ブロックとは

製品出荷時点で存在する不良ブロックのことを初期不良ブロックと呼ぶようです。工業製品はどうしても初期不良が発生しますが、フラッシュメモリーは一定割合の不良ブロックが存在する状態で出荷されるようです。

NANDフラッシュのバッドブロックには初期バッドブロックと後発バッドブロックの2種類があります。初期バッドブロックは製造工程で容量の1%程度の割合で発生する不可避なものです。後発バッドブロックはフラッシュメモリ通常動作時に書き込みと消去を繰り返すことで発生します。

通常は「0」のようですが、これがあると中古屋には買いたたかれるか?売り物にならないらしいです。

Linuxで確認する

LinuxにはsmartctlコマンドでS.M.A.R.T.の情報を表示させることができる。rootでログインして、調べたいデバイスを指定する。なお、オプション指定は必須だ。smartctlコマンドでよく使用するオプションは以下のとおりだ。

パッケージが入っていない場合はインストールする。

# sudo apt-get install smartmontools

コマンドで確認する

VALUE ・・・ ディスクに関する安全性を示す値
      SMARTが計測した値0~255まで
      大きければ大きい程ディスクの状態が悪い事をさす

WORST ・・・ 過去に発生したVALUEの最小値

THERESHTYPE・・・ 障害のしきい値VALUEがこの値を下回るとディスク
         障害が発生したと判定される

TYPE ・・・ -Aで表示される
      Pre-fail:ディスク障害の発生が近いかどうかを示す
      Old_age:ディスクの設計上の寿命に達しているかを示す

この属性タイプで、どう解釈すべきか変わってくるPre-failの場合は、重大な障害の発生が近いかどうかを示し、その属性の値はディスク・エラーの発生率から算出される

@****# smartctl –all /dev/sda
smartctl 6.6 2017-11-05 r4594 [armv7l-linux-5.4.72-v7l+] (local build)
Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model: WDC WD60EZAZ-00ZGHB0
Serial Number: WD-WX71DC8PTXAC
LU WWN Device Id: 5 0014ee 26649b5c1
Firmware Version: 80.00A80
User Capacity: 6,001,175,126,016 bytes [6.00 TB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Rotation Rate: 5400 rpm
Form Factor: 3.5 inches
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: ACS-3 T13/2161-D revision 5
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Mon Nov 23 14:40:47 2020 JST
SMART support is: Available – device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART Status not supported: Incomplete response, ATA output registers missing
SMART overall-health self-assessment test result: PASSED
Warning: This result is based on an Attribute check.

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:        (22080) seconds.
Offline data collection
capabilities:          (0x7b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
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:  ( 563) minutes.
Conveyance self-test routine
recommended polling time:  ( 2) minutes.
SCT capabilities:        (0x3035) SCT Status 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 200 200 051 Pre-fail Always – 0
3 Spin_Up_Time 0x0027 229 229 021 Pre-fail Always – 3508
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always – 176
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 082 082 000 Old_age Always – 13763
10 Spin_Retry_Count 0x0032 100 100 000 Old_age Always – 0
11 Calibration_Retry_Count 0x0032 100 253 000 Old_age Always – 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always – 12
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always – 1
193 Load_Cycle_Count 0x0032 199 199 000 Old_age Always – 5713
194 Temperature_Celsius 0x0022 119 104 000 Old_age Always – 31
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 100 253 000 Old_age Offline – 0
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always – 0
200 Multi_Zone_Error_Rate 0x0008 100 253 000 Old_age Offline – 0

SMART Error Log Version: 1
No Errors Logged

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.

使用時間について

9 Power_On_Hours 0x0032 082 082 000 Old_age Always – 13763

Power_On_Hours 電源が入れられている累積時間を表わす。

13763を時間の24で割るり年の365日で割る1.57とでるので1年と半年動かしている計算になります。

温度について

194 Temperature_Celsius 0x0022 119 104 000 Old_age Always – 31

31度です。

代替処理保留中のセクタ数について

5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always – 0

今の所「0」ですが、これで上がってくるとHDDの異常となるので交換がセオリーです。

SMARTのサポート状況を確認

-i ハードディスクのS.M.A.R.T.サポート状況を表示する

# smartctl -i /dev/sda

smartctl 6.6 2017-11-05 r4594 [armv7l-linux-5.4.72-v7l+] (local build)
Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model: WDC WD60EZAZ-00ZGHB0
Serial Number: WD-WX71DC8PTXAC
LU WWN Device Id: 5 0014ee 26649b5c1
Firmware Version: 80.00A80
User Capacity: 6,001,175,126,016 bytes [6.00 TB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Rotation Rate: 5400 rpm
Form Factor: 3.5 inches
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: ACS-3 T13/2161-D revision 5
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Mon Nov 23 16:30:55 2020 JST
SMART support is: Available – device has SMART capability.
SMART support is: Enabled


SMART support is: Enabled であればサポートされています。

障害時のメール設定をする

スキャン前のログを確認する

# smartctl -l selftest /dev/sda
smartctl 6.6 2017-11-05 r4594 [armv7l-linux-5.4.72-v7l+] (local build)
Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org

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

スキャンを実行する

# smartctl -t selftest /dev/sda

smartctl 6.6 2017-11-05 r4594 [armv7l-linux-5.4.72-v7l+] (local build)
Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: “Execute SMART Short self-test routine immediately in off-line mode”.
Drive command “Execute SMART Short self-test routine immediately in off-line mode” successful.
Testing has begun.
Please wait 2 minutes for test to complete.
Test will complete after Mon Nov 23 17:25:57 2020

Use smartctl -X to abort test.

スキャン後のログを確認する

# smartctl -l selftest /dev/sda
smartctl 6.6 2017-11-05 r4594 [armv7l-linux-5.4.72-v7l+] (local build)
Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error

#1 Short offline Completed without error 00% 13766 –

vi /etc/smartd.conf

DEVICESCAN -m ****@localhost -M test

上記のみを有効として

systemctl reload smartd.service

でメールが来たらOKです。

スキャンのスケジュールを記述

DEVICESCAN -a -o on -S on -n standby,q -s (S/../.././03|L/../../6/03) -W 5,50,55 -m ****@localhost

systemctl reload smartd.service

これで異常があるとメールが来ると思われます。

HDDが故障して大切なデータが読み取れなくなったら

HDDが本当に故障したか確認すべきポイント

以下のような現象が起こった場合はHDDの故障が考えられますので、弊社をはじめとするデータ復旧専門業者に相談することをオススメします。

  • パソコンから「ガリガリ」など、通常とは違う異音がする
  • 今まで問題なく開いていたファイルが開けない、読み込めない
  • 起動中のまま、それ以上先に進まない
  • 起動時にエラーメッセージが表示される
  • パソコンを使用していると突然ブルースクリーンになり、メッセージが表示されて操作できない
  • パソコンが勝手に再起動を繰り返す

お金に糸目をつけずに復旧したい方は迷わずHDDデータ専門業者にまず相談することがオススメです。

自力で治す方は、まずはHDDをまるっとフルバックアップを取りましょう。

裸族などのHDDが多少障害があってもまるっとコピーしてしまう。機器でコピーをしてから復旧作業に取り掛かりましょう。失敗すると救えるHDDも救えなくなります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です