UbuntuでSMARTドライブの状態をメールアラートで監視する方法

Ubuntu 26.04 LTS のパッケージリポジトリには、現在 smartmontools 7.5-2 が含まれています。このパッケージにはsmartctl、ドライブの状態データを読み取るツールと、smartd選択した変更を監視してメールを送信できるバックグラウンドサービスが含まれています。SMART とは、自己監視、分析、レポート技術の略です。メールアラートを設定する前に、Ubuntu が各ドライブから SMART データを読み取ることができることを確認してください。システムが監視できないデバイスに対しては、メッセージを送信できません。

このガイドでは、単一のUbuntuデスクトップにモニターを設定し、アラートに頼る前にテストメールを送信します。コンピュータがSMTPリレー(送信メールの配信を受け付けるサービス)への有効なルートを持っていることを前提としています。デスクトップメールアプリ単体では、このサービスは提供されません。

SMARTアラートは何を教えてくれるのでしょうか?

SMARTは、ドライブが報告する健康状態とエラー情報です。健康状態チェックの失敗、エラーの増加、特定の自己診断結果など、警告状態を明らかにすることができます。これは早期警告システムであり、ドライブがすべての故障を予測することを保証するものではありません。ドライブは有用な警告なしに動作を停止する可能性があり、「合格」という結果が出ても、すべてのファイルが読み取り可能であるとは限りません。重要なデータは別途バックアップを取っておきましょう。

値はドライブの種類やファームウェアによっても異なります。SATAハードドライブやSSDは属性テーブルを表示することが多いですが、NVMeドライブは異なる形式で健康情報を報告します。メーカー間で生の属性値を比較したり、一般的なしきい値を普遍的なものとして扱ったりしないでください。

セットアップ前に何を準備すべきですか?

  • 管理者権限を持つUbuntuアカウント。
  • インストールには、パッケージリポジトリが有効になっており、インターネット接続が必要です。
  • アラートを受信するアドレス。
  • プロバイダや組織の認証済みメールサーバーなど、使用が許可されているSMTPリレーとそのホスト名、ポート番号、TLS要件、認証情報。
  • ドライブ診断を実行したり、ストレージの変更を行う前に、最新のバックアップを作成してください。

一部のUSBエンクロージャー、ハードウェアRAIDコントローラー、仮想マシン、およびネットワークストレージレイヤーは、SMARTデータをUbuntuホストに渡しません。そのため、直接接続されたディスクでは正常に動作するコマンドでも、エンクロージャー経由では失敗する可能性があります。デバイスオプションを変更する前に、接続タイプを確認してください。

1. ドライブ名を確認し、SMARTアクセスをチェックします。

ストレージデバイスの一覧を表示し、smartmontoolsにどのデバイスを開くことができるかを問い合わせます。

lsblk -o NAME,TYPE,TRAN,MODEL,SIZE
sudo smartctl --scan-open

デバイスパスは、/dev/sdaSATAディスクの場合は通常、/dev/nvme0NVMeコントローラの場合は のようになりますが、コンピュータで報告されるパスを使用してください。各ターゲットを読み取り専用のヘルス クエリでテストします。

sudo smartctl -a /dev/sda

/dev/sda識別したデバイスに置き換えてください。NVMe ドライブの場合は、報告されたコントローラー パスに置き換えてください。コマンドの出力を確認してください。SMART がサポートされていない、またはデバイスを開けないというメッセージではなく、ドライブの識別情報と状態情報が含まれているはずです。スキャンで必要なデバイス タイプを持つデバイスがリストされた場合は、別のシステムの-dオプションをコピーするのではなく、そのコントローラーまたはブリッジ専用の smartmontools マニュアルに従ってください。

監視パッケージとサポートツールをインストールしてください。

sudo apt update
sudo apt install smartmontools mailutils

mailutilssmartdのデフォルトのメールパスで使用されるコマンドラインmailプログラムを提供します。これはそれ自体では送信メールリレーではありません。Ubuntuにメール転送エージェントが設定されていない場合は、続行する前に設定してください。

2. smartdを変更する前に送信メールを設定します

UbuntuのPostfixパッケージは、SMTPプロバイダ経由で送信メールを中継できます。プロバイダから提供されるリレーホスト、認証情報、送信元アドレス、ポート、TLS設定を使用して、メールクライアントとして設定してください。デスクトップをオープンリレーとして設定しないでください。Ubuntuのサーバーガイドには、Postfixとリレーの設定に関するドキュメントがあります。正確な認証情報と設定はメールプロバイダによって異なるため、プロバイダの最新の指示に従ってください。保存されている機密情報は、他のローカルユーザーから保護してください。

smartdを関与させる前に、コマンドラインからテストメッセージを送信してください。

printf 'This is an Ubuntu SMART email test.\n' | mail -s 'SMART alert test' you@example.com

サンプル受信者を自分のアドレスに置き換えてください。スパムフォルダや迷惑メールフォルダを含め、メッセージが届くことを確認してください。届かない場合は、まずメールリレーのトラブルシューティングを行ってください。メールキューを確認しmailq、Postfixログを調べてくださいjournalctl -u postfix。ローカルコマンドが正常に実行されたとしても、メッセージがキューに登録されたことを意味するだけであり、リモートメールボックスへの配信が実際のテストです。

3. SMARTアラートの送信先を追加する

smartdの設定を管理者として開きます。

sudoedit /etc/smartd.conf

デフォルトのデバイススキャンでドライブが検出されるコンピュータの場合は、アクティブなデバイススキャン行を1行だけ使用し、例のアドレスを置き換えてください。ファイルに既にアクティブなDEVICESCANエントリがある場合は、重複を追加するのではなく、その行を編集してください。

DEVICESCAN -a -m you@example.com -M test

DEVICESCANsmartd にサポートされているデバイスを検出するように要求します。-aヘルス、エラーログ、セルフテスト、属性チェックの共通セットを有効にします。-mメールの受信者を設定します。-M testデーモンの起動時にテストメールを 1 件要求します。 smartd 設定マニュアルには、エントリがスキャン設定を上書きするため、その後にディスクごとの行を追加しないことが明記されています。 自動検出でディスクが見つからない場合は、出力とマニュアルDEVICESCANに基づいて明示的なデバイスエントリを使用してください。smartctl --scan-open

エディタを保存して閉じます。設定ファイルに個人情報が含まれている場合は、管理者のみが読み取れるようにしてください。受信者はパスワードではありませんが、SMTPリレーの認証情報をこのファイルに記述してはなりません。

4. 監視を開始し、テストアラートを確認します。

Ubuntuでは、パッケージ化されたユニットは という名前ですsmartmontools.service。これを有効にして起動し、その状態を確認してください。

sudo systemctl enable --now smartmontools.service
systemctl status smartmontools.service

Ubuntuのパッケージは、/etc/default/smartmontoolsサポートされているパッケージ構成でデーモンの起動を制御するためにも使用されます。インストール後にサービスが非アクティブになっている場合は、そのファイルのstart_smartd=yes設定を確認してからサービスを再起動してください。起動に失敗した場合は、ユニットファイルを変更する前にジャーナルを読んでください。

sudo journalctl -u smartmontools.service -b

設定には が含まれているため-M test、サービスを再起動するとテストメールが1通送信されます。受信を確認してください。このテストは、smartdがメールパスを呼び出し、メッセージが受信トレイに届くことを証明するものであり、ドライブの障害をシミュレートしたり、将来の配信を保証するものではありません。テストが成功したら、 を編集して/etc/smartd.conf削除し、-M test通常の再起動で余分なテストメッセージが送信されないようにしてください。その後、サービスを再度再起動してください。

sudo systemctl restart smartmontools.service

5. 各ドライブが監視されていることを確認する

サービスログと手動ヘルス出力の両方を確認してください。

sudo journalctl -u smartmontools.service -b
sudo smartctl -a /dev/sda

パスを、検出時に報告された各ドライブに置き換えてください。デーモンログには、サポートされているデバイスが開かれ、デバイスアクセスエラーを繰り返すことなくチェックがスケジュールされたことが記録されているはずです。現在の正常レポートは有用なベースライン情報ですが、突然の障害を防ぐ保証はありません。

障害が発生するのを待たずに動作を確認するには、デバイスがサポートしている場合はドライブのセルフテストを実行します。短いテストは一般的に長いテストよりも影響が少ないですが、ドライブのマニュアルを確認し、不安定なシステムや、バックアップのないかけがえのないデータが入ったドライブで診断を開始しないようにしてください。テストコマンドは次のようになりますsudo smartctl -t short /dev/sda。ドライブはテストが終了する予定時刻を報告します。結果を確認するには、を使用しますsudo smartctl -l selftest /dev/sda。メールテストとドライブのセルフテストは別々のチェックです。一方は配信を確認し、もう一方はデバイス自身に検査を依頼します。

よくある問題とその確認事項

サービスは稼働していますが、メールが届きません。

まず、mailコマンドを使って別のメッセージを送信してください。それでも失敗する場合は、SMTPリレー、認証、TLS設定、送信者ポリシー、DNS、キュー、スパムフォルダを確認してください。コマンドラインメールは正常に動作するのにsmartdテストが失敗する場合は、受信者がアクティブDEVICESCAN行に表示されていること、実行ファイルがインストールされていることmail、smartdがそれを検出できることを確認してください。メーラーのエラー出力については、デーモンジャーナルを確認してください。

スキャン対象からドライブが見つかりません

再度実行してsudo smartctl --scan-open、デバイス固有の指示を確認してください。USB-SATAブリッジでは特定のパススルーモードが必要な場合があり、一部のRAIDコントローラではコントローラ固有のデバイス構文が必要です。推測で判断しないでください。デバイスタイプが間違っていると、smartmontoolsが誤ったターゲットにクエリを実行したり、有用な情報を報告できなかったりする可能性があります。

ディスクは「合格」と報告していますが、エラーがあります

全体的なサマリーを診断結果の全てとみなすのではなく、詳細な属性、エラーログ、およびセルフテストログを必ず確認してください。エラーが増加したり、デバイスの動作が不安定になったり、アラートが表示された場合は、重要なデータを速やかにバックアップし、交換計画を立ててください。クリーンな結果が得られたとしても、定期的なバックアップの代わりにはなりません。

メール監視の限界を知っておく

smartdはサポート対象デバイスを定期的にポーリングし、選択された警告をメールで送信しますが、あらゆる障害モードを監視するわけではありません。また、オフラインのデスクトップは電源が切れている、または接続が切断されている間はレポートを送信できません。メールの送信が遅延したり、拒否されたり、フィルタリングされたりすることもあります。サービスの状態を定期的に確認し、SMTP認証情報やプロバイダを変更した後は、メール配信テストを再度実行してください。重要なデータについては、SMART監視と独立したバックアップおよび復旧計画を組み合わせてください。

公式資料

コメントを残す

失われたパーティションとハードディスクデータを安全に復元する方法

失われたパーティションとハードディスクデータを安全に復元する方法

TestDiskとPhotoRecを使って、失われたパーティションやファイルを復元する方法を学びましょう。ソースドライブを保護し、安全にスキャンを行い、復元したデータを別のディスクに保存します。

LinuxデスクトップでQRコードをスキャンする方法

LinuxデスクトップでQRコードをスキャンする方法

CoBangを使えば、Webカメラまたは画像ファイルでLinux上でQRコードをスキャンできます。インストールオプション、セットアップ手順、Flatpakカメラへのアクセスに関する修正方法については、こちらをご覧ください。

Cameractrlsを使ってLinuxでウェブカメラの設定を変更する方法

Cameractrlsを使ってLinuxでウェブカメラの設定を変更する方法

Cameractrlsを使用してLinux上でウェブカメラの設定を変更しましょう。露出、色、フリッカー低減などのサポートされているコントロールを調整し、互換性のあるビデオモードを確認できます。

LinuxにPhpStormをインストールする方法:ツールボックス、Tar.gz、Snap、およびAUR

LinuxにPhpStormをインストールする方法:ツールボックス、Tar.gz、Snap、およびAUR

LinuxにPhpStormをインストールするには、JetBrains Toolboxを使用するか、スタンドアロンのtar.gzアーカイブを使用するか、SnapおよびArch AURオプションを選択してください。Javaは既にバンドルされています。

LinuxにCisco Packet Tracerをインストールする方法

LinuxにCisco Packet Tracerをインストールする方法

Cisco Packet Tracer 9.0.1 を Ubuntu 64 ビット版にダウンロードし、APT を使用して DEB パッケージをインストールし、ターミナルでライセンスに同意してサインインすると、ラボを開始できます。

LinuxでCD-ROMをISOイメージとしてバックアップする方法

LinuxでCD-ROMをISOイメージとしてバックアップする方法

Linux上でGNOME Disksまたはddコマンドを使用してCD-ROM ISOイメージを作成します。光学ドライブを識別し、コピーを監視し、イメージを検証し、破損したディスクやオーディオディスクに別のツールが必要な場合を把握できます。

XFCE 4でデュアルパネルを設定する方法

XFCE 4でデュアルパネルを設定する方法

各ディスプレイごとに個別のXFCE 4パネルを作成し、2番目のパネルを右側の出力に割り当て、位置とサイズを調整し、必要なランチャーとステータス項目を追加します。

LinuxでGIMPを使って画像を切り抜く方法

LinuxでGIMPを使って画像を切り抜く方法

LinuxでGIMPを使って写真の背景を削除する方法:被写体をトレースし、選択した背景を削除し、透明度を保持して、再利用可能なPNG形式でエクスポートします。

FlightGearを無料でダウンロード:公式インストールガイド

FlightGearを無料でダウンロード:公式インストールガイド

FlightGearは公式サイトから無料でダウンロードできます。Windows、macOS、Linuxの各パッケージを比較し、データファイルをインストールして、最初のフライトを開始しましょう。

OKSampler:キーボードビートのための無料かつシンプルな音楽サンプラー

OKSampler:キーボードビートのための無料かつシンプルな音楽サンプラー

OKSamplerはMP3クリップをキーボードのキーにマッピングし、音声をループ再生できます。この旧型フリーウェアの機能、旧機能が失われた箇所、ダウンロード前に確認すべき点について解説します。