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

2020-12-15 電子產品世界

1 編寫目的

本文引用地址:http://www.eepw.com.cn/article/201610/305661.htm

在如今大數據的環境中,磁碟的性能和穩定性是非常重要的一個業務因素。在Linux系統中,smartctl是較為常用的磁碟檢測工具。

本文基於Linux系統中smartctl進行分析,目的在於說明相關工具的使用,並對SMART(Self-Monitoring, Analysis and Reporting Technology)做一些分析。

2 術語、定義和縮略語

2.1 術語、定義

本文使用的專用術語、定義,見表2.1。

表2.1

術語/定義含義

SMARTSelf-Monitoring, Analysis and Reporting Technology

2.2 縮略語

本文件應用了以下縮略語,見表2.2。

表2.2

縮略語原 文中文含義

SMARTSelf-Monitoring, Analysis and Reporting Technology自監察分析及報告技術

3 smartctl

smartctl是smartmontools-5.38-2.el5 rpm中的一個命令行工具,可以執行SMART任務:列印SMART self-test和error報告,開啟或關閉SMART自動測試,觸發磁碟self-test。

語法:

smartctl [options] device

device:

/dev/hd[a-t] IDE/ATA 磁碟

/dev/sd[a-z] SCSI devices磁碟。注意,對於SATA磁碟,由於是通過libata

庫來訪問,所以要增加參數-d ata。

3.1 [options]:

參數按照不同的類型來分類。

3.1.1 顯示信息 參數:

-h 幫助信息

-V 版本信息

-i 列印基本信息(磁碟設備號、序列號、固件版本…)

-a 列印磁碟所有的SMART信息

3.1.2 運行時行為 參數:

-q TYPE 指定輸出的安靜模式。

TYPE可以有3種選擇:

eorsonly 只列印錯誤日誌。

slent 有任何列印。

nserial 不列印序列號

-d TYPE 指定磁碟的類型。如果沒有指定,smartctl會根據磁碟的名字來

猜測磁碟類型。

-T TYPE 指定當發生錯誤時,smartctl的容忍程度,是否繼續運行。

TYPE可以有4種選擇:

conservative 一有錯就會退出

normal 如果必須支持的SMART命令失敗,則退出

permissive 忽略一次必須支持的SMART命令失敗

verypermissive 忽略所有必須支持的SMART命令失敗

-b TYPE 指定當發生校驗錯誤時,smartctl的動作。

TYPE有3種選擇:

warn 發出警告,繼續執行

exit 退出smartctl

ignore 不發出告警,繼續執行

-r TYPE smartmontools開發人員相關。

-n POWERMODE 指定當磁碟處於節能模式時,smartctl是否繼續檢查,

默認是不檢查。

POWERMODE有4種選擇:

never 檢查

sleep 除了sleep模式,檢查。

standby 除了sleep或standby模式,檢查。

idle 除了sleep或standby或idle模式,見車。

3.1.3 SMART功能開關 參數:

-s on/off 打開或關閉磁碟的SMART功能

-o on/off 打開或關閉SMART自動離線檢測,該功能每4小時就會自動掃描磁碟是

否有缺陷。

-S on/off 打開或關閉「自動保存廠商指定屬性」功能。

3.1.4 SMART 讀和顯示數據 參數

-H 報告磁碟的是否健康。如果報告不健康,則說明磁碟已經損壞或會在24小時

內損壞。

-c 顯示磁碟支持的普通SMART功能,以及這些功能當前的狀態。

-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時,使用廠商相關的顯示方式。

-F TYPE 設置smartctl的行為,當出現一些已知但還沒有解決的硬體或軟體bug時,

smartctl應該怎麼做。

-P TYPE 設置smartctl是否對磁碟使用資料庫中已有的參數。

3.1.5 SMART 離線測試、自測試 參數

-t TEST 立刻執行測試,可以和-C參數一起使用。

TEST可以有以下幾個選擇:

offline 離線測試。可以在掛載文件系統的磁碟上使用

short 短時間測試。可以在掛載文件系統的磁碟上使用。

long 長時間測試。可以在掛載文件系統的磁碟上使用。

conveyance [ATA only]傳輸zi測試。可以在掛載文件系統的磁碟上使用。

select, N-M

select, N+SIZE [ATA only]有選擇性測試,測試磁碟的部分LBA。N表示

LBA編號,M表示結束LBA編號,SIZE表示測試的LBA

範圍。

-C 在captive模式下運行測試。

注意:(1)-C必須配合-t一起使用,但如果是-t offline,則-C不生效。

(2)-C會使得磁碟很忙,所以最好是在沒有掛載文件系統的磁碟上使用。

-X 中斷no-captive模式下運行的測試。

3.2 常用example

3.2.1 查看當前整體健康狀態

查看/dev/sda當前整體監控狀態。PASSED表示健康,否則意味著磁碟已經故障,或很快就會發生故障。

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 開/關SMART功能

打開或關閉/dev/sda 的SMART功能。

smartctl -s on/off /dev/sda

查看當前SMART功能是否開啟,可以使用 –i 參數。

smartctl -i /dev/sda

3.2.4 離線測試

對/dev/sda進行離線測試,它的結果主要用來更新SMART 屬性。

smartctl -t offline /dev/sda

3.2.5 短時間測試

相關焦點

  • Linux 大牛收集的 Linux 性能分析工具合集
    如果沒有完善的計算機系統知識,網絡知識和作業系統知識,文檔中的工具,是不可能完全掌握的,另外對系統性能分析和優化是一個長期的系列。本文檔主要是結合Linux 大牛,Netflix 高級性能架構師 Brendan Gregg 更新 Linux 性能調優工具的博文,搜集Linux系統性能優化相關文章整理後的一篇綜合性文章,主要是結合博文對涉及到的原理和性能測試的工具展開說明。
  • 【轉】Ceph 磁碟損壞現象和解決方法
    文章內容對於HDD 損壞分析是沒有的,故障日誌分析的乾貨也是沒有的。為什麼要轉發呢?進入網際網路同學的思維習慣,理解一下 Open Source(Ceph) 存儲下的維護場景,說大一點,這個世界觀和專業存儲SAN設備有很大不同。
  • Linux基本命令之磁碟管理命令
    磁  盤  管  理1、 分區一般情況下,分區主要有兩種方式,分別為MBR 、
  • Linux 層次結構和磁碟劃分
    /lp[0-15] 印表機        ./cdrom   光碟機        ./mouse   滑鼠        ./st0 or .VFS(Virtual File System)用戶進程 ——》系統調用 ——》 VFS ——》緩存 ——》系統驅動 ——》磁碟設備控制器。
  • hdparm是Linux的命令行程序之一,用於處理磁碟設備和硬碟
    「 hdparm 」(即硬碟參數)是Linux的命令行程序之一,用於處理磁碟設備和硬碟。藉助此命令,您可以獲得有關硬碟,更改寫入間隔,聲學管理和DMA設置的統計信息。它還可以設置與驅動器高速緩存,睡眠模式,電源管理,聲學管理和DMA設置相關的參數。
  • Linux 下重要文件被刪除?我有妙招
    大家熟知linux文件系統不同win有回收站,刪除後的文件可以到垃圾箱尋回,要知道linux文件修複比較費勁,網絡上面的文檔也是五花八門。所以本次研究一種比較靠譜的文件和目錄恢復方法,也給維護人員留一條後路。
  • Linux 內核學習:環境搭建和內核編譯
    內核學習之一:環境搭建--安裝Debian7.3本系列文章假設讀者已對linux有一定的了解,其實學習linux內核不需要有很深的關於linux的知識,只需要了解以下內容:linux基礎知識及基本shell命令;現代作業系統的基本概念;C語言和gcc基本使用。
  • Linux 常用監控指標總結
    3、磁碟相關採集項計算方法:先讀取/proc/mounts拿到所有掛載點,然後通過syscall.Statfs_t拿到blocks和inode的使用情況。每個metric都會附加一組tag描述,類似mount=$mount,fstype=$fstype,其中$mount是掛載點,比如/home,$fstype是文件系統,比如ext4。
  • SmartDefrag使用安裝教程(磁碟碎片整理工具)
    IObit SmartDefrag是一款非常的磁碟碎片整理工具,採用業界先進的ExpressDefrag 技術,通過增強的多線程碎片整理引擎和提高的碎片整理速度,從而為更快的數據訪問和出色的磁碟性能提供了更好的解決方案,而且還能對磁碟的文件系統進行優化。
  • Linux 內核的測試和調試(6)
    Tester's GuideTesting resources at eLinux.orgeLinux Debugging Portal內核測試套件和項目除我們討論過的測試資源之外,這裡還有很多測試項目值得介紹,包括開源的和廠家自己提供的。
  • Linux入門必看:如何在60秒內分析Linux性能?
    導語 | 當你登陸一臺Linux伺服器之後,因為一個問題要做性能分析時,你會在第
  • 【開源工具】推薦一款Linux下內存檢測工具:valgrind
    有時這些問題非常瑣碎, 常見的內存問題主要有下面幾種:內存方面的問題定位一直是個老大難,對於自己寫的demo來說,簡單去檢查代碼中malloc/new和free/delete的匹配對數就基本能定位到問題,但是對於數以萬甚至十萬行的工程時,僅靠肉眼檢查來定位問題那就非常困難了。所以我們需要利用工具幫助我們找出問題所在。
  • CHKDSK 磁碟檢查工具
    CHKDSK全稱checkdisk,顧名思義,就是檢查磁碟的含義。可用於檢查卷的文件系統和文件系統元數據,以查找邏輯錯誤和物理錯誤。如果在沒有參數的情況下使用,chkdsk只顯示卷的狀態,不會修復任何錯誤。如果與/F、/R、/X或/B參數一起使用,則會修復卷上的錯誤。
  • Linux 內核測試與調試(3)
    如果 dmesg 日誌有新的警告信息,表示新發布的內核有漏網之「蟲」,這些 bug 逃過了自測和系統測試。你要看看,那些警告信息後面有沒有棧跟蹤信息?也許這裡有很多問題需要你進一步調查分析。壓力測試執行壓力測試的一個好辦法是同時跑三四個內核編譯任務。下載各種版本的內核,同時編譯它們,並記錄時間。比較新內核跑壓力測試和老內核跑壓力測試所花的時間,然後可以定位新內核的性能。
  • Linux:掛接(mount)命令的使用方法
    掛接光碟鏡像文件   由於近年來磁碟技術的巨大進步,新的電腦系統都配備了大容量的磁碟系統,在Windows下許多人都習慣把軟體和資料做成光碟鏡像文件通過虛擬光碟機來使用。這樣做有許多好處:一、減輕了光碟機的磨損;二、現在硬碟容量巨大存放幾十個光碟鏡像文件不成問題,隨用隨調十分方便;三、硬碟的讀取速度要遠遠高於光碟的讀取速度,CPU佔用率大大降低。
  • 走進Linux(下)——arch linux的安裝教程
    New走進Linux(下)——arch linux的安裝教程一、為什麼選擇arch Linux?相比Debian/Ubuntu、SUSE、RedHat/Fedora 等其他發行版, Arch Linux 屬於輕量級選手,其簡單的設計讓它容易被輕鬆擴展和配置成為任何想要的系統類型。
  • Linux 中獲取硬碟分區或文件系統的 UUID 的七種方法 | Linux 中國
    UUID 意即通用唯一識別碼Universally Unique Identifier,它可以幫助 Linux 系統識別一個磁碟分區而不是塊設備文件。自內核 2.15.1 起,libuuid 就是 util-linux-ng 包中的一部分,它被默認安裝在 Linux 系統中。
  • vxworks和linux有什麼區別
    Linux作業系統也是自由軟體和開放原始碼發展中最著名的例子。嚴格來講,Linux這個詞本身只表示Linux內核,但在實際上人們已經習慣了用Linux來形容整個基於Linux內核,並且使用GNU 工程各種工具和資料庫的作業系統。Linux得名於計算機業餘愛好者Linus Torvalds。
  • 國產linux發行版本——deepin作業系統安裝方法
    大家好,歡迎回到萬魔寺,前兩期,和大家一起學習了ubuntu系統的安裝,今天我們一起來學習一下國產linux作業系統deepin的安裝方法。deepin系統是由武漢深之度科技有限公司開發,在網絡上口碑比較好的一款linux國產發行版。
  • NTFS磁碟工具:Paragon NTFS for mac使用教程
    NTFS磁碟工具:Paragon NTFS for mac使用教程  aragon NTFS for mac這款軟體,用過的Mac用戶都說用它好,他其實是一個NTFS格式文件系統寫入補丁,以插件的形式安裝在你Mac上,它能夠讓Mac讀寫 NTFS 磁碟, 可以讓Mac OS X支持NTFS格式的硬碟寫入文件