Linux用のSmartmontoolsにおけるsmartctlユーティリティのガイド
もしあなたがVPSまたは専用サーバーを使用している場合、ディスクの安定性はオプションではなく、ミッションクリティカルです。1つの故障したドライブはデータ損失、ダウンタイム、そして高額な回復を引き起こす可能性があります。だからこそ、Linuxシステム管理者はsmartctlに依存しています。これは、S.M.A.R.Tを介してドライブ診断に直接アクセスできる強力なコマンドラインツールです。
このガイドでは、Linuxでのsmartctlの使用方法、実用的なコマンド、実世界の例、およびスマートな自動化について説明します。
smartctlとは何ですか?
smartctlはSmartmontoolsパッケージの一部です。これは、ほとんどの最新のHDDおよびSSDに組み込まれているS.M.A.R.T.(自己監視、分析、報告技術)へのアクセスを提供します。
smartctlを使用すると、以下のことができます:
- ドライブの健康状態を確認する
- 短いまたは拡張された自己テストを実行する
- 温度とパフォーマンスメトリックを表示する
- ハードウェア故障の初期兆候をキャッチする
サポートされているハードウェアには以下が含まれます:
- SATA / IDE / SCSI / NVMeドライブ
- SSDとHDDの両方
- ほとんどのLinuxサーバー配布とホスティングプラットフォーム
なぜsmartctlを使用するのですか?
| 利点 | 利益 |
|---|---|
| 早期故障検出 | データ損失を未然に防ぐ |
| リアルタイム診断 | 再起動せずにドライブを監視する |
| 簡単な自動化 | cron、スクリプト、およびアラートと良好に連携する |
| ハードウェアレベルの可視性 | 推測なし — ドライブから生データを取得する |
| DevOpsおよびsysadminフレンドリー | データセンターやクラウドサーバー全体で広く使用されている |
Smartmontoolsのインストール方法
インストールは、Linuxディストリビューションによって異なります:
| OS | インストールコマンド |
|---|---|
| Ubuntu/Debian | sudo apt update && sudo apt install smartmontools |
| CentOS/RHEL | sudo yum install smartmontools |
| Fedora | sudo dnf install smartmontools |
| Arch Linux | sudo pacman -S smartmontools |
インストールが完了すると、smartctlコマンドはターミナルから利用可能です。
基本的なsmartctlコマンド
| コマンド | 機能 |
|---|---|
| smartctl -i /dev/sda | ドライブ情報を表示する |
| smartctl -H /dev/sda | 全体的な健康状態を確認する |
| smartctl -A /dev/sda | 詳細なS.M.A.R.T.属性をリストする |
| smartctl -t short /dev/sda | 短い(2分)自己テストを開始する |
| smartctl -t long /dev/sda | 完全な拡張自己テスト(10〜60分)を開始する |
| smartctl -l selftest /dev/sda | テスト履歴を表示する |
| smartctl -l error /dev/sda | エラーログを表示する |
📌 /dev/sdaを実際のドライブ(例:NVMe SSDの場合は/dev/nvme0n1)に置き換えてください。
例:ドライブの健康状態を確認する
sudo smartctl -H /dev/sda
期待される出力:
SMART overall-health self-assessment test result: PASSED
結果がPASSEDの場合、ドライブは現在健康です。
FAILEDと表示された場合は、すぐにバックアップを取り、交換の計画を立ててください。
監視すべき主要なSMART属性
| ID | 属性 | 意味 |
|---|---|---|
| 5 | 再割り当てセクター数 | 不良セクターが予備スペースに再マッピングされる |
| 197 | 現在の保留セクター数 | 再読み込みを待っているセクター |
| 198 | オフライン修正不能数 | 読み取り/書き込みエラーのあるセクター |
| 194 | 温度(摂氏) | 最適なパフォーマンスのために50 °C未満に保つ |
これらのフィールドの値が増加することは、ドライブの劣化が進行中であることを意味します。
推奨される監視スケジュール
| タスク | 頻度 |
|---|---|
| -H健康チェック | 毎週 |
| 短いテスト(-t short) | 毎週 |
| 長いテスト(-t long) | 毎月 |
| エラーログレビュー | クラッシュやI/Oの問題の後 |
| 温度監視 | 常時(スクリプトを介して) |
Cronで自動化する
例:ディスクの健康に関する週次メールレポート
0 3 * * 1 smartctl -H /dev/sda | mail -s "SMART Health Report" you@example.com
📌 mailutilsまたはsendmailがインストールされていることを確認してください。
結論
smartctlは軽量でありながら強力なツールで、どのsysadminも見逃すべきではありません。これを使用することで、サーバーを健康に保ち、データを安全にし、インフラをプロアクティブに保つことができます。


