smartmontools介紹linux
smartmontools是一款開源的磁盤控制,監視工具,能夠運行在Linux,Unix,BSD,Solaris,Mac O
S,OS/2,Cygwin和Windows上,同時它還能夠從啓動光盤或啓動軟盤運行,支持ATA/ATAPI/SATA-3
(到-8)位的硬盤和SCSI硬盤,另外還支持磁帶設備,它的老家在smartmontools.sourceforge.net,實際上
它是一個軟件包,包括了兩個實用程序:smartctl和smatd。它監控的硬盤必須具備S.M.A.R.T特性,目前所
有硬盤都有這個特性,但默認狀況下一般沒有開啓這個功能,有兩種方法來開啓這個特性:1)經過BIOS設置選
項2)經過smartctl命令。利用它能夠測試硬盤的健康情況,並在發生故障前進行預警。git
準備工做ide
在開始測試或監控以前,先檢查一下目標硬盤是否支持S.M.A.R.T,以root登錄(Windows下以系統管理
員身份登錄),運行下面的命令:
#smartctl -i -d ata /dev/sda工具
這裏的參數-i指出顯示設備信息,-d指出設備類型,這裏指定的設備類型爲ata,固然,若是是SCSI硬
盤,就指定scsi了,最後的/dev/sda就是設備了,這個命令返回:
smartctl version 5.37 'i686-pc-linux-gnu' Copyright (C) 2002-6測試
Bruce Allen.net
Home page is http://smartmontools.sourceforge.net/=== START OF INFORMATION SECTIO
N ===日誌
Model Family: Western Digital Caviar SE (Serial ATA) familyorm
Device Model: WDC WD800JD-00MSA1ci
Serial Number: WD-WMAM9S474555get
Firmware Version: 10.01E01
User Capacity: 80,026,361,856 bytes
Device is: In smartctl database 'for details use: -P show'
ATA Version is: 7
ATA Standard is: Exact ATA specification draft version not
indicated
Local Time is: Thu Feb 7 13:09:37 2008 PST
SMART support is: Available - device has SMART capability.
SMART support is: Disabled
從返回的信息中,能夠看到硬盤的生產廠家,型號,序列號,容量,是否支持SMART,目前SMART開啓
沒有。結果的最後兩行就是咱們須要的信息,從這裏能夠看出,這塊硬盤是支持SMART技術的,但目前尚未
開啓它。
若是運行這個命令返回了相似「Device does not support SMART」的信息就說明目標硬盤不支持SMAR
T,不能使用這套軟件包進行測試和監控。
對於前面的例子,咱們可使用下面的命令來開啓SMART特性:
#smartctl -s on -d ata /dev/sda
這裏的參數-s就是用來開關SMART特性的,若是加上參數值on就表示開啓,若是參數值是off就表示關
閉。
開始測試
其實就一條命令就完成了測試,如:
#smartctl -H -d ata /dev/sda
這裏的參數-H就是指定顯示目標硬盤的健康狀態,這個命令返回以下結果:
smartctl version 5.37 'i686-pc-linux-gnu' Copyright (C) 2002-6
Bruce Allen
Home page is http://smartmontools.sourceforge.net/=== START OF READ SMART DATA S
ECTION ===
SMART overall-health self-assessment test result: PASSED
注意最後一行的測試結果「PASSED」,代表測試經過,該硬盤目前處於健康狀態。
其它一些有用的參數
-A 顯示支持的SMART屬性,參考命令:
#smartctl -A sda
返回內容:
smartctl version 5.38 [i686-mingw32-xp-sp2] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_
VALUE
3 Spin_Up_Time 0x0027 220 220 063 Pre-fail Always - 13621
4 Start_Stop_Count 0x0032 253 253 000 Old_age Always - 999
5 Reallocated_Sector_Ct 0x0033 253 253 063 Pre-fail Always - 0
6 Read_Channel_Margin 0x0001 253 253 100 Pre-fail Offline - 0
7 Seek_Error_Rate 0x000a 253 252 000 Old_age Always - 0
8 Seek_Time_Performance 0x0027 250 241 187 Pre-fail Always - 59017
9 Power_On_Minutes 0x0032 225 225 000 Old_age Always - 1019h+16m
10 Spin_Retry_Count 0x002b 253 252 157 Pre-fail Always - 0
11 Calibration_Retry_Count 0x002b 253 252 223 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 251 251 000 Old_age Always - 1091
192 Power-Off_Retract_Count 0x0032 253 253 000 Old_age Always - 0
193 Load_Cycle_Count 0x0032 253 253 000 Old_age Always - 0
194 Temperature_Celsius 0x0032 253 253 000 Old_age Always - 39
195 Hardware_ECC_Recovered 0x000a 253 252 000 Old_age Always - 1566
196 Reallocated_Event_Count 0x0008 253 253 000 Old_age Offline - 0
197 Current_Pending_Sector 0x0008 253 253 000 Old_age Offline - 0
198 Offline_Uncorrectable 0x0008 253 253 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x0008 199 199 000 Old_age Offline - 0
200 Multi_Zone_Error_Rate 0x000a 253 252 000 Old_age Always - 0
201 Soft_Read_Error_Rate 0x000a 253 251 000 Old_age Always - 5
202 TA_Increase_Count 0x000a 253 252 000 Old_age Always - 0
203 Run_Out_Cancel 0x000b 253 252 180 Pre-fail Always - 0
204 Shock_Count_Write_Opern 0x000a 253 252 000 Old_age Always - 0
205 Shock_Rate_Write_Opern 0x000a 253 252 000 Old_age Always - 0
207 Spin_High_Current 0x002a 253 252 000 Old_age Always - 0
208 Spin_Buzz 0x002a 253 252 000 Old_age Always - 0
209 Offline_Seek_Performnce 0x0024 189 187 000 Old_age Offline - 0
99 Unknown_Attribute 0x0004 253 253 000 Old_age Offline - 0
100 Unknown_Attribute 0x0004 253 253 000 Old_age Offline - 0
101 Unknown_Attribute 0x0004 253 253 000 Old_age Offline - 0
返回結果中的id#爲194的屬性(Temperature_Celsius)表示輸出硬盤溫度,因此纔會有軟件可以監測到
硬盤的溫度。咱們從這裏也能夠直接看到硬盤當前的溫度爲39°C,理想的狀態是控制在5°C左右,因此應該增
加風扇了。
-a 顯示設備全部的SMART信息。
-l error 列出硬盤錯誤日誌。若是顯示沒有錯誤最好,若是顯示了大量的錯誤信息,那就該着手準備替換
硬盤了。
-l selftest 列出自行測試結果。
利用smartd進行自動監控
smartd是smartmontools軟件包中的一個實用程序,能夠單獨運行,也能夠註冊爲系統服務,Windows
上的註冊命令爲:
>smartd install
註冊後,打開services.msc,可看到一個名叫「SmartD Service」服務,並設置爲「自動」啓動。
在非Windows平臺上可經過向/etc/rc.d/init.d添加smartd腳本,其實在安裝smartmontools軟件包的
時候一般會安裝到這個位置,只須要在對應的啓動級別下作一個軟連接就能夠了。
smartd的配置文件爲smartd.conf(Windows和非Windows平臺都叫這個名字,Windows平臺與smart d.exe在同一個目錄下,非Windows平臺位於/etc目錄下),在這個配置文件中已經內置許多種監視方法和參數 說明,值得一體的是-m參數,能夠利用它將監視報告以郵件的形式發送給指定的E-mail地址,這樣設備管理員 就能夠坐在電腦前就能夠掌控全部硬盤設備的健康情況了。