はじめに
ディスクへのアクセスが変だな? 変な音がしているような気がする?
といったときに、smartctl
で確認するときのメモ
SMART (Self-Monitoring, Analysis, and Reporting Technology) の概要
SMARTとは、ハードディスクドライブ (HDD) やソリッドステートドライブ (SSD) が自己診断を行い、健康状態や障害予兆を監視・報告する技術です。ディスク内部のセンサや制御チップが各種パラメータを監視し、異常があればユーザーに警告します。これにより、故障する前にデータをバックアップし、ドライブを交換できるようにします。主に「生のデータ(RAW_VALUE)」と「正常値(VALUE)」で表示され、メーカーやモデルによって解釈が異なることがあります。
代表的な監視項目には、不良セクタ数、回転エラー、温度、データ転送エラーなどがあります。
SMART情報は「正常」「注意」「異常」の3段階で評価され、異常値が検出された場合は早急な対応が必要です。
Linuxではsmartctl、Windowsでは「CrystalDiskInfo」などのツールで確認できます。
SMARTが異常を検知したとしても、すぐに壊れるとは限りませんが、データ損失を防ぐためにバックアップを取るのが基本です。
特にID 5, 187, 197, 198, 199あたりに異常値が出た場合は、すぐに対策を取る必要があります。
故障の可能性がある重要SMART属性一覧
ID | 属性名 | タイプ | 異常値の特徴 | 意味/説明 |
---|---|---|---|---|
5 | Reallocated_Sector_Ct | Pre-fail | 0以上 | 物理的に不良なセクタが再配置された回数 |
187 | Reported_Uncorrect | Old_age | 1以上 | 訂正不能なエラーが発生した回数 |
188 | Command_Timeout | Old_age | 値が急増 | コマンドの応答がなくタイムアウトが発生 |
196 | Reallocation_Event_Count | Old_age | 1以上 | 不良セクタの再配置が発生した回数 |
197 | Current_Pending_Sector | Old_age | 1以上 | 修正不能なセクタが待機中である数 |
198 | Offline_Uncorrectable | Old_age | 1以上 | オフラインスキャンで検出された訂正不能なセクタ |
199 | UDMA_CRC_Error_Count | Old_age | 1以上 | データ転送中に発生したCRCエラー数 |
200 | Multi_Zone_Error_Rate | Pre-fail | 値が急増 | データ読み書き時のエラー発生率が上昇 |
1 | Raw_Read_Error_Rate | Pre-fail | VALUEがTHRESHを下回る | データ読み取りエラーの頻度 |
7 | Seek_Error_Rate | Pre-fail | VALUEがTHRESHを下回る | データ検索エラーの頻度 |
10 | Spin_Retry_Count | Pre-fail | 1以上 | スピンアップ失敗の回数 |
故障判定のポイント
不良セクタ関連
-
Reallocated_Sector_Ct (ID: 5)
- 値が1以上であれば、不良セクタが存在し再配置が発生している。
- 急激に増加する場合、ディスク表面が損傷している可能性が高い。
-
Current_Pending_Sector (ID: 197)
- 値が1以上であれば、読み書き不能のセクタがあり、今後再配置される可能性がある。
- データ損失の前兆となるため、速やかなバックアップが推奨。
-
Offline_Uncorrectable (ID: 198)
- 値が1以上であれば、ディスク自体に物理的なダメージがある可能性が高い。
データ転送エラー関連
-
UDMA_CRC_Error_Count (ID: 199)
- 値が1以上であれば、SATAケーブルや接続不良を疑うべき。
- 物理的な接続チェックやケーブル交換を検討。
回転機構や物理的トラブル
-
Spin_Retry_Count (ID: 10)
- 値が1以上であれば、モーターやヘッド機構に問題がある可能性がある。
- 電源トラブルやハードディスクの寿命が考えられる。
エラー率が上がる場合
-
Raw_Read_Error_Rate (ID: 1)
- VALUEがTHRESHを下回ると、読み取りエラーが多発している状態。
- 一般的に、Seagate製ディスクでこの値が高くなる傾向があるが、VALUEが低下すると危険信号。
-
Seek_Error_Rate (ID: 7)
- VALUEがTHRESHを下回ると、ヘッドの位置合わせがうまくいかない。
- 物理的な破損やヘッド不良の前兆。
ロングセルフテスト
smartctl -t long [対象デバイス]
ディスク全体の詳細なセルフテストを行い、物理的な問題やデータエラーを検出するために使用します。
ディスクの容量や速度によりますが、数時間かかることが一般的です。
テスト中でもディスクを使用できますが、パフォーマンスが低下する可能性があります。
以下のようなエラーを検出できる可能性があります。
- 読み取りエラー
- 書き込みエラー
- 不良セクタ
- 転送エラー
- メカニカル異常(スピンドル、ヘッドなど)
テスト完了後の結果確認
smartctl -l selftest [対象デバイス]
さいごに
かんたんでしたね