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監視と独立したバックアップおよび復旧計画を組み合わせてください。

公式資料

コメントを残す

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

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

Ubuntuにsmartmontoolsをセットアップして、ドライブの状態を監視し、SMARTメールアラートを送信します。デバイスのサポート状況を確認し、メール配信を設定し、通知をテストし、障害のトラブルシューティングを行います。

UEFIシステムにDebianをインストールした後に発生する「起動可能なデバイスが見つかりません」エラーを修正する

UEFIシステムにDebianをインストールした後に発生する「起動可能なデバイスが見つかりません」エラーを修正する

インストーラーのブートモード、EFIシステムパーティション、NVRAMエントリ、GRUB EFIファイル、セキュアブート、およびファームウェアのフォールバックを確認することで、DebianのUEFIブートの失敗を修正します。

UbuntuデスクトップでBtrfsの自動スナップショットを設定する方法

UbuntuデスクトップでBtrfsの自動スナップショットを設定する方法

Ubuntu Desktop 上で、Snapper を設定してスケジュールされた Btrfs スナップショットを取得およびクリーンアップします。まずサブボリュームのレイアウトを確認し、systemd タイマーを有効にして、保持期間が安全に設定されていることを確認してください。

SUSE Linux EnterpriseのLVMシンプロビジョニングにおける容量不足を安全に修正する

SUSE Linux EnterpriseのLVMシンプロビジョニングにおける容量不足を安全に修正する

SUSE Linux Enterprise 上で、データ枯渇とメタデータ枯渇を区別し、ストレージを拡張し、メタデータを修復し、自動拡張を有効にすることで、LVM シン プールが満杯になった場合の診断と復旧を行います。

Debian 12 CIS のセキュリティ強化ガイド:段階的なサーバーベースライン

Debian 12 CIS のセキュリティ強化ガイド:段階的なサーバーベースライン

アップデート、SSH、ファイアウォール、AppArmor、監査、検証のための安全なサーバーワークフローを使用して、Debian 12 Bookwormを最新のCIS Benchmark v2.0.0に対して強化します。

Gooroom OSにFlatpakとSnapアプリをインストールする方法

Gooroom OSにFlatpakとSnapアプリをインストールする方法

リリース情報の確認、ターミナルコマンドの使用、互換性、セキュリティ対策、アップデート、ストレージに関する実用的な比較を通して、Gooroom OSにFlatpakおよびSnapアプリをインストールする方法を説明します。

UbuntuでGPGエラー「以下の署名を検証できませんでした」を修正する方法

UbuntuでGPGエラー「以下の署名を検証できませんでした」を修正する方法

Ubuntu APT署名エラーを安全に修正します。パッケージ検証を無効にすることなく、NO_PUBKEY、EXPKEYSIG、BADSIG、クロック、リポジトリ構成の問題を特定します。

SLES 15でDM-Multipathを設定する方法:実践ガイド

SLES 15でDM-Multipathを設定する方法:実践ガイド

SLES 15 上で、安全な検出、サービス設定、最小限の multipath.conf 変更、initramfs の更新、およびパスの健全性チェックを使用して DM-Multipath を構成します。

SLES Btrfs Snapper のアップデート失敗後のロールバック:安全な復旧ガイド

SLES Btrfs Snapper のアップデート失敗後のロールバック:安全な復旧ガイド

BtrfsとSnapperを使用して、アップデート失敗後のSLESを復旧します。ロールバックオプションを比較し、スナップショットを安全にテストし、システムを復元し、リポジトリを検証します。

Pardusクライアント全体にカスタム壁紙とポリシーを展開する方法

Pardusクライアント全体にカスタム壁紙とポリシーを展開する方法

LiderahenkとAhenkを使用して、カスタムのPardus GNOME壁紙をステージングし、dconfで選択した設定をロックし、テスト済みのパイロットを通じて他のクライアントポリシーを展開します。