Smartmontools - 檢查測試硬碟壽命

1、前言

Smartmontools 為用來檢查、測試硬碟相關 S.M.A.R.T 資訊的套件 (例如使用壽命、硬碟溫度...等),當檢測硬碟有問題時還能發 E-Mail 通知您,目前支援硬碟格式為 ATA / ATAPI-3 to -7 Disks、SATA Disk、SCSI Disk、Tape devices。






文章目錄

1、前言
2、實作環境
3、安裝及設定
          步驟1.安裝 smartmontools 套件
          步驟2.修改 smartd.conf 設定檔
          步驟3.修改 /etc/rc.conf
          步驟4.啟動 smartd 服務
          步驟5.啟動硬碟 S.M.A.R.T 功能
4、手動檢查、測試硬碟
5、參考





2、實作環境

  • FreeBSD 6.0-RELEASE
  • smartmontools-5.36





3、安裝及設定

步驟1.安裝 smartmontools 套件

切換至 Ports Tree 路徑安裝 Smartmontools 套件。
cd /usr/ports/sysutils/smartmontools   //切換至安裝路徑
make install clean                       //安裝套件並清除暫存檔案




步驟2.修改 smartd.conf 設定檔

此次實作主機只有一顆 IDE 硬碟 (/dev/ad0),記得將設定檔內的 DEVICESCAN 給註解 (mark) 掉 (原因請看設定檔內註解說明) 否則系統將無法自動執行硬碟檢查,其中檢查的部份為每天 AM 2:00 ~ 3:00 執行快速檢查,每週六 AM 3:00 ~ 4:00 執行完整檢查。
vi /usr/local/etc/smartd.conf   //修改 smartd 設定檔
 #DEVICESCAN                                            //將此行註解
 /dev/ad0 -a -o on -S on -s (S/../.././02|L/../../6/03)
 /dev/ad0 -H -l error -l selftest -t -I 194             //監控 SMART 狀態
 /dev/ad0 -H -m weithenn@weithenn.org                   //指定硬碟有問題時發送的 mail




步驟3.修改 /etc/rc.conf

修改 rc.conf 以便系統重新開機時能自動啟動 smartd 服務。
vi /etc/rc.conf
 smartd_enable="YES"     //加入此行




步驟4.啟動 smartd 服務

執行如下指令來啟動 smartd 服務。
/usr/local/etc/rc.d/smartd.sh start     //啟動 smartd 服務
檢查 smartd 服務是否啟動。
ps ax |grep smartd
768  ??  I  0:00.03 /usr/local/sbin/smartd -p /var/run/smartd.pid -c /usr/local/etc/smartd.conf




步驟5.啟動硬碟 S.M.A.R.T 功能

啟動 HDD SMART 參數說明。
  • -s:Enable/disable SMART on device (on/off)。
  • -o:Enable/disable automatic offline testing on device (on/off)。
  • -S:Enable/disable Attribute autosave on device (on/off)。

執行如下指令查看硬碟是否啟動 S.M.A.R.T 功能,此次實作主機為 IDE 硬碟 (/dev/ad0)。
smartctl -i /dev/ad0
 smartctl version 5.36 i386-portbld-freebsd6.0 Copyright (C) 2002-6 Bruce Allen
 Home page is http://smartmontools.sourceforge.net/
 === START OF INFORMATION SECTION ===
 Model Family:     Maxtor DiamondMax Plus D740X family
 Device Model:     MAXTOR 6L040J2
 Serial Number:    662208400197
 Firmware Version: A93.0500
 User Capacity:    40,027,029,504 bytes
 Device is:        In smartctl database for details use: -P show
 ATA Version is:   5
 ATA Standard is:  ATA/ATAPI-5 T13 1321D revision 1
 Local Time is:    Tue Nov  7 14:59:55 2006 CST
 SMART support is: Available - device has SMART capability.
 SMART support is: Disabled       //可發現尚未啟動 HDD SMART 功能
 SMART Disabled. Use option -s with argument 'on' to enable it.


執行下列指令來啟動 HDD SMART 及相關功能。
smartctl -s on -S on -o on /dev/ad0
 smartctl version 5.36 i386-portbld-freebsd6.0 Copyright (C) 2002-6 Bruce Allen
 Home page is http://smartmontools.sourceforge.net/
 === START OF ENABLE/DISABLE COMMANDS SECTION ===
 SMART Enabled.
 SMART Attribute Autosave Enabled.
 SMART Automatic Offline Testing Enabled every four hours.

上述設定完成後系統應該會於每日 AM 2:00 ~ 3:00 執行快速檢查 (此例檢查我的 IDE 硬碟花費時間為 2 分鐘),每週六 AM 3:00 ~ 4:00 執行完整檢查(此例檢查我的 IDE 硬碟花費時間為 20 分鐘),當 Smartmontools 檢查發現 HDD 有問題時系統會發 E-Mail 通知您 (剛才設定檔中指定的信箱)。硬碟執行花費時間可由下列指令得知。
smartctl -c /dev/ad0              //顯示硬碟支援檢查測目
 Short self-test routine
 recommended polling time:        (   2) minutes.  //快速檢查花費時間
 Extended self-test routine
 recommended polling time:        (  20) minutes.  //完整檢查花費時間




4、手動檢查、測試硬碟

若想手動檢查硬碟狀況也可使用下列指令去執行,檢查語法如下:
smartctl options device
常用參數說明如下:





5、參考