在server中,全部组件中一般最easy坏掉的就是磁盘。所以一般採取RAID来保证系统的稳定性,通过冗余磁盘的方式防止磁盘故障。

现代硬件驱动器一般支持SMART(自我监測分析和报告技术),它可以监视整个硬盘驱动器的健康状况。而且当硬盘驱动器即将故障的时候会发出警告。

一般硬件厂商提供的磁盘工具,是在系统重新启动后检查磁盘驱动的健康状况,而SMART能够不用重新启动系统就能够检查硬盘驱动器的健康程度。

在linux中,工具包的名字为smartmontools

在centos中能够使用 yum install smartmontools来安装工具

首先通过smartctl -i /dev/sda 来检查一下硬盘是否具有 SMART 特性

以下是smart工具的说明文档,里面有具体的说明

http://smartmontools.sourceforge.net/smartmontools_scsi.html

这个是我在虚拟机中測试的不支持

这个是我在真server中測试的,支持

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGFwZW5nMDExMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

SMART support 是 Disabled 状态的话,须要开启 SMART 的支持:

smartctl -s on /dev/sda

然后使用smartctl -H /dev/sda来检測磁盘的健康状况

查看/dev/sda当前总体监控状态。PASSED表示健康。否则意味着磁盘已经故障。或非常快就会发生问题。

使用

smartctl -t short /dev/sda

做一个高速自检

smartctl -l selftest /dev/sda

查看自检的进度和结果

使用smartctl -t long /dev/sda 做长时间自检,这个非常耗时,一般放在凌晨

使用smartctl -l error /dev/sda查看出错日志

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGFwZW5nMDExMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

在这里,我的读、写都没有错误发生。在Non-medium error count 中出现错误6。

我一直没有搞懂(非媒介错误计数)这个是什么意思。在官方文档查了一下。出现例如以下:

non-medium error counter (only a single number displayed). This represents the number of recoverable events other than write, read or verify errors.

我大致理解了一下,是除了read,write,verify errors的错误,可恢复事件的数量

查看全部信息

打印/dev/sda全部的SMART信息。

smartctl  -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

开/关SMART功能

打开或关闭/dev/sda 的SMART功能。

smartctl  -s  on/off  /dev/sda

查看当前SMART功能是否开启,能够使用 –i 參数。

smartctl  -i  /dev/sda

离线測试

对/dev/sda进行离线測试,它的结果主要用来更新SMART 属性。

smartctl  -t  offline  /dev/sda

观察測试进度

通过-c 參数。能够观察到測试的进度:

smartctl -c    /dev/sda

smartctl參数帮助

-h                帮助信息

-V                版本号信息

-i                打印基本信息(磁盘设备号、序列号、固件版本号…)

-a      打印磁盘全部的SMART信息

 执行时行为 參数:

-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模式,见车。

SMART功能开关 參数:

-s  on/off        打开或关闭磁盘的SMART功能

-o  on/off        打开或关闭SMART自己主动离线检測。该功能每4小时就会自己主动扫描磁盘是

否有缺陷。

-S  on/off   打开或关闭“自己主动保存厂商指定属性”功能。

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是否对磁盘使用数据库中已有的參数。

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模式下执行的測试。

检測磁盘驱动的健康程度SMART的更多相关文章

  1. 检测磁盘驱动的健康程度SMART

    在linux中,工具包的名字为smartmontools 在CentOS中可以使用 yum install smartmontools来安装工具 首先通过smartctl -i /dev/sda 来检 ...

  2. server的散热和Linux中温度的检測

    当server被放在散热条件不好的条件下,这样会导致硬盘驱动过早损坏,而且server其它的组件也会非常快出现问题. 现代的server主板检測到CPU过热的时候,一般会限制CPU的频率,所以即使se ...

  3. OpenCV2马拉松第22圈——Hough变换直线检測原理与实现

    计算机视觉讨论群162501053 转载请注明:http://blog.csdn.net/abcd1992719g/article/details/27220445 收入囊中 Hough变换 概率Ho ...

  4. 【从零学习openCV】IOS7下的人脸检測

    前言: 人脸检測与识别一直是计算机视觉领域一大热门研究方向,并且也从安全监控等工业级的应用扩展到了手机移动端的app,总之随着人脸识别技术获得突破,其应用前景和市场价值都是不可估量的,眼下在学习ope ...

  5. AIX下RAC搭建 Oracle10G(一)检測系统环境

    AIX下RAC搭建系列 环境 节点 节点1 节点2 小机型号 IBM P-series 630 IBM P-series 630 主机名 AIX203 AIX204 交换机 SAN光纤交换机 存储 S ...

  6. 行人检測之HOG特征(Histograms of Oriented Gradients)

    之前的文章行人计数.计次提到HOG特征这个概念,这两天看了一下原版的论文,了解了一下HOG特征的原理,并依据自己的理解将这种方法的流程写了下来,假设有不正确的地方欢迎指正. HOG(Histogram ...

  7. c++程序内存泄露检測工具

    功能: 用于检測c++程序的内存泄露. 原理: 事实上非常easy,就是通过函数的重载机制,捕获应用程序的new, new[] , delete , delete[], malloc,calloc,f ...

  8. 操作系统栈溢出检測之ucosII篇

    操作系统栈溢出检測之uc/osII篇 Author               :       David Lin (林鹏) E-mail               :       linpeng1 ...

  9. 3D空间中射线与三角形的交叉检測算法

    引言 射线Ray,在3D图形学中有非常多重要的应用.比方,pick操作就是使用射线Ray来实现的,还有诸如子弹射线的碰撞检測等等都能够使用射线Ray来完毕. 所以,在本次博客中,将会简单的像大家介绍下 ...

随机推荐

  1. HDU 5536 Chip Factory

    Chip Factory Time Limit: 18000/9000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)T ...

  2. NYOJ 814 又见拦截导弹

    又见拦截导弹 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 大家对拦截导弹那个题目应该比较熟悉了,我再叙述一下题意:某国为了防御敌国的导弹袭击,新研制出来一种导弹拦 ...

  3. python3--__repr_和__str__会返回字符串表达形式

    __repr_和__str__会返回字符串表达形式 下一个例子是已经见过的init构造方法和add重载方法,本例也会定义返回实例的字符串表达形式的__repr__方法.字符串格式把self.data对 ...

  4. java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment问题解决

    2018-09-29 17:45:16.905 ERROR [pool-1-thread-1]o.s.scheduling.support.TaskUtils$LoggingErrorHandler. ...

  5. POJ 1543 Perfect Cubes

    Perfect Cubes Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 12595   Accepted: 6707 De ...

  6. Linux硬件配置信息

      在网上找了N久,发现了一篇不错的文档,转载一下: 1.查看机器所有硬件信息: dmidecode |more dmesg |more 这2个命令出来的信息都非常多,所以建议后面使用"|m ...

  7. 【NOIP2014】伤感·伤感·伤感

    Day <0 虽说初三的时候考过一次提高组,而且还考得不错,但自己还是挺看重这次NOIP的[你想想旁边两大神级别人物在死命刷题,蒟蒻怎敢颓废]于是切完所有复赛题后又做了好多好多次模拟赛,状态自己 ...

  8. hdu 2859

    #include<stdio.h> char s[1010][1010]; int map[1010][1010]; int main() {  int n,i,j,k,ii,jj;  w ...

  9. bzoj1610 [Usaco2008 Feb]Line连线游戏 几何+暴力

    Description Farmer John最近发明了一个游戏,来考验自命不凡的贝茜.游戏开始的时 候,FJ会给贝茜一块画着N (2 <= N <= 200)个不重合的点的木板,其中第i ...

  10. com.alibaba.fastjson和org.json遍历获取key

    推荐都是用fastjson.org.json好像不支持序列化. com.alibaba.fastjson遍历获取key的方法: //fastjson解析方法 for (Map.Entry<Str ...