微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > Linux磁盘检测工具smartctl的使用和分析

Linux磁盘检测工具smartctl的使用和分析

时间:10-08 来源:互联网 点击:

1 编写目的

在如今大数据的环境中,磁盘的性能和稳定性是非常重要的一个业务因素。在Linux系统中,smartctl是较为常用的磁盘检测工具。

本文基于Linux系统中smartctl进行分析,目的在于说明相关工具的使用,并对SMART(Self-Monitoring, Analysis and Reporting Technology)做一些分析。

2 术语、定义和缩略语

2.1 术语、定义

本文使用的专用术语、定义,见表2.1。

表2.1

术语/定义含义

SMARTSelf-Monitoring, Analysis and Reporting Technology

2.2 缩略语

本文件应用了以下缩略语,见表2.2。

表2.2

缩略语原 文中文含义

SMARTSelf-Monitoring, Analysis and Reporting Technology自监察分析及报告技术

3 smartctl

smartctl是smartmontools-5.38-2.el5 rpm中的一个命令行工具,可以执行SMART任务:打印SMART self-test和error报告,开启或关闭SMART自动测试,触发磁盘self-test。

语法:

smartctl [options] device

device:

/dev/hd[a-t] IDE/ATA 磁盘

/dev/sd[a-z] SCSI devices磁盘。注意,对于SATA磁盘,由于是通过libata

库来访问,所以要增加参数-d ata。

3.1 [options]:

参数按照不同的类型来分类。

3.1.1 显示信息 参数:

-h 帮助信息

-V 版本信息

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

-a 打印磁盘所有的SMART信息

3.1.2 运行时行为 参数:

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

3.1.3 SMART功能开关 参数:

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

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

否有缺陷。

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

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

3.1.5 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模式下运行的测试。

3.2 常用example

3.2.1 查看当前整体健康状态

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

smartctl -H /dev/sda

3.2.2 查看所有信息

打印/dev/sda所有的SMART信息。

martctl -a /dev/sda

相当于依次执行:

smartctl –i /dev/sda

smartctl -c /dev/sda

smartctl -A /dev/sda

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top