在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中測试的,支持

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查看出错日志

在这里,我的读、写都没有错误发生。在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. linux查看磁盘驱动类型,检测磁盘驱动的健康程度SMART

    在服务器中,所有组件中一般最容易坏掉的就是磁盘.所以一般采取RAID来保证系统的稳定性,通过冗余磁盘的方式防止磁盘故障. 现代硬件驱动器一般支持SMART(自我监测分析和报告技术),它能够监视整个硬盘 ...

  2. 深度学习的应用——检測糖尿病型视网膜症

    近日.谷歌在<美国医学会杂志>发表题为 "Development and Validation of a Deep Learning Algorithm for Detectio ...

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

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

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

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

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

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

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

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

  7. Visual C++ 2012/2013的内存溢出检測工具

    在过去,每次编写C/C++程序的时候,VLD差点儿是我的标配.有了它,就能够放心地敲代码,随时发现内存溢出. VLD最高可支持到Visual Studio 2012.不知道以后会不会支持Visual ...

  8. 如何衡量系统内存健康程度: memdelay简介

    简介 最近在upstream上, Johannes Weiner发了一个memdelay的patch, 主要是衡量系统内存的健康程度, 在对它进行分析和优化之后, 做了一个简单的总结 memdelay ...

  9. DELL Poweredge服务器安装操作系统指南 补全之磁盘驱动制作

    在上篇文章<DELL Poweredge服务器安装操作系统指南>之中,有一个比较重要的东西没有详细描述,就是制作磁盘驱动,现在另起篇章,详细阐述. 在Windows系统中制作磁盘驱动,总的 ...

最新文章

  1. Matlab学习笔记——数据文件定位
  2. 如何促使团队紧密协作
  3. java 按行读取大文件文件内容_Java实现按行读取大文件
  4. 主成分分析具体解释_主成分分析-现在用您自己的术语解释
  5. js给百度地图上的圆点加自定义动画_three.js实现建筑物纹理流动
  6. centos上mysql
  7. 零基础带你学习MySQL—unique 唯一(二十五)
  8. Linux Tricks —— 快速清空文本文件内容、文本内容追加(tee)
  9. 大数据MongoDB之NoSQL的CAP定理和BASE原则是什么?
  10. JavaScript求和函数
  11. python np arange_python – 为什么np.arccos(1.0)在np.arange的情况下给出nan?
  12. python提示syntaxerror什么意思_“SyntaxError:print”调用中缺少括号在Python中是什么意思?...
  13. 波浪数,51nod1788,根号分治+Meet in the Middle
  14. matlab bar3 颜色,matlab中怎么控制柱状图标注的颜色?
  15. SAP FI系统配置-应收应付
  16. 云队友丨任正非:没有退路,就是胜利之路
  17. HTML中的基本元素
  18. TEC-2机微程序设计
  19. 通常在班班通教室使用的计算机是,班班通笔试试题.doc
  20. 一个由“大头儿子带小头儿子吃饭”引发的血案

热门文章

  1. Linux 系统安装配置PHP服务(源码安装)
  2. 深入了解preventDefault与stopPropagation
  3. 2016京东编程题:年终奖
  4. BeanPropertyRowMapper
  5. 清除stoped impdp/expdp job的方法
  6. [译]几个步骤来删除SQL Server数据库用户
  7. PostgreSQL条件语句
  8. linux之dos2unix命令
  9. pycharm搭建spark环境
  10. 禁用”mgmtdb实例导致12c 应用psu失败