使用smartmontools監控磁盤的健康狀態

smartmontools介紹html

  smartmontools是一款開源的磁盤控制,監視工具,能夠運行在 Linux,Unix,BSD,Solaris,Mac OS,OS/2,Cygwin和Windows上,同時它還能夠從啓動光盤或啓動軟盤運行,支持ATA/ATAPI/SATA-3(到-8)位的硬盤和SCSI硬盤,另外還支持磁帶設備,它的老家在smartmontools.sourceforge.net,實際上它是一個軟件包, 包括了兩個實用程序:smartctl和smatd。它監控的硬盤必須具備S.M.A.R.T特性,目前全部硬盤都有這個特性,但默認狀況下一般沒有開啓 這個功能,有兩種方法來開啓這個特性:1)經過BIOS設置選項2)經過smartctl命令。利用它能夠測試硬盤的健康情況,並在發生故障前進行預警。linux

  準備工做git

  在開始測試或監控以前,先檢查一下目標硬盤是否支持S.M.A.R.T,以root登錄(Windows下以系統管理員身份登錄),運行下面的命令:ide

#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

  Home page
is http: // smartmontools.sourceforge.net /=== START OF INFORMATION SECTION ===

  Model Family: Western Digital Caviar SE (Serial ATA) family

  Device Model: WDC WD800JD
- 00MSA1

  Serial
Number : WD - WMAM9S474555

  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」的信息就說明目標硬盤不支持SMART,不能使用這套軟件包進行測試和監控。spa

  對於前面的例子,咱們可使用下面的命令來開啓SMART特性:.net

#smartctl - s on - d ata / dev / sda

  這裏的參數-s就是用來開關SMART特性的,若是加上參數值on就表示開啓,若是參數值是off就表示關閉。日誌

  開始測試orm

  其實就一條命令就完成了測試,如:

 #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 SECTION ===

  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平臺與smartd.exe在同 一個目錄下,非Windows平臺位於/etc目錄下),在這個配置文件中已經內置許多種監視方法和參數說明,值得一體的是-m參數,能夠利用它將監視報 告以郵件的形式發送給指定的E-mail地址,這樣設備管理員就能夠坐在電腦前就能夠掌控全部硬盤設備的健康情況了。

相關文章
相關標籤/搜索