LinuxでハードディスクのS.M.A.R.T.ステータスを確認する方法

この記事では、Linux環境でハードディスクのS.M.A.R.T.(Self-Monitoring, Analysis, and Reporting Technology)ステータスを確認する方法について詳しく解説します。具体的なコード例とその解説、さらに応用例を含めています。

目次

はじめに

S.M.A.R.T.は、ハードディスクやSSDなどのストレージデバイスが自身の健康状態を監視する技術です。この機能を使うことで、デバイスの障害を事前に察知し、データロスを防ぐことができます。Linux環境でこれを実施する方法を学びましょう。

必要なパッケージのインストール

LinuxでS.M.A.R.T.情報を確認するには、`smartmontools`というパッケージが必要です。

sudo apt update
sudo apt install smartmontools  # Ubuntu, Debianの場合

S.M.A.R.T.の有効化

デバイスがS.M.A.R.T.に対応しているかどうかを確認し、有効化します。

sudo smartctl -i /dev/sda  # デバイス情報の確認
sudo smartctl -s on /dev/sda  # S.M.A.R.T.の有効化

基本的なステータスの確認

sudo smartctl -a /dev/sda  # S.M.A.R.T.データの全情報を表示

このコマンドによって、多くの情報が表示されます。それぞれのパラメーターがどういったものか、しっかりと理解することが重要です。

主要なパラメーター

1. Raw_Read_Error_Rate:読み取りエラー率
2. Reallocated_Sector_Ct:再割り当てセクタ数
3. Power_On_Hours:稼働時間
4. Temperature_Celsius:温度

これらの数値に異常が見られた場合、ハードディスクが危険な状態にある可能性が高いです。

応用例

例1: ステータスの自動確認

sudo smartctl -t short /dev/sda  # 短い自己診断テストを実行

このコードは、短時間でデバイスの健康状態を確認するものです。

例2: ログの確認

sudo smartctl -l selftest /dev/sda  # 自己診断テストのログを表示

例3: 定期的な監視

Cronジョブを使って、定期的にステータスを確認することができます。

0 * * * * /usr/sbin/smartctl -a /dev/sda >> /var/log/smart.log  # 毎時ステータスをログに保存

例4: メール通知

異常が見つかった場合に、自動でメールを送ることもできます。

if [ $(sudo smartctl -H /dev/sda | grep -c "PASSED") -eq 0 ]; then
  echo "S.M.A.R.T. status failed" | mail -s "Warning" user@example.com
fi

例5: マルチデバイスの監視

for dev in /dev/sda /dev/sdb /dev/sdc; do
  sudo smartctl -a $dev >> /var/log/smart_multi.log
done

これで、複数のデバイスの健康状態を一度に確認できます。

まとめ

LinuxでのハードディスクのS.M.A.R.T.ステータスの確認は、データの健全性を保つために非常に重要です。基本的なコマンドから応用まで、幅広く解説しましたので、是非この機能を活用してください。

created by Rinker
オライリージャパン
¥3,080 (2024/05/06 20:53:54時点 Amazon調べ-詳細)

コメント

コメントする

目次