在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. Laya for...in和for each...in

    当for...in和for each...in同时作用于一个对象时,for...in 获取的是key, for each...in获取的是value for each(var i in loadInf ...

  2. POJ-1696 Space Ant 凸包版花式水过!

                                                         Space Ant 明天早上最后一科毛概了,竟然毫无复习之意,沉迷刷题无法自拔~~ 题意:说实 ...

  3. JQuery Mobile 的引用代码,以及在手机浏览器上字体太小的解决办法

    JQuery Mobile 的引用代码: <link rel="stylesheet" href="http://code.jquery.com/mobile/1. ...

  4. intellij idea 使用用到的问题

    1.github error setting certificate verify locations使用github时报错,解决方法: git config --system http.sslcai ...

  5. Wiley出版 SQL Server 2005宝典

    原文发布时间为:2008-07-30 -- 来源于本人的百度文章 [由搬家工具导入] Wiley出版 SQL Server 2005宝典 迅雷专用高速下载    thunder://QUFmdHA6L ...

  6. flask-script插件

    首先在启动Flask项目时,我们可以传不同的参数作为运行参数.但是我们只能在入口app.run()传参.这样十分的不方便.Flask-Script 是一个 Flask 扩展,为 Flask 程序添加了 ...

  7. android本地存储SharedPreferences

    SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对)SharedPreferences常用来 ...

  8. docker-nginx-标记一下

    拉取nginx镜像 然后启动容器: docker run -p : --name mynginx -d -v $PWD/nginx.conf:/etc/nginx/conf.d/default.con ...

  9. HDU - 5973 Game of Taking Stones (威佐夫博弈 高精度)

    题目描述: Two people face two piles of stones and make a game. They take turns to take stones. As game r ...

  10. Crypto另外两段加密解密的代码

    第一段代码风格-平铺直叙: import sys from Crypto.Cipher import AES from binascii import b2a_hex, a2b_hex class p ...