硬盘监控和分析工具:Smartctl

硬盘监控和分析工具:Smartctl

Smartctl(S.M.A.R.T 自监控,分析和报告技术)是类Unix系统下实施SMART任务命令行套件或工具,它用于打印SMART自检和错误日志,启用并禁用SMRAT自动检测,以及初始化设备自检。

Smartctl对于Linux物理服务器十分有用,在这些服务器上,可以对智能磁盘进行错误检查,并将与硬件RAID相关的磁盘信息摘录下来。

在本帖中,我们将讨论smartctl命令的一些实用样例。如果你的Linux上海没有安装smartctl,请按以下步骤来安装。

安装 Smartctl

对于 Ubuntu


  1. $ sudo apt-get install smartmontools

对于 CentOS & RHEL


  1. # yum install smartmontools

启动Smartctl服务

对于 Ubuntu


  1. $ sudo /etc/init.d/smartmontools start

对于 CentOS & RHEL


  1. # service smartd start ; chkconfig smartd on

样例

样例:1 检查磁盘的 Smart 功能是否启用


  1. root@linuxtechi:~# smartctl -i /dev/sdb
  2. smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
  3. Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
  4.  
  5. === START OF INFORMATION SECTION ===
  6. Model Family: Seagate Momentus 5400.6
  7. Device Model: ST9320325AS
  8. Serial Number: 5VD2V59T
  9. LU WWN Device Id: 5 000c50 020a37ec4
  10. Firmware Version: 0002BSM1
  11. User Capacity: 320,072,933,376 bytes [320 GB]
  12. Sector Size: 512 bytes logical/physical
  13. Rotation Rate: 5400 rpm
  14. Device is: In smartctl database [for details use: -P show]
  15. ATA Version is: ATA8-ACS T13/1699-D revision 4
  16. SATA Version is: SATA 2.6, 1.5 Gb/s
  17. Local Time is: Sun Nov 16 12:32:09 2014 IST
  18. SMART support is: Available - device has SMART capability.
  19. SMART support is: Enabled

这里‘/dev/sdb’是你的硬盘。上面输出中的最后两行显示了SMART功能已启用。

样例:2 启用磁盘的 Smart 功能


  1. root@linuxtechi:~# smartctl -s on /dev/sdb
  2. smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
  3. Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
  4.  
  5. === START OF ENABLE/DISABLE COMMANDS SECTION ===
  6. SMART Enabled.

样例:3 禁用磁盘的 Smart 功能


  1. root@linuxtechi:~# smartctl -s off /dev/sdb
  2. smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
  3. Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
  4.  
  5. === START OF ENABLE/DISABLE COMMANDS SECTION ===
  6. SMART Disabled. Use option -s with argument 'on' to enable it.

样例:4 显示磁盘的详细 Smart 信息


  1. root@linuxtechi:~# smartctl -a /dev/sdb // For IDE drive
  2. root@linuxtechi:~# smartctl -a -d ata /dev/sdb // For SATA drive

样例:5 显示磁盘总体健康状况


  1. root@linuxtechi:~# smartctl -H /dev/sdb
  2. smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
  3. Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
  4.  
  5. === START OF READ SMART DATA SECTION ===
  6. SMART overall-health self-assessment test result: PASSED
  7. Warning: This result is based on an Attribute check.
  8. Please note the following marginal Attributes:
  9. ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
  10. 190 Airflow_Temperature_Cel 0x0022 067 045 045 Old_age Always In_the_past 33 (Min/Max 25/33)

样例:6 使用long和short选项测试硬盘

Long测试


  1. root@linuxtechi:~# smartctl --test=long /dev/sdb
  2. smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
  3. Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
  4.  
  5. === START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
  6. Sending command: "Execute SMART Extended self-test routine immediately in off-line mode".
  7. Drive command "Execute SMART Extended self-test routine immediately in off-line mode" successful.
  8. Testing has begun.
  9. Please wait 102 minutes for test to complete.
  10. Test will complete after Sun Nov 16 14:29:43 2014
  11.  
  12. Use smartctl -X to abort test.

或者,我们可以重定向测试输出到日志文件,就像下面这样


  1. root@linuxtechi:~# smartctl --test=long /dev/sdb > /var/log/long.text

Short测试


  1. root@linuxtechi:~# smartctl --test=short /dev/sdb
  2. smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
  3. Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
  4.  
  5. === START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
  6. Sending command: "Execute SMART Short self-test routine immediately in off-line mode".
  7. Drive command "Execute SMART Short self-test routine immediately in off-line mode" successful.
  8. Testing has begun.
  9. Please wait 1 minutes for test to complete.
  10. Test will complete after Sun Nov 16 12:51:45 2014
  11.  
  12. Use smartctl -X to abort test.


  1. root@linuxtechi:~# smartctl --test=short /dev/sdb > /var/log/short.text

注意:short测试将花费最多2分钟,而在long测试中没有时间限制,因为它会读取并验证磁盘的每个段。

样例:7 查看驱动器的自检结果


  1. root@linuxtechi:~# smartctl -l selftest /dev/sdb
  2. smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
  3. Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
  4.  
  5. === START OF READ SMART DATA SECTION ===
  6. SMART Self-test log structure revision number 1
  7. Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
  8. # 1 Short offline Completed: read failure 90% 492 210841222
  9. # 2 Extended offline Completed: read failure 90% 492 210841222

样例:8 计算测试时间估值


  1. root@linuxtechi:~# smartctl -c /dev/sdb
  2. smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
  3. Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
  4.  
  5. === START OF READ SMART DATA SECTION ===
  6. General SMART Values:
  7. Offline data collection status: (0x00) Offline data collection activity
  8. was never started.
  9. Auto Offline Data Collection: Disabled.
  10. Self-test execution status: ( 121) The previous self-test completed having
  11. the read element of the test failed.
  12. Total time to complete Offline
  13. data collection: ( 0) seconds.
  14. Offline data collection
  15. capabilities: (0x73) SMART execute Offline immediate.
  16. Auto Offline data collection on/off support.
  17. Suspend Offline collection upon new
  18. command.
  19. No Offline surface scan supported.
  20. Self-test supported.
  21. Conveyance Self-test supported.
  22. Selective Self-test supported.
  23. SMART capabilities: (0x0003) Saves SMART data before entering
  24. power-saving mode.
  25. Supports SMART auto save timer.
  26. Error logging capability: (0x01) Error logging supported.
  27. General Purpose Logging supported.
  28. Short self-test routine
  29. recommended polling time: ( 1) minutes.
  30. Extended self-test routine
  31. recommended polling time: ( 102) minutes.
  32. Conveyance self-test routine
  33. recommended polling time: ( 2) minutes.
  34. SCT capabilities: (0x103b) SCT Status supported.
  35. SCT Error Recovery Control supported.
  36. SCT Feature Control supported.
  37. SCT Data Table supported.

样例:9 显示磁盘错误日志


  1. root@linuxtechi:~# smartctl -l error /dev/sdb
  2.  
  3. Sample Output
  4.  
  5. smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
  6. Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
  7.  
  8. === START OF READ SMART DATA SECTION ===
  9. SMART Error Log Version: 1
  10. ATA Error Count: 5
  11. CR = Command Register [HEX]
  12. FR = Features Register [HEX]
  13. SC = Sector Count Register [HEX]
  14. SN = Sector Number Register [HEX]
  15. CL = Cylinder Low Register [HEX]
  16. CH = Cylinder High Register [HEX]
  17. DH = Device/Head Register [HEX]
  18. DC = Device Command Register [HEX]
  19. ER = Error register [HEX]
  20. ST = Status register [HEX]
  21. Powered_Up_Time is measured from power on, and printed as
  22. DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
  23. SS=sec, and sss=millisec. It "wraps" after 49.710 days.
  24.  
  25. Commands leading to the command that caused the error were:
  26. CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
  27. -- -- -- -- -- -- -- -- ---------------- --------------------
  28. 25 da 08 e7 e5 a5 4c 00 00:30:44.515 READ DMA EXT
  29. 25 da 08 df e5 a5 4c 00 00:30:44.514 READ DMA EXT
  30. 25 da 80 5f e5 a5 4c 00 00:30:44.502 READ DMA EXT
  31. 25 da f0 5f e6 a5 4c 00 00:30:44.496 READ DMA EXT
  32. 25 da 10 4f e6 a5 4c 00 00:30:44.383 READ DMA EXT

原文发布时间:2015-01-16

本文来自云栖合作伙伴“linux中国”

时间: 2024-07-30 11:53:26

硬盘监控和分析工具:Smartctl的相关文章

硬盘监控:SMART smartd smartctl之间的关系

问题描述 硬盘监控:SMART smartd smartctl之间的关系 smartd是一个守护进程(一个帮助程序),它能监视拥有自我监视,分析和汇报技术(Self-Monitoring, Analysis, and Reporting Technology - SMART)的硬盘. smartctl是一个工具,也可以查询磁盘的状态. 那么有个疑问SMART特性.smartd和smartctl之间的关系是什么呢,具体讲: 1. 首先硬盘本身需要支持SMART特性,这个特性的支持是否一定需要sma

Linux性能分析工具汇总合集

出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章.本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面.如果没有完善的计算机系统知识,网络知识和操作系统知识,文档中的工具,是不可能完全掌握的,另外对系统性能分析和优化是一个长期的系列. 本文档主要是结合Linux 大牛,Netflix 高级性能架构师 Brendan Gregg 更新 Linux 性能调优工具的博文,搜集Linux系统性能优化相关文章整理后的一篇综合性文章,主要是结合博文对涉及到的原理和性

性能分析工具的使用

 性能规划器的使用     性能规划器(Capacity Planner)是集成在Oracle 企业管理包(Oracle Enterprise Management Packs)中用来对反映系统性能的参数进行收集的工具,可以指定要收集的数据.收集数据的频率和数据装载到Oracle Capacity Planner历史记录数据库的时间.这样便于管理员对一定时间范围内的系统性能参数进行比较分析.    1. 性能规划器的设置    (1)在服务器的桌面选择[开始]/[程序]/[Oracle-OraH

PCoIP远程访问协议的监控与分析

之前我们提到了PCoIP的会话统计功能,但是很多朋友和同事发邮件问我,除了使用windows自带的性能查看器来查看会话信息之外,是否有一些更易用的方法,让那些非技术的用户可以配合IT人员一同完成远程访问时的分析. 使用性能查看器分析PCoIP会话信息 通过google,我找到了一款由VMware联合Teradici (PCoIP协议的联合开发商)于近期发布了的PCOIP会话日志统计分析工具,通过此工具IT管理员可以方便的监控和分析用户体验方面的问题.在以往没有这样的专业工具时,管理员可能依靠经验

GA/百度统计/Piwik:网站分析工具的Cookie设置和访次切分规则

目前主流的网站分析工具一般都是通过JavaScript检测的方式进行访问监控的,包括商业产品(Omniture).免费产品(GA/百度统计/CNZZ).开源产品(Piwik).虽然说原理大致相同,但是不同的工具在一些基础的统计方法上方式还是有一些微妙的差别.譬如,你在使用多种网站分析工具对同一个网站进行监控时,经常会发现不同的工具给出的Visits总是会有差异(绝对数量有差异,但趋势一致).即使理论上所有外部条件都一样,这种差异也是会存在的.这是因为不同网站分析工具在Cookie的使用和访次切分

虚拟机常用的内存查看与分析工具

内存查看与分析工具,下面是日常监控可以使用的一些工具, 在调试时应用比较多的是堆栈信息,查看这篇文章: Java Thread Dump 性能分析 gc日志输出 在jvm启动参数中加入 1 2 3 4 -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTimestamps -XX:+PrintGCApplicationStopedTime jvm将会按照这些参数顺序输出gc概要信息,详细信息,gc时间信息,gc造成的应用暂停时间. 如果在刚才的参数后面加入

OSX 安装磁盘分析工具ncdu

ncdu是磁盘目录占用空间分析工具,支持了很多系统平台, 是du的 curses-based 版本.代理事用 c写的.官网地址https://dev.yorhel.nl/ncdu 安装 OSX用brew安装 brew install ncdu brew默认把可执行文件放在在/usr/local/bin/目录,你也可以在这里看到ncdu. 使用 ncdu -h -h This help message -q Quiet mode, refresh interval 2 seconds -v Pri

Java开源运行分析工具(转)

  FProfiler  FProfiler是一个非常快的Java profiler.它利用BCEL和log4j来记录每个方法从开始到结尾的日记.FProfiler可以用来在你的应用程序,Servlet,Applet...中找出hotspots. 更多FProfiler信息   JRat  JRat是一个Java Runtime分析工具包.它的目的是让开发者更好的明白Java程序动行时的状态.JRat包括但并不只局限于性能剖析. 更多JRat信息   EJP  EJP(Extensible Ja

WEB前端性能分析--工具篇

在线网站类: WebPageTest 说明: 在线的站点性能评测网站,地址http://www.webpagetest.org/ 补充: 其实这网站也是个开源项目,所以支持自己搭建一个内部的测试站点 ShowSlow 说明: showslow是yslow的数据收集与展示平台http://www.showslow.com/,它是一个开源的php项目,可以用来与firefox的yslow插件.page speed插件或者dynatrace通信,收集插件或程序所发送过来的信息并集中展示.只需要在dyn