linux命令之smartctl磁盤健康監測

smartctl --all

 smartctl 磁盤健康監測程序  

SMART是一種磁盤自我分析檢測技術,早在90年代末就基本獲得了普及每一塊硬盤(包括IDE、SCSI)在運行的時候,都會將自身的若干參數記錄下來這些參數包括型號、容量、溫度、密度、扇區、尋道時間、傳輸、誤碼率等
硬盤運行了幾千小時後,不少內在的物理參數都會發生變化某一參數超過報警閾值,則說明硬盤接近損壞
此時硬盤依然在工做,若是用戶不理睬這個報警繼續使用那麼硬盤將變得很是不可靠,隨時可能故障
SMART是和主板BIOS上相應功能配合的
要使用SMART,必須先進入到主板BIOS設置裏邊啓動相關設置
通常從Pentium2級別起的主板,都支持SMART
BIOS啓動之後,就是操做系統級別的事情了.很遺憾,Windows沒有內置SMART相關工具(須要安裝第三方工具軟件)
好在Linux上很早就有了SMART支持了.若是把Linux裝在VMware等虛擬機上,在系統啓動時候能夠看到有個服務啓動報錯:smartd
這個服務器就是smart的daemon進程(由於vmware虛擬機的硬盤不支持SMART,因此報錯)
首先經過dmesg工具,確認一下硬盤的設備符號
hdb中的h表明IDE,若是顯示爲sdb,則表明SATA和SCSI
最後一個字幕b表明Primary總線,第二塊硬盤即Slave位置
-i 指定設備
-d 指定設備類型,例如:ata, scsi, marvell, sat, 3ware,N
-a 或A 顯示全部信息
-l 指定日誌的類型,例如:TYPE: error, selftest, selective, directory,background, scttemp[sts,hist]
-H 查看硬盤健康狀態
-t short 後臺檢測硬盤,消耗時間短
-t long 後臺檢測硬盤,消耗時間長
-C -t short 前臺檢測硬盤,消耗時間短
-C -t long 前臺檢測硬盤,消耗時間長
-X 中斷後臺檢測硬盤
-l selftest 顯示硬盤檢測日誌

確認硬盤是否打開了SMART支持
smartctl -i /dev/hdb
[root@station ~]# smartctl -i /dev/sdb
smartctl 5.39.1 2010-01-28 r3054 [i386-redhat-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

Device: SEAGATE  ST373453LC       Version: 0006
Serial number: 3HW07M7K00007340AX57
Device type: disk
Transport protocol: Parallel SCSI (SPI-4)
Local Time is: Tue Nov  6 16:54:06 2012 CST
Device supports SMART and is Enabled
Temperature Warning Enabled
若是看到不支持這須要咱們手動開啓支持
[root@station ~]#  smartctl --smart=on --offlineauto=on --saveauto=on /dev/sdb  //手動開啓smart命令
smartctl 5.39.1 2010-01-28 r3054 [i386-redhat-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

Informational Exceptions (SMART) enabled
Temperature warning enabled
[root@station ~]# smartctl  -H /dev/sdb  //磁盤健康情況查看
smartctl 5.39.1 2010-01-28 r3054 [i386-redhat-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

SMART Health Status: OK
注意後邊的結果:這表示硬盤健康狀態良好
若是這裏顯示Failure,那麼最好馬上給服務器更換硬盤
SMART只能報告磁盤已經再也不健康,可是報警後還能繼續運行多久是不肯定的
一般,SMART報警參數是有預留的,磁盤報警後,不會當場壞掉,通常能堅持一段時間
有的硬盤SMART報警後還繼續跑了好幾年,有的硬盤SMART報錯後幾天就壞了
可是一旦出現報警,僥倖內心是萬萬不能的……
簡單用法:一、smartctl -a  <device>         檢查該設備是否已經打開SMART技術。二、smartctl -s on <device>    若是沒有打開SMART技術,使用該命令打開SMART技術。三、smartctl -t short <device>    後臺檢測硬盤,消耗時間短;   smartctl -t long <device>      後臺檢測硬盤,消耗時間長;   smartctl -C -t short <device> 前臺檢測硬盤,消耗時間短;   smartctl -C -t long <device>  前臺檢測硬盤,消耗時間長。其實就是利用硬盤SMART的自檢程序。四、smartctl -X <device>  中斷後臺檢測硬盤。五、smartctl -l selftest <device>  顯示硬盤檢測日誌。六、smartctl -l error <device> 顯示硬盤錯誤彙總。 
相關文章
相關標籤/搜索