Bootstrap

smartctl 命令详解

smartctl 命令详解

定义

smart(Self-Monitoring,Analysis and Reporting Technology)是常用的磁盘检查工具
smartctl:smartd由kernel-utils包缺省安装。
用命令 rpm -ql kernel-utils 可以列出kernel-utils包中的文件
它有一个守护进程(一个帮助程序)smartd,它能监视拥有自我监视,分析和汇报技术(Self-Monitoring, Analysis, and Reporting Technology - SMART)的硬盘。

安装

yum install smartmontools

验证磁盘是否支持smartctl

smartctl -i /dev/sda 
输入后其中一行如下,即不支持
SMART support is: Enabled

使磁盘支持smart

smartctl --smart=on --offlineauto=on --saveauto=on /dev/sda1
各参数含义:
	-s VALUE, --smart=VALUE
	Enable/disable SMART on device (on/off)

	-o VALUE, --offlineauto=VALUE (ATA)
	Enable/disable automatic offline testing on device (on/off)

	-S VALUE, --saveauto=VALUE (ATA)
	Enable/disable Attribute autosave on device (on/off)

使用

格式:smartctl [选项] /dev/[磁盘]
选项:
-i 显示设备的身份(基本)信息
-d 指定设备类型
	例如:ata, scsi, marvell, sat, 3ware,N
-a == -A == --all 显示所有信息
	基本上,SMART属性表列出了制造商在硬盘中定义好的属性值,以及这些属性相关的故障阈值。这个表由驱动固件自动生成和更新。
		ID: 属性值,
			通常是1到255之间的十进制数字
		ATTRIBUTE_NAME:制造商定义的属性值
		VALUE:这是表格中最重要的信息之一,
			代表给定属性的标准化值,在1到253之间。253意味着最好情况,1意味着最坏情况。取决于属性和制造商,初始化VALUE可以被设置成100或200.
		FLAG:属性操作标志
		THRESH: 在报告硬盘FAILED状态前,WORST可以允许的最小值
		TYPE: 属性的类型(Pre-fail或Oldage)。
			Pre-fail类型的属性可被看成一个关键属性,表示参与磁盘的整体SMART健康评估(PASSED/FAILED)。如果任何Pre-fail类型的属性故障,那么可视为磁盘将要发生故障。另一方面,Oldage类型的属性可被看成一个非关键的属性(如正常的磁盘磨损),表示不会使磁盘本身发生故障。
		UPDATED: 表示属性的更新频率。
			Offline代表磁盘上执行离线测试的时间。
		WHEN_FAILED: 
			如果VALUE小于等于THRESH,会被设置成“FAILING_NOW”;如果WORST小于等于THRESH会被设置成“In_the_past”;如果都不是,会被设置成“-”。在“FAILING_NOW”情况下,需要尽快备份重要文件,特别是属性是Pre-fail类型时。“In_the_past”代表属性已经故障了,但在运行测试的时候没问题。“-”代表这个属性从没故障过。
		RAW_VALUE: 制造商定义的原始值,从VALUE派生。
-l 指定日志的类型
	例如:TYPE: error, selftest, selective, directory,background, scttemp[sts,hist]
-H 查看硬盘健康状态
	PASSED 表示硬盘健康状态良好
	FAILURE 表示硬盘存在问题
-t TEST== --test=TEST [硬盘]
	TEST可取值:offline,short,long,conveyance,select,pending等
	-t short 后台检测硬盘,消耗时间短
	-t long 后台检测硬盘,消耗时间长
	-C -t short 前台检测硬盘,消耗时间短
	-C -t long 前台检测硬盘,消耗时间长
-X 中断后台检测硬盘
-l selftest 显示硬盘检测日志(也可用于看检测硬盘进度
	-l error 显示硬盘历史错误信息
磁盘:
选择需要查看的磁盘,推荐使用绝对地址
例如/dev/sda

通过内置功能实现自动发邮件通知:

1.编辑配置文件:
	vi /etc/smartd.conf
2.这个配置文件中大部分可能是注释掉的说明,只需要和当前硬盘相关的一行写入正确即可:
	/dev/[硬盘] -H -m [邮箱]
	上边的配置表示smartd以静默状态工作,当SMART中报告PASSED的时候不理睬
	一旦出现Failure,立刻用邮件通知用户指定的邮箱
3.修改配置后重启服务:
	/etc/init.d/smartd
;