linux系统下smartctl命令监测磁盘健康

本文发布时间: 2019-Mar-22
smartctl --allsmartctl 磁盘健康监测程序SMART是一种磁盘自我分析检测技术,早在90年代末就基本得到了普及每一块硬盘(包括IDE、SCSI)在运行的时候,都会将自身的若干参数记录下来这些参数包括型号、容量、温度、密度、扇区、寻道时间、传输、误码率等硬盘运行了几千小时后,很多内在的物理参数都会发生变化某一参数超过报警阈值,则说明硬盘接近损坏此时硬盘依然在工作,如果用户不理睬这个报警继续使用那么硬盘将变得非常不可靠,随时可能故障SMART是和主板BIOS上相应功能配合的要使用SMART,必须先进入到主板BIOS设置里边启动相关设置一般从Pentium2级别起的主板,都支持SMARTBIOS启动以后,就是操作系统级别的事情了.很遗憾,Windows没有内置SMART相关工具(需要安装第三方工具软件)好在Linux上很早就有了SMART支持了.如果把Linux装在VMware等虚拟机上,在系统启动时候可以看到有个服务启动报错:smartd这个服务器就是smart的daemon进程(因为vmware虚拟机的硬盘不支持SMART,所以报错)首先通过dmesg工具,确认一下硬盘的设备符号hdb中的h代表IDE,如果显示为sdb,则代表SATA和SCSI最后一个字幕b代表Primary总线,第二块硬盘即Slave位置-i 指定设备-d 指定设备类型,例如:ata, scsi, marvell, sat, 3ware,N-a 或A 显示所有信息-l 指定日志的类型,例如:TYPE: error, selftest, selective, directory,background, scttemp[sts,hist]-H 查看硬盘健康状态-t short 后台检测硬盘,消耗时间短-t long 后台检测硬盘,消耗时间长-C -t short 前台检测硬盘,消耗时间短-C -t long 前台检测硬盘,消耗时间长-X 中断后台检测硬盘-l selftest 显示硬盘检测日志确认硬盘是否打开了SMART支持smartctl -i /dev/hdb[root@station ~]# smartctl -i /dev/sdbsmartctl 5.39.1 2010-01-28 r3054 [i386-redhat-linux-gnu] (local build)Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.netDevice: SEAGATE ST373453LC Version: 0006Serial number: 3HW07M7K00007340AX57Device type: diskTransport protocol: Parallel SCSI (SPI-4)Local Time is: Tue Nov 6 16:54:06 2012 CSTDevice supports SMART and is EnabledTemperature Warning Enabled如果看到不支持这需要我们手动开启支持[root@station ~]#smartctl --smart=on --offlineauto=on --saveauto=on /dev/sdb //手动开启smart命令smartctl 5.39.1 2010-01-28 r3054 [i386-redhat-linux-gnu] (local build)Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.netInformational Exceptions (SMART) enabledTemperature warning enabled[root@station ~]# smartctl -H /dev/sdb //磁盘健康状况查看smartctl 5.39.1 2010-01-28 r3054 [i386-redhat-linux-gnu] (local build)Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.netSMART Health Status: OK注意后边的结果:这表示硬盘健康状态良好如果这里显示Failure,那么最好立刻给服务器更换硬盘SMART只能报告磁盘已经不再健康,但是报警后还能继续运行多久是不确定的通常,SMART报警参数是有预留的,磁盘报警后,不会当场坏掉,一般能坚持一段时间有的硬盘SMART报警后还继续跑了好几年,有的硬盘SMART报错后几天就坏了但是一旦出现报警,侥幸心里是万万不能的……简单用法:1、smartctl -a<device> 检查该设备是否已经打开SMART技术。2、smartctl -s on <device> 如果没有打开SMART技术,使用该命令打开SMART技术。3、smartctl -t short <device> 后台检测硬盘,消耗时间短; smartctl -t long <device> 后台检测硬盘,消耗时间长; smartctl -C -t short <device> 前台检测硬盘,消耗时间短; smartctl -C -t long <device>前台检测硬盘,消耗时间长。其实就是利用硬盘SMART的自检程序。4、smartctl -X <device>中断后台检测硬盘。5、smartctl -l selftest <device>显示硬盘检测日志。6、smartctl -l error <device> 显示硬盘错误汇总。本文出自 “超人归来” 博客


(以上内容不代表本站观点。)
---------------------------------
本网站以及域名有仲裁协议。
本網站以及域名有仲裁協議。

2024-Mar-04 02:11pm
栏目列表