Linux磁盤(pán)檢測工具smartctl的使用和分析
1 編寫(xiě)目的
本文引用地址:http://dyxdggzs.com/article/201610/305661.htm在如今大數據的環(huán)境中,磁盤(pán)的性能和穩定性是非常重要的一個(gè)業(yè)務(wù)因素。在Linux系統中,smartctl是較為常用的磁盤(pán)檢測工具。
本文基于Linux系統中smartctl進(jìn)行分析,目的在于說(shuō)明相關(guān)工具的使用,并對SMART(Self-Monitoring, Analysis and Reporting Technology)做一些分析。
2 術(shù)語(yǔ)、定義和縮略語(yǔ)
2.1 術(shù)語(yǔ)、定義
本文使用的專(zhuān)用術(shù)語(yǔ)、定義,見(jiàn)表2.1。
表2.1
術(shù)語(yǔ)/定義含義
SMARTSelf-Monitoring, Analysis and Reporting Technology
2.2 縮略語(yǔ)
本文件應用了以下縮略語(yǔ),見(jiàn)表2.2。
表2.2
縮略語(yǔ)原 文中文含義
SMARTSelf-Monitoring, Analysis and Reporting Technology自監察分析及報告技術(shù)
3 smartctl
smartctl是smartmontools-5.38-2.el5 rpm中的一個(gè)命令行工具,可以執行SMART任務(wù):打印SMART self-test和error報告,開(kāi)啟或關(guān)閉SMART自動(dòng)測試,觸發(fā)磁盤(pán)self-test。
語(yǔ)法:
smartctl [options] device
device:
/dev/hd[a-t] IDE/ATA 磁盤(pán)
/dev/sd[a-z] SCSI devices磁盤(pán)。注意,對于SATA磁盤(pán),由于是通過(guò)libata
庫來(lái)訪(fǎng)問(wèn),所以要增加參數-d ata。
3.1 [options]:
參數按照不同的類(lèi)型來(lái)分類(lèi)。
3.1.1 顯示信息 參數:
-h 幫助信息
-V 版本信息
-i 打印基本信息(磁盤(pán)設備號、序列號、固件版本…)
-a 打印磁盤(pán)所有的SMART信息
3.1.2 運行時(shí)行為 參數:
-q TYPE 指定輸出的安靜模式。
TYPE可以有3種選擇:
eorsonly 只打印錯誤日志。
slent 有任何打印。
nserial 不打印序列號
-d TYPE 指定磁盤(pán)的類(lèi)型。如果沒(méi)有指定,smartctl會(huì )根據磁盤(pán)的名字來(lái)
猜測磁盤(pán)類(lèi)型。
-T TYPE 指定當發(fā)生錯誤時(shí),smartctl的容忍程度,是否繼續運行。
TYPE可以有4種選擇:
conservative 一有錯就會(huì )退出
normal 如果必須支持的SMART命令失敗,則退出
permissive 忽略一次必須支持的SMART命令失敗
verypermissive 忽略所有必須支持的SMART命令失敗
-b TYPE 指定當發(fā)生校驗錯誤時(shí),smartctl的動(dòng)作。
TYPE有3種選擇:
warn 發(fā)出警告,繼續執行
exit 退出smartctl
ignore 不發(fā)出告警,繼續執行
-r TYPE smartmontools開(kāi)發(fā)人員相關(guān)。
-n POWERMODE 指定當磁盤(pán)處于節能模式時(shí),smartctl是否繼續檢查,
默認是不檢查。
POWERMODE有4種選擇:
never 檢查
sleep 除了sleep模式,檢查。
standby 除了sleep或standby模式,檢查。
idle 除了sleep或standby或idle模式,見(jiàn)車(chē)。
3.1.3 SMART功能開(kāi)關(guān) 參數:
-s on/off 打開(kāi)或關(guān)閉磁盤(pán)的SMART功能
-o on/off 打開(kāi)或關(guān)閉SMART自動(dòng)離線(xiàn)檢測,該功能每4小時(shí)就會(huì )自動(dòng)掃描磁盤(pán)是
否有缺陷。
-S on/off 打開(kāi)或關(guān)閉“自動(dòng)保存廠(chǎng)商指定屬性”功能。
3.1.4 SMART 讀和顯示數據 參數
-H 報告磁盤(pán)的是否健康。如果報告不健康,則說(shuō)明磁盤(pán)已經(jīng)損壞或會(huì )在24小時(shí)
內損壞。
-c 顯示磁盤(pán)支持的普通SMART功能,以及這些功能當前的狀態(tài)。
-A 顯示磁盤(pán)支持的廠(chǎng)商指定SMART特性。這些特性的編號從1-253,并且有指
定的名字。
-l TYPE 指定顯示的log類(lèi)型。
TYPE有4種選擇:
error 只顯示error log。
selftest 只顯示selftest log
selective 只顯示selective self-test log
directory 只顯示Log Directory
-v N,OPTION 顯示廠(chǎng)商指定SMART特性N時(shí),使用廠(chǎng)商相關(guān)的顯示方式。
-F TYPE 設置smartctl的行為,當出現一些已知但還沒(méi)有解決的硬件或軟件bug時(shí),
smartctl應該怎么做。
-P TYPE 設置smartctl是否對磁盤(pán)使用數據庫中已有的參數。
3.1.5 SMART 離線(xiàn)測試、自測試 參數
-t TEST 立刻執行測試,可以和-C參數一起使用。
TEST可以有以下幾個(gè)選擇:
offline 離線(xiàn)測試??梢栽趻燧d文件系統的磁盤(pán)上使用
short 短時(shí)間測試??梢栽趻燧d文件系統的磁盤(pán)上使用。
long 長(cháng)時(shí)間測試??梢栽趻燧d文件系統的磁盤(pán)上使用。
conveyance [ATA only]傳輸zi測試??梢栽趻燧d文件系統的磁盤(pán)上使用。
select, N-M
select, N+SIZE [ATA only]有選擇性測試,測試磁盤(pán)的部分LBA。N表示
LBA編號,M表示結束LBA編號,SIZE表示測試的LBA
范圍。
-C 在captive模式下運行測試。
注意:(1)-C必須配合-t一起使用,但如果是-t offline,則-C不生效。
(2)-C會(huì )使得磁盤(pán)很忙,所以最好是在沒(méi)有掛載文件系統的磁盤(pán)上使用。
-X 中斷no-captive模式下運行的測試。
3.2 常用example
3.2.1 查看當前整體健康狀態(tài)
查看/dev/sda當前整體監控狀態(tài)。PASSED表示健康,否則意味著(zhù)磁盤(pán)已經(jīng)故障,或很快就會(huì )發(fā)生故障。
smartctl -H /dev/sda
3.2.2 查看所有信息
打印/dev/sda所有的SMART信息。
martctl -a /dev/sda
相當于依次執行:
smartctl –i /dev/sda
smartctl -c /dev/sda
smartctl -A /dev/sda
smartctl -l error /dev/sda
smartctl -l selftest /dev/sda
smartctl -l selective /dev/sda
3.2.3 開(kāi)/關(guān)SMART功能
打開(kāi)或關(guān)閉/dev/sda 的SMART功能。
smartctl -s on/off /dev/sda
查看當前SMART功能是否開(kāi)啟,可以使用 –i 參數。
smartctl -i /dev/sda
3.2.4 離線(xiàn)測試
對/dev/sda進(jìn)行離線(xiàn)測試,它的結果主要用來(lái)更新SMART 屬性。
smartctl -t offline /dev/sda
3.2.5 短時(shí)間測試
評論