硬盘检测工具Smartmontools安装、部署、使用
在服務(wù)器管理的實(shí)際環(huán)境中,硬盤是最容易出現(xiàn)問題及發(fā)生故障的硬件,而且硬盤中存儲(chǔ)著大量重要的數(shù)據(jù),萬一出現(xiàn)故障所造成的損失也是無法估計(jì)的,輕則需要化費(fèi)大量的時(shí)間與精力去做數(shù)據(jù)恢復(fù),重則硬盤報(bào)廢,里面重要的數(shù)據(jù)也無法100%挽回,所以對(duì)硬盤健康狀監(jiān)控十分必要。
一:什么是Smartmontools?
Smartmontools是一種硬盤檢測(cè)工具,通過控制和管理硬盤的SMART(Self Monitoring Analysis and Reporting Technology,自動(dòng)檢測(cè)分析及報(bào)告技術(shù))技術(shù)來實(shí)現(xiàn)的,SMART技術(shù)可以對(duì)硬盤的磁頭單元、盤片電機(jī)驅(qū)動(dòng)系統(tǒng)、硬盤內(nèi)部電路以及盤片表面介質(zhì)材料等進(jìn)行監(jiān)測(cè),當(dāng)SMART監(jiān)測(cè)并分析出硬盤可能出現(xiàn)問題時(shí)會(huì)及時(shí)向用戶報(bào)警以避免計(jì)算機(jī)數(shù)據(jù)受損失。
SMART技術(shù)必須在主板支持的前提下才能發(fā)生作用,而且 SMART技術(shù)也不能保證能預(yù)報(bào)所有可能發(fā)生的硬盤故障。SMART(SFF-8035i) 是硬盤生產(chǎn)商們建立的一個(gè)工業(yè)標(biāo)準(zhǔn),這個(gè)標(biāo)準(zhǔn)就是在硬盤上保存一個(gè)跟執(zhí)行情況,可靠程度,讀找錯(cuò)誤率等屬性的表格。所有屬性都有一個(gè)1byte(大小范圍1-253)的標(biāo)準(zhǔn)化值,還包含另一個(gè)1byte的關(guān)鍵階段值,如果屬性表格內(nèi)某個(gè)數(shù)據(jù)接近小于或達(dá)到關(guān)鍵階段值,表明硬盤工作不正常了。
二:安裝部署
2.1:下載最新源碼包安裝
下載
wget http://down1.chinaunix.net/distfiles/smartmontools-6.0.tar.gz
解壓
tar -xvf smartmontools-6.0.tar.gz
編譯
cd smartmontools-6.0
./configure
安裝
make && make install
2.2:使用yum安裝部署
yum install smartmontools -y
三:
smartd是smartmontools軟件包中的一個(gè)實(shí)用程序,可以單獨(dú)運(yùn)行,也可以注冊(cè)為系統(tǒng)服務(wù),
Windows上的注冊(cè)命令為:>smartd install注冊(cè)后,打開services.msc,可看到一個(gè)名叫“SmartD Service”服務(wù),并設(shè)置為“自動(dòng)”啟動(dòng)。
在linux 系統(tǒng)平臺(tái)上可通過向/etc/init.d添加smartd腳本,其實(shí)在安裝smartmontools軟件包的時(shí)候通常會(huì)安裝到這個(gè)位置,只需要在對(duì)應(yīng)的啟動(dòng)級(jí)別下做一個(gè)軟鏈接就可以了。
smartd的配置文件為smartd.conf(Windows和非Windows平臺(tái)都叫這個(gè)名字,Windows平臺(tái)與smartd.exe在同 一個(gè)目錄下,非Windows平臺(tái)位于/etc目錄下),在這個(gè)配置文件中已經(jīng)內(nèi)置許多種監(jiān)視方法和參數(shù)說明,值得一體的是-m參數(shù),可以利用它將監(jiān)視報(bào) 告以郵件的形式發(fā)送給指定的E-mail地址,這樣設(shè)備管理員就可以坐在電腦前就可以掌控所有硬盤設(shè)備的健康狀況了,利用smartd進(jìn)行自動(dòng)監(jiān)控。
3.1:啟動(dòng)監(jiān)控進(jìn)程
cp -rp /usr/local/etc/rc.d/init.d/smartd /etc/init.d/
[root@cn-ptmind smartmontools-6.0]# /etc/init.d/smartd start
正在啟動(dòng) smartd:[確定]
3.2:注冊(cè)服務(wù)、添加開機(jī)啟動(dòng)
chkconfig --add smartd
chkconfig smartd on
四:使用方法簡(jiǎn)介
1、smartctl -a檢查該設(shè)備是否已經(jīng)打開SMART技術(shù)。
2、smartctl -s on如果沒有打開SMART技術(shù),使用該命令打開SMART技術(shù)。
3、smartctl -t short后臺(tái)檢測(cè)硬盤,消耗時(shí)間短;
smartctl -t long后臺(tái)檢測(cè)硬盤,消耗時(shí)間長(zhǎng);
smartctl -C -t short前臺(tái)檢測(cè)硬盤,消耗時(shí)間短;
smartctl -C -t long前臺(tái)檢測(cè)硬盤,消耗時(shí)間長(zhǎng)。其實(shí)就是利用硬盤SMART的自檢程序。
4、smartctl -X中斷后臺(tái)檢測(cè)硬盤。
5、smartctl -l selftest顯示硬盤檢測(cè)日志。
6、smartctl -l error顯示硬盤錯(cuò)誤匯總。
五:檢測(cè)方法案例介紹;
5.1:檢查硬盤是否支持SMART
1993年以后出廠的硬盤基本上都支持SMART技術(shù),使用如下命令可以來查看
[root@cn-ptmind smartmontools-6.0]# smartctl -i /dev/sda
sda ? sda1 ?sda2 ?sda3 ?sda4 ?sda5 ?
[root@cn-ptmind smartmontools-6.0]# smartctl -i /dev/sda5
smartctl 6.0 2012-10-10 r3643 [x86_64-linux-2.6.32-220.el6.x86_64] (local build)
Copyright (C) 2002-12, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: ? ? Western Digital RE4 Serial ATA
Device Model: ? ? WDC WD5003ABYX-01WERA1
Serial Number: ? ?WD-WMAYP2734314
LU WWN Device Id: 5 0014ee 0030d7592
Firmware Version: 01.01S02
User Capacity: ? ?500,107,862,016 bytes [500 GB]
Sector Size: ? ? ?512 bytes logical/physical
Rotation Rate: ? ?7200 rpm
Device is: ? ? ? ?In smartctl database [for details use: -P show]
ATA Version is: ? ATA8-ACS (minor revision not indicated)
SATA Version is: ?SATA 3.0, 3.0 Gb/s (current: 3.0 Gb/s)
Local Time is: ? ?Wed Aug 14 18:14:23 2013 CST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
從返回的信息中,可以看到硬盤的生產(chǎn)廠家,型號(hào),序列號(hào),容量,是否支持SMART,目前SMART開啟沒有。
如果運(yùn)行這個(gè)命令返回了類似“Device does not support SMART”的信息就說明目標(biāo)硬盤不支持SMART,不能使用這套軟件包進(jìn)行測(cè)試和監(jiān)控。
在上面的信息可以看到,該硬盤是支持SMART技術(shù),且當(dāng)前是開啟的。如果SMART support is: Disabled表示SMART未啟用,執(zhí)行如下命令,啟動(dòng)SMART
smartctl --smart=on --offlineauto=on --saveauto=on /dev/sda5 或者 smartctl -s on -d ata /dev/sda5
這里的參數(shù)-s就是用來開關(guān)SMART特性的,如果加上參數(shù)值on就表示開啟,如果參數(shù)值是off就表示關(guān)閉。
5.2:檢查硬盤健康狀態(tài)
[root@cn-ptmind smartmontools-6.0]# smartctl -H /dev/sda5
smartctl 6.0 2012-10-10 r3643 [x86_64-linux-2.6.32-220.el6.x86_64] (local build)
Copyright (C) 2002-12, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
請(qǐng)注意result后邊的結(jié)果:PASSED,這表示硬盤健康狀態(tài)良好,如果這里顯示Failure,那么最好立刻給服務(wù)器更換硬盤。
SMART只能報(bào)告磁盤已經(jīng)不再健康,但是報(bào)警后還能繼續(xù)運(yùn)行多久是不確定的,通常,SMART報(bào)警參數(shù)是有預(yù)留的,磁盤報(bào)警后,不會(huì)當(dāng)場(chǎng)壞掉,一般能堅(jiān)持一段時(shí)間,有的硬盤SMART報(bào)警后還繼續(xù)跑了好幾年,有的硬盤SMART報(bào)錯(cuò)后幾天就壞了,千萬不要存在僥幸心理。
執(zhí)行如下命令可以看到詳細(xì)的參數(shù):
# smartctl -A /dev/hdb
-a 顯示設(shè)備所有的SMART信息。
-l error 列出硬盤錯(cuò)誤日志。如果顯示沒有錯(cuò)誤最好,如果顯示了大量的錯(cuò)誤信息,那就該著手準(zhǔn)備替換硬盤了。
-l selftest 列出自行測(cè)試結(jié)果
[root@cn-ptmind smartmontools-6.0]# smartctl -A /dev/sda5
smartctl 6.0 2012-10-10 r3643 [x86_64-linux-2.6.32-220.el6.x86_64] (local build)
Copyright (C) 2002-12, Bruce Allen, Christian Franke, www.smartmontools.org
=== 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
?1 Raw_Read_Error_Rate ? ? 0x002f ? 200 ? 200 ? 051 ? ?Pre-fail ?Always ? ? ? - ? ? ? 0
?3 Spin_Up_Time ? ? ? ? ? ?0x0027 ? 142 ? 141 ? 021 ? ?Pre-fail ?Always ? ? ? - ? ? ? 3900
?4 Start_Stop_Count ? ? ? ?0x0032 ? 100 ? 100 ? 000 ? ?Old_age ? Always ? ? ? - ? ? ? 77
?5 Reallocated_Sector_Ct ? 0x0033 ? 200 ? 200 ? 140 ? ?Pre-fail ?Always ? ? ? - ? ? ? 0
?7 Seek_Error_Rate ? ? ? ? 0x002e ? 200 ? 200 ? 000 ? ?Old_age ? Always ? ? ? - ? ? ? 0
?9 Power_On_Hours ? ? ? ? ?0x0032 ? 086 ? 086 ? 000 ? ?Old_age ? Always ? ? ? - ? ? ? 10783
10 Spin_Retry_Count ? ? ? ?0x0032 ? 100 ? 253 ? 000 ? ?Old_age ? Always ? ? ? - ? ? ? 0
11 Calibration_Retry_Count 0x0032 ? 100 ? 253 ? 000 ? ?Old_age ? Always ? ? ? - ? ? ? 0
12 Power_Cycle_Count ? ? ? 0x0032 ? 100 ? 100 ? 000 ? ?Old_age ? Always ? ? ? - ? ? ? 75
192 Power-Off_Retract_Count 0x0032 ? 200 ? 200 ? 000 ? ?Old_age ? Always ? ? ? - ? ? ? 70
193 Load_Cycle_Count ? ? ? ?0x0032 ? 200 ? 200 ? 000 ? ?Old_age ? Always ? ? ? - ? ? ? 6
194 Temperature_Celsius ? ? 0x0022 ? 109 ? 107 ? 000 ? ?Old_age ? Always ? ? ? - ? ? ? 34
196 Reallocated_Event_Count 0x0032 ? 200 ? 200 ? 000 ? ?Old_age ? Always ? ? ? - ? ? ? 0
197 Current_Pending_Sector ?0x0032 ? 200 ? 200 ? 000 ? ?Old_age ? Always ? ? ? - ? ? ? 0
198 Offline_Uncorrectable ? 0x0030 ? 200 ? 200 ? 000 ? ?Old_age ? Offline ? ? ?- ? ? ? 0
199 UDMA_CRC_Error_Count ? ?0x0032 ? 200 ? 200 ? 000 ? ?Old_age ? Always ? ? ? - ? ? ? 0
200 Multi_Zone_Error_Rate ? 0x0008 ? 200 ? 200 ? 000 ? ?Old_age ? Offline ? ? ?- ? ? ? 0
FLAG是標(biāo)記,標(biāo)準(zhǔn)數(shù)值(VALUE)應(yīng)當(dāng)小于或等於關(guān)鍵值(THRESH)。WHEN_FAILED 代表錯(cuò)誤信息,上面顯示的WHEN_FAILED縱行是空行,說明硬盤沒有故障。如果WHEN_FAILED顯示數(shù)字,表明硬盤磁道可能有比較大的壞道。
5.3:對(duì)硬盤進(jìn)行檢測(cè) 手工對(duì)硬盤進(jìn)行測(cè)試的方法有以下四種:
smartctl -t short ? ? 后臺(tái)檢測(cè)硬盤,消耗時(shí)間短
smartctl -t long ? ? ? 后臺(tái)檢測(cè)硬盤,消耗時(shí)間長(zhǎng)
smartctl -C -t short ?前臺(tái)檢測(cè)硬盤,消耗時(shí)間短
smartctl -C -t long ? 前臺(tái)檢測(cè)硬盤,消耗時(shí)間長(zhǎng)
例如,在后臺(tái)對(duì)硬盤進(jìn)行詳細(xì)的檢查,命令如下:
smartctl -t long /dev/hdb
同時(shí)可以使用 smartctl -X 終止檢查。終止硬盤檢查命令的使用方法是:
smartctl -X /dev/hdb
查看硬盤錯(cuò)誤日志:
#smartctl -l error /dev/hdb
以下是希捷的機(jī)械盤
/opt/smartmontools-6.0/sbin/smartctl --info --device=megaraid,1 /dev/sda
健康查詢 :
DELL SAS 機(jī)械盤 :
/opt/smartmontools-6.0/sbin/smartctl -H -d megaraid,1 /dev/sda
smartctl 6.0 2012-10-10 r3643 [x86_64-linux-2.6.18-274.el5] (local build)
Copyright (C) 2002-12, Bruce Allen, Christian Franke, www.smartmontools.org
SMART Health Status: OK
DELL SATA SSD硬盤 :
/opt/smartmontools-6.0/sbin/smartctl -H -d sat+megaraid,2 /dev/sdb
smartctl 6.0 2012-10-10 r3643 [x86_64-linux-2.6.18-274.el5] (local build)
Copyright (C) 2002-12, Bruce Allen, Christian Franke, www.smartmontools.org
轉(zhuǎn)載于:https://blog.51cto.com/michaelkang/1274807
總結(jié)
以上是生活随笔為你收集整理的硬盘检测工具Smartmontools安装、部署、使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 语音信号预处理1——chirp信号的生成
- 下一篇: WordPress后台添加侧边栏菜单