[Linux] SMART(ハードディスク自己診断機能) の値を取得する方法

Last Update: September 9th, 2021
Article ID: 1033421


現在の HDD および SSD ドライブには、ドライブの状況を自己診断する際の標準規格である SMART機能が含まれています。SMART データはデータ損失が発生する前に、ドライブの故障や摩耗の兆候を示すことができ、また、ドライブ自体の温度センサーを含むドライブの健康状態を監視するために使用することができます。 


smartctl コマンドを使用する

smartctl コマンドは、Windows または Linux 用に smartmontools スイートにより提供されており、ダウンロードしてインストールすることができます。現在の安定して使用できるバージョンは、2020年12月30日にリリースされた 7.2 です。Fedora 34 であれば DNF を通じて最新版を入手できます。一方、現在(2021年8月) Ubuntu 20.04 LTS と CentOS 8 用には古いバージョンしか提供されておらず、このバージョンでは、Plugale 社のすべてのストレージ製品をサポートしていない点にご注意ください。最新のデイリービルドはこちらからダウンロードできます。デイリービルドは最新のソースコードからビルドされており、7.2 リリースでは利用できなかった新しいチップセットのサポートも含まれています。

Smartmontools バージョン 7.2 およびそれ以降は、下記の Plugable 社製品で使用できます。

  • Plugable USB C NVMe SSD ケース(USBC-NVME
  • USB-C SATA Vertical Dock(日本販売終了、USBC-SATA-V
  • Plugable USB-C SATA 変換ケーブル(USBC-SATA24


ダウンロードと実行の手順

  1. 以下のコマンドで、リポジトリからsmartmontoolsをダウンロードします。
    1. Ubuntu 20.04 LTS または Pop!OS: `sudo apt install smartmontools`
    2. Fedora または CentOS: `sudo dnf install smartmontools`
  2. 検出されたドライブをスキャンするには、次のコマンドを実行します。 `smartctl --scan`
  3. 特定のドライブのすべてのSMARTデータを出力するには、次のコマンドを使用します。ここで、「/dev/sdn」はブロックデバイスへのパスです。  `sudo smartctl --all /dev/sdn
  4. オプションとして、次のようにすると詳細な出力をファイルに保存することができます。 `sudo smartctl --all /dev/sdn > ~/smartdata.txt` 


デイリービルドをダウンロードして実行する手順

もし使用中のディストリビューションが smartmontools バージョン 7.2 を提供していない場合は、毎晩自動的にビルドされるデイリービルド(Nightly Builds)を使用するのが最も簡単な方法です。 Plugable 社製品では USBC-NVME、USBC-SATA-V、USBC-SATA24 で使用できます。

  1. お使いのシステムに合った最新の smartmontools をデイリービルドのウェブページからダウンロードしてください。 https://builds.smartmontools.org/
    1. 現在の x86_64 システムではこちらをお勧めします。 ####  の部分は、ビルド番号を入力します。 'builds/smartmontools-linux-x86_64-static-7.3-r####.tar.gz' 
  2. 次のコマンドで、tarball の内容を展開します。`tar -xf smartmontools-linux-x86_64-static-7.3-*.tar.gz`
    1. これにより、smartmontools の tarball ファイルと同じディレクトリにファイル構造が作成されます。
    2. 次のコマンドでファイル構造に移動します。 `cd ./usr/local/sbin`
  3. 検出されたドライブをスキャンするには、次のコマンドを実行します。`./smartctl --scan`
    1. 「smartctl」の前の「./」は、「smartctl」コマンドのPATHを検索するのではなく、このディレクトリからコマンドを実行するようシェルに指示する点に注意してください。
  4. 特定のドライブのすべてのSMARTデータを出力するには、次のコマンドを使用します。ここで、「/dev/sdn」はブロックデバイスへのパスです。  `sudo ./smartctl --all /dev/sdn
  5. オプションとして、次のようにすると詳細な出力をファイルに保存することができます。 `sudo ./smartctl --all /dev/sdn > ~/smartdata.txt` 
この情報は役に立ちましたか?