`

linux下的硬盘检测工具 Smartmontools

阅读更多

1.1 什么是Smartmontools?
Smartmontools是一种硬盘检测工具,通过控制和管理硬盘的SMART(Self Monitoring Analysis and Reporting Technology,自动检测分析及报告技术)技术来实现的,SMART技术可以对硬盘的磁头单元、盘片电机驱动系统、硬盘内部电路以及盘片表面介质材料等进行监测,当SMART监测并分析出硬盘可能出现问题时会及时向用户报警以避免计算机数据受损失。SMART技术必须在主板支持的前提下才能发生作用,而且 SMART技术也不能保证能预报所有可能发生的硬盘故障。SMART(SFF-8035i) 是硬盘生产商们建立的一个工业标准,这个标准就是在硬盘上保存一个跟执行情况,可靠程度,读找错误率等属性的表格。所有属性都有一个1byte(大小范围1-253)的标准化值,还包含另一个1byte的关键阶段值,如果属性表格内某个数据接近小于或达到关键阶段值,表明硬盘工作不正常了。

 

--------------------------------


2.1 Smartmontools的使用


1、启动监控进程
# /etc/init.d/smartd start
启动 smartd: [ 确定 ]

 

 

 

------------------------------------------------------


2、检查硬盘是否支持SMART ,     1993年以后出厂的硬盘基本上都支持SMART技术,使用如下命令可以来查看:

# smartctl -i /dev/sda

smartctl version 5.38 [i686-redhat-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF INFORMATION SECTION ===
Device Model:     ST3320418AS
Serial Number:    9VM1R2WY
Firmware Version: CC35
User Capacity:    320,072,933,376 bytes
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   8
ATA Standard is:  ATA-8-ACS revision 4
Local Time is:    Sun Aug 16 21:25:18 2009 EDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

在上面的信息可以看到,该硬盘是支持SMART技术,且当前是开启的。如果SMART support is: Disabled表示SMART未启用,执行如下命令,启动SMART:

smartctl --smart=on --offlineauto=on --saveauto=on /dev/sda

 

--------------------------------

 

3、检查硬盘健康状态

# smartctl -H /dev/sda
smartctl version 5.33 [i686-turbo-linux-gnu] Copyright (C) 2002-4 Bruce Allen
Home page is
http://smartmontools.sourceforge.net/

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
请注意result后边的结果:PASSED,这表示硬盘健康状态良好,如果这里显示Failure,那么最好立刻给服务器更换硬盘。SMART只能报告磁盘已经不再健康,但是报警后还能继续运行多久是不确定的,通常,SMART报警参数是有预留的,磁盘报警后,不会当场坏掉,一般能坚持一段时间,有的硬盘SMART报警后还继续跑了好几年,有的硬盘SMART报错后几天就坏了,千万不要存在侥幸心理。执行如下命令可以看到详细的参数:

# smartctl -A /dev/sda


smartctl version 5.38 [i686-redhat-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   109   100   006    Pre-fail  Always       -       21618934
  3 Spin_Up_Time            0x0003   098   098   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       -       12
  5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000f   100   253   030    Pre-fail  Always       -       116923
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       58
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       -       6
183 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       0
184 Unknown_Attribute       0x0032   100   100   099    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
188 Unknown_Attribute       0x0032   100   099   000    Old_age   Always       -       4
189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0022   057   056   045    Old_age   Always       -       43 (Lifetime Min/Max 29/44)
194 Temperature_Celsius     0x0022   043   044   000    Old_age   Always       -       43 (0 25 0 0)
195 Hardware_ECC_Recovered  0x001a   048   047   000    Old_age   Always       -       21618934
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0
240 Head_Flying_Hours       0x0000   100   253   000    Old_age   Offline      -       226628244340804
241 Unknown_Attribute       0x0000   100   253   000    Old_age   Offline      -       30093291
242 Unknown_Attribute       0x0000   100   253   000    Old_age   Offline      -       2423580

FLAG是标记,标准数值(VALUE)应当小于或等於关键值(THRESH)。WHEN_FAILED 代表错误信息,上面显示的WHEN_FAILED纵行是空行,说明硬盘没有故障。如果WHEN_FAILED显示数字,表明硬盘磁道可能有比较大的坏道。

 

------------------------------------------------------------------


4、对硬盘进行检测 手工对硬盘进行测试的方法有以下四种:

smartctl -t short <device> 后台检测硬盘,消耗时间短
smartctl -t long <device> 后台检测硬盘,消耗时间长
smartctl -C -t short <device> 前台检测硬盘,消耗时间短
smartctl -C -t long <device> 前台检测硬盘,消耗时间长
例如,在后台对硬盘进行详细的检查,命令如下:

# smartctl -t long /dev/sda
smartctl version 5.33 [i686-turbo-linux-gnu] Copyright (C) 2002-4 Bruce Allen
Home page is

http://smartmontools.sourceforge.net/

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Extended self-test routine immediately in off-line mode".
Drive command "Execute SMART Extended self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 54 minutes for test to complete.
Test will complete after Mon Sep 17 03:53:32 2007

Use smartctl -X to abort test.
上面的信息显示54分钟后将完成检查,同时可以使用 smartctl -X 终止检查。

 

 

终止硬盘检查命令的使用方法是:

# smartctl -X /dev/sda
smartctl version 5.33 [i686-turbo-linux-gnu] Copyright (C) 2002-4 Bruce Allen
Home page is
http://smartmontools.sourceforge.net/

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Abort SMART off-line mode self-test routine".
Self-testing aborted!

 

 

---------------------------------------------------


5、查看硬盘日志 使用“smartctl -l logtype <device>”可以查看硬盘的日志,日志又分为多种类型,如selftest、error等等。

 

 

例如查看硬盘检测的日志,如下:

# smartctl -l selftest /dev/sda
smartctl version 5.33 [i686-turbo-linux-gnu] Copyright (C) 2002-4 Bruce Allen
Home page is

http://smartmontools.sourceforge.net/

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Extended offline Aborted by host 90% 4365 -
# 2 Extended offline Completed without error 00% 4247 -
# 3 Short offline Aborted by host 30% 4246 -
# 4 Short offline Aborted by host 10% 4246 -
# 5 Extended offline Completed without error 00% 4229 -


查看硬盘错误日志:

# smartctl -l error /dev/sda
smartctl version 5.33 [i686-turbo-linux-gnu] Copyright (C) 2002-4 Bruce Allen
Home page is

http://smartmontools.sourceforge.net/

=== START OF READ SMART DATA SECTION ===
SMART Error Log Version: 1
No Errors Logged

 

说明没有错误日志

我主要是要看通电时间
所以只用了
smartctl -A /dev/sda

其中
Power_On_Hours 就是我要的数据

分享到:
评论
2 楼 jacklin2015 2015-11-04  
root@jack-desktop:/dev# smartctl -H /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.16.0-41-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

Read SMART Data failed: scsi error aborted command

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: UNKNOWN!
SMART Status, Attributes and Thresholds cannot be read.

请问这样怎么回事?
1 楼 iammonster 2009-08-18  
这个比较好,收藏

相关推荐

    Linux检测硬盘坏道.pdf

    ### Linux与FreeBSD下检测硬盘坏道的详细指南 硬盘作为计算机存储的重要组成部分,其健康状况直接影响着数据的安全性和系统的稳定性。当硬盘出现坏道时,可能会导致数据丢失、读写速度下降甚至系统崩溃等问题。因此...

    smartmontools-7.2.tar.gz

    smartmontools是一款开源的磁盘检测和控制工具,它基于SMART(Self-Monitoring, Analysis, and Reporting Technology)技术,广泛应用于Linux、Unix以及Windows等操作系统。SMART技术是现代硬盘内置的一种自我监测...

    Linux上启动S.M.A.R.T.硬盘检测

    硬盘检测详解 #### 一、S.M.A.R.T.简介 S.M.A.R.T.(Self-Monitoring, Analysis and Reporting Technology,自我监测、分析与报告技术)是一项被广泛应用于现代硬盘驱动器中的诊断技术。它允许硬盘在其出现物理...

    硬盘SMART检测参数详解_磁盘故障检测_SMART检测参数_SMART磁盘_

    在Linux环境下,使用smartmontools可以非常方便地进行硬盘故障检测。首先,安装smartmontools包,然后通过`smartctl -H`命令检查硬盘的SMART支持情况,`smartctl -A`查看所有SMART属性及其当前值,`smartctl -l self...

    获取硬盘和CPU的温度,cpu如何读取硬盘数据,C,C++

    在C/C++中,可以使用SMART相关的API,如Linux下的smartmontools库,或者在Windows上使用WMI接口。通过调用这些接口,我们可以读取硬盘的SMART数据,其中包括当前的温度。 以下是一个简单的C++示例,展示如何使用...

    smartmontools-5.38.rar源代码

    支持ATA/ATAPI-3 to -7磁盘和SCSI磁盘的检测,支持(Mac OSX)、Linux、FreeBSD、NetBSD、OpenBSD、Solaris、OS/2、eComStation系统下的磁盘检测,当然也支持 Windows操作系统。 它包含smartctl和smartd两个程序模块...

    硬盘SMART检测参数详解.docx

    在Linux环境中,可以使用smartmontools这样的工具来读取和分析SMART信息,其中smartctl用于手动检查,smartd则可以在后台持续监控硬盘状态。 为了充分利用SMART技术,用户应确保操作系统支持SMART,并开启SMART功能...

    linux学习笔记,很实用的东西.doc

    Linux学习笔记中的主要知识点集中在服务器硬件配置和硬盘检测技术上,特别是针对不同品牌服务器的RAID配置和SMART技术的应用。 1. **Dell PowerEdge 1850 配置阵列** Dell PowerEdge 1850 服务器的RAID配置需要...

    硬盘SMART检测参数详解.pdf

    smartmontools 是 smart 的软件包程序,由 smartctl 和 smartd 两部分工具程序组成,它们一起为 Linux 平台提供对磁盘退化和故障的高级警告。 硬盘 SMART 检测参数包括: * 01(001)Raw_Read_Error_Rate 底层数据...

    linux学习笔记-很实用的东西.doc

    本文主要探讨了在不同品牌服务器上配置RAID阵列的方法,以及硬盘检测技术,特别是利用SMARTmontools进行硬盘健康状态的监控。 在Dell PowerEdge 1850服务器上配置RAID阵列,需要通过控制器进入配置界面,通过`ctl+M...

    linux MD5更换磁盘

    ### Linux MD5更换磁盘详解...- 定期监控磁盘健康状况,可以使用 `smartmontools` 等工具来帮助检测潜在的硬件故障。 通过以上步骤,您可以有效地处理Linux环境中MD5磁盘损坏的情况,确保数据的安全性和系统的稳定性。

    S.M.A.R.T. Linux-开源

    SMART Linux是一个基于Slackware Linux的轻量级发行版,主要设计用于通过软盘或USB设备启动,以便对IDE(Integrated Drive Electronics)和SCSI(Small Computer System Interface)硬盘进行SMART检测。 在描述中...

    smartctl检测磁盘健康状态.txt

    centos6需安装smartmontools工具,centos7默认自带smartctl工具,该脚本用于检测磁盘健康状态是否正常

Global site tag (gtag.js) - Google Analytics