新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > Linux磁盤檢測工具smartctl的使用和分析

Linux磁盤檢測工具smartctl的使用和分析

作者: 時間:2016-10-08 來源:網(wǎng)絡(luò) 收藏

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 短時間測試


上一頁 1 2 3 4 下一頁

關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉