Linuxでsmartdでハードディスクの状況を監視する(転載)


プロセッサ、メモリと比較すると、ハードディスク(HDD)はサーバ上で最も遅いサブシステムであり、パフォーマンスのボトルネックが最も発生しやすい場所であり、最も脆弱な部分でもあります.ハードディスク(HDD)はプロセッサから最も遠く、ハードディスク(HDD)にアクセスするには、シャフトの回転、レールの検索などの機械的な操作が必要ですが、機械は故障しやすいからです.VPSサービス業者やシステム管理者として、最も怖いのはハードディスクの故障なので、ハードディスクの健康状況を監視し、早期警報を出すことが重要です.私达のPCサーバーの上で差は多くありません1.5年はいずれもハードディスクが壊れて、壊れる前に少しも兆候がなくて、SUNサーバーの上の情况はよく得て、多くのSATA/SCSIハードディスクは5年运行しても大丈夫で、ブランドサーバーはやはり高い理由があるようです.VPN Seeはこの間、Googleが発表した論文を見たことがあります.F i l u r e TrendsinaLargeDiskDrivePopulationも私たちの経歴を確認しました.結論は、壊れたハードディスクの60%しかS.M.A.R.T.に検出できません.つまり、S.M.A.R.T.のテスト結果は60%しか正しいので、S.M.A.R.T.のモニタリング結果に完全に依存することはできません.
現在、市販されているすべてのハードディスクはS.M.A.R.T.(Self-Monitoring,AnalysisandReportingTechnology)の特性を有しており、smartmontoolsはこの特性を利用してハードディスクを監視するパッケージであり、smartctlとsmartdの2つのプログラムを含み、前者はフロントコマンドラインツール、後者はバックグラウンドでプログラムを実行し、smartmontoolsはLinuxの特許ではなく、BSD、Solarisなどのシステムもサポートしている.
smartmontoolsのインストール
CentOS/Fedoraでインストール:
# yum install kernel-utils

Debian/Ubuntuでインストール:
# apt-get install smartmontools

smartmontoolsの使用
smartmontoolsテストを使用する前に、ハードディスク(HDD)にSMART機能があるかどうかを確認します.
# smartctl -i /dev/sda

=== START OF INFORMATION SECTION ===
Device Model:     SEAGATE ST32500NSSUN250G 0741B58YP8
Serial Number:    5QE58YP8
Firmware Version: 3.AZK
User Capacity:    250,056,000,000 bytes
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   7
ATA Standard is:  Exact ATA specification draft version not indicated
Local Time is:    Thu Jul 22 22:39:07 2010 SAST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

上のSMARTsupportがDisabled状態の場合、SMARTのサポートを開始する必要があります.
# smartctl -s on /dev/sda

=== START OF ENABLE/DISABLE COMMANDS SECTION ===
SMART Enabled.

ハードディスク(HDD)の状況をチェックし、次の結果がPASSEDでない場合は、すぐに警戒して、すぐにすべてのデータをバックアップする必要があります.ハードディスク(HDD)はいつでも問題が発生する可能性があります(ただし、結果がPASSEDであっても、ハードディスク(HDD)が100%安全であることを意味するわけではありません.PASSは問題がないわけではありません.PASSは問題がないわけではありません).
# smartctl -H /dev/sda

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

クイックセルフテストを行います.
# smartctl -t short /dev/sda

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Short self-test routine immediately in off-line mode".
Drive command "Execute SMART Short self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 1 minutes for test to complete.
Test will complete after Thu Jul 22 22:51:00 2010

Use smartctl -X to abort test.

上記のセルフテストコマンドを実行してからしばらく待つと、次のコマンドで進捗状況と結果を確認できます.
# smartctl -l selftest /dev/sda

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%     20949         -
# 2  Short offline       Completed without error       00%     20947         -


長時間のセルフテストを行うには(時間がかかるので、午前中にすることをお勧めします):
# smartctl -t long /dev/sda

エラー・ログの表示:
# smartctl -l error /dev/sda

=== START OF READ SMART DATA SECTION ===
SMART Error Log Version: 1
No Errors Logged

smartmontoolsの設定
CentOS/Fedoraの下:
# vi /etc/smartd.conf
# /etc/init.d/smartd restart

Debian/Ubuntuで:
# vi /etc/default/smartmontools
# vi /etc/smartd.conf
# /etc/init.d/smartmontools restart

以上のsmartmontoolsのプロファイルを修正することで定期的にハードディスク(HDD)の健康診断を行うことができ、定期的な健康診断を与えるように、健康診断を受けたからといって病気ではない(多くの病気は健康診断の設備では調べられない)ので、Googleのハードディスク(HDD)レポートの状況にも合っています.壊れたハードディスクの60%しかS.M.A.R.T.に検出できません(病気の人の60%しか健康診断で発見できません).
原文出典:http://www.vpsee.com/2010/07/monitoring-hard-disk-health-with-smartd-under-linux/