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