1. 安裝 smartmontools

套件 smartmontools 包含了 smartctl, smartd,是個可以監控 ATA, SCSI 硬碟 (storage) SMART (Self-Monitoring, Analysis and Reporting Technology System) 狀態的工具。我們可以透過它來進階設定各種硬碟退化、錯誤警告的回報機制。

1.1. 安裝文字介面的檢測工具。
檢視原始檔複製到剪貼簿列印關於

Debian, Ubuntu

$ sudo aptitude install smartmontools

CentOS, RHEL, Fedora

$ sudo yum install smartmontools

2. smartctl

smartctl 主要是用來進行一次性、暫時性的硬碟掃描,以下為常見的使用方法。

2.1. 查看該媒體是否支援 SMART 檢測。
檢視原始檔複製到剪貼簿列印關於

- 啟用 (Enabled)。

$ sudo smartctl -i /dev/sda
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.8.0-31-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Device Model:     ST3500413AS
Serial Number:    Z2AAMWCL
LU WWN Device Id: 5 000c50 035f695b1
Firmware Version: JC45
User Capacity:    500,107,862,016 bytes [500 GB] Sector Size:      512 bytes logical/physical
Device is:        Not in smartctl database [for details use: -P showall] ATA Version is:   8
ATA Standard is:  ATA-8-ACS revision 4
Local Time is:    Wed Oct 16 21:04:44 2013 CST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

- 停用 (Disabled)。

$ sudo smartctl -i /dev/sda
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.8.0-31-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Device Model:     ST3500413AS
Serial Number:    Z2AAMWCL
LU WWN Device Id: 5 000c50 035f695b1
Firmware Version: JC45
User Capacity:    500,107,862,016 bytes [500 GB] Sector Size:      512 bytes logical/physical
Device is:        Not in smartctl database [for details use: -P showall] ATA Version is:   8
ATA Standard is:  ATA-8-ACS revision 4
Local Time is:    Wed Oct 16 21:05:36 2013 CST
SMART support is: Available - device has SMART capability.
SMART support is: Disabled

2.2. 若尚未啟用 SMART,可以使用 -s 參數開啟它。
檢視原始檔複製到剪貼簿列印關於
$ sudo smartctl -s on /dev/sda
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.8.0-31-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

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

2.3. 支援 SMART 後我們可以使用 -H 參數來手動檢查硬碟、隨身硬碟的建康狀態。
檢視原始檔複製到剪貼簿列印關於

- 通過 (passed)。

$ sudo smartctl -H /dev/sda
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.8.0-31-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

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

- 失敗 (failed)。

$ sudo smartctl -H /dev/sda
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.8.0-31-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: FAILED!
Drive failure expected in less than 24 hours. SAVE ALL DATA.
Failed Attributes:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
5 Reallocated_Sector_Ct   0x0033   004   004   005    Pre-fail  Always   FAILING_NOW 1887

3. smartd

smartd 是個可以把 smartmontools 註冊成例行性服務 (Daemon) 並使用排程來監控的程式,以下為凍仁啟用的步驟。

3.1. 啟用 smartd。
檢視原始檔複製到剪貼簿列印關於
$ sudo vim /etc/default/smartmontools
...
start_smartd=yes
smartd_opts="--interval=1800"

3.2. 備份設定檔。
檢視原始檔複製到剪貼簿列印關於
$ sudo cp /etc/smartd.conf /etc/smartd.conf.ori

3.3. 編輯設定檔。
檢視原始檔複製到剪貼簿列印關於
$ sudo vi /etc/smartd.conf
......

掃描所有的 ATA/SCSI 設備並將報告寄送給 root。

DEVICESCAN -d removable -n standby -m root -M exec /usr/share/smartmontools/smartd-runner

每日 02:00 快速檢查 sda,每週六 03:00 完整檢查 sda。

/dev/sda -a -o on -S on -s (S/../.././02|L/../../6/03)

每日 04:00 快速檢查 sdb,每週六 05:00 完整檢查 sdb。

/dev/sdb -a -o on -S on -s (S/../.././04|L/../../6/05)

監控 SMART 狀態

/dev/sda -H -l error -l selftest -t -I 194
/dev/sdb -H -l error -l selftest -t -I 194

安靜的檢查,並只郵寄建康狀態給 [email protected]

/dev/sda -H -C 0 -U 0 -m [email protected]
/dev/sdb -H -C 0 -U 0 -m [email protected]
......

3.3. 啟用服務
檢視原始檔複製到剪貼簿列印關於
$ sudo /etc/init.d/smartd start

3.4. 觀看記錄檔 (log)。
檢視原始檔複製到剪貼簿列印關於
$ less /var/log/syslog
......
Oct 17 08:59:47 thinkpad-t410 smartd[11523]: smartd 5.41 2011-06-09 r3365 [x86_64-linux-3.2.0-4-amd64] (local build)
Oct 17 08:59:47 thinkpad-t410 smartd[11523]: Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
Oct 17 08:59:47 thinkpad-t410 smartd[11523]: Opened configuration file /etc/smartd.conf
Oct 17 08:59:47 thinkpad-t410 smartd[11523]: Drive: DEVICESCAN, implied '-a' Directive on line 21 of file /etc/smartd.conf
Oct 17 08:59:47 thinkpad-t410 smartd[11523]: Configuration file /etc/smartd.conf was parsed, found DEVICESCAN, scanning devices
Oct 17 08:59:47 thinkpad-t410 smartd[11523]: Device: /dev/sda, type changed from 'scsi' to 'sat'
Oct 17 08:59:47 thinkpad-t410 smartd[11523]: Device: /dev/sda [SAT], opened
......
Oct 17 08:59:47 thinkpad-t410 smartd[11523]: Device: /dev/sda [SAT], found in smartd database.
Oct 17 08:59:48 thinkpad-t410 smartd[11523]: Device: /dev/sda [SAT], is SMART capable. Adding to "monitor" list.
Oct 17 08:59:48 thinkpad-t410 smartd[11523]: Device: /dev/sda [SAT], state read from /var/lib/smartmontools/smartd.ST9320423AS-5VH55XKG.ata.state
......
Oct 17 08:59:48 thinkpad-t410 smartd[11525]: smartd has fork()ed into background mode. New PID=11525.
Oct 17 08:59:48 thinkpad-t410 smartd[11525]: file /var/run/smartd.pid written containing PID 11525

By tony

自由軟體愛好者~喜歡不斷的思考各種問題,有新的事物都會想去學習嘗試 做實驗並熱衷研究 沒有所謂頂天的技術 只有謙虛及不斷的學習 精進專業,本站主要以分享系統及網路相關知識、資源而建立。 Github http://stnet253.github.io

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料