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