在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. zoj 2830 Champion of the Swordsmanship

    Champion of the Swordsmanship Time Limit: 2 Seconds      Memory Limit: 65536 KB In Zhejiang Universi ...

  2. python刷toj

    1452 import sys a , b , c = map(int,sys.stdin.readline().split()) print ((a+b+c),(a*b*c), '%.2f' %(( ...

  3. FineMessBox的js依赖导致错误Uncaught ReferenceError: addEvent is not defined

    /**  * COMMON DHTML FUNCTIONS  * These are handy functions I use all the time.  *  * By Seth Banks ( ...

  4. shell的while循环

    while循环用于不断执行一系列命令,也用于从输入文件中读取数据:命令通常为测试条件.其格式为: while command do    Statement(s) to be executed if ...

  5. BZOJ 4566 [Haoi2016]找相同字符 ——广义后缀自动机

    建立广义后缀自动机. 然后统计子树中的siz,需要分开统计 然后对(l[i]-l[fa[i]])*siz[i][0]*siz[i][1]求和即可. #include <cstdio> #i ...

  6. [BZOJ4989] [Usaco2017 Feb]Why Did the Cow Cross the Road(树状数组)

    传送门 发现就是逆序对 可以树状数组求出 对于旋转操作,把一个序列最后面一个数移到开头,假设另一个序列的这个数在位置x,那么对答案的贡献 - (n - x) + (x - 1) #include &l ...

  7. Codevs 2602 最短路径问题

     时间限制: 1 s 空间限制: 32000 KB 题目等级 : 黄金 Gold 题目描述 Description 平面上有n个点(n<=100),每个点的坐标均在-10000~10000之间. ...

  8. 在App_Data中创建数据库获取连接串简便方法!

    原文发布时间为:2008-07-25 -- 来源于本人的百度文章 [由搬家工具导入] 1、在App_Data右击添加一个SQL数据库2、双击该数据库,在左边添加表,并显示表数据进行添加数据3、把刚刚创 ...

  9. chromedriver错误信息提示

    The open chrome driver window displays: Starting ChromeDriver (v2.8.241075) on port 10820 [8804:7492 ...

  10. 如何查看项目的Laravel框架的版本

    如何查看项目的Laravel框架的版本 接触到一个已有的使用Laravel框架的项目时, 打开项目根目录下的composer.json文件, 找到 laravel/framework 的值,即可查看版 ...