zoukankan      html  css  js  c++  java
  • 检測磁盘驱动的健康程度SMART

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


  • 相关阅读:
    Asp.net弹出浏览器客户端确认对话框代码 Carlwave
    VS 2005 与SQL Server 2005整合优势在哪里?(from csdn.net) Carlwave
    如何让搜索引擎收录我的站点 Carlwave
    超强扩展性的DNNDotNetNuke模块功能分类列表(from 中国DNN) Carlwave
    DotNetNuke命名空间概述 Carlwave
    Most Popular Questions and Answers on ASP.NET Whidbey(from asp.net forums,write by ASP.NET Team) Carlwave
    火箭官方宣告麦蒂缺阵五周 季后赛前景蒙上阴影 Carlwave
    asp.net有效使用缓存(转) Carlwave
    《Business Rules Engine Overview》《业务规则引擎概述》write by Mark Kamoski Carlwave
    中国详细省市县自治区名称列表(含access数据库和sql2000备份数据库) Carlwave
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/7220838.html
Copyright © 2011-2022 走看看