Linux 系统中使用 Smartctl 程序监视和分析硬盘状况

您所在的位置:网站首页 硬盘显示failed Linux 系统中使用 Smartctl 程序监视和分析硬盘状况

Linux 系统中使用 Smartctl 程序监视和分析硬盘状况

2023-03-15 09:26| 来源: 网络整理| 查看: 265

Smartctl (Self-Monitoring, Analysis and Reporting Technology) 是 UNIX 和 Linux 等操作系统中的命令行工具,用于执行 SMART 任务,如打印 SMART 自检和错误日志,启用和禁用 SMART 自动测试,设备自检。

Smartctl 在物理 Linux 服务器上很有用,可以检查智能磁盘的错误和坏扇区,并提取有关硬件 RAID 后面使用的磁盘的信息。

安装 Smartctl

对于 Ubuntu 系统

$ sudo apt-get install smartmontools

对于 Redhat / CentOS 系统

# yum install smartmontools 启动Smartctl 服务

对于 Ubuntu 系统

$ sudo /etc/init.d/smartmontools start

对于 CentOS / RHEL 系统

# service smartd start ; chkconfig smartd on (1) 检查硬盘是否开启 Smart Capability 功能 root@linuxtechi:~# smartctl -i /dev/sdb smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build) Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Model Family: Seagate Momentus 5400.6 Device Model: ST9320325AS Serial Number: 5VD2V59T LU WWN Device Id: 5 000c50 020a37ec4 Firmware Version: 0002BSM1 User Capacity: 320,072,933,376 bytes [320 GB] Sector Size: 512 bytes logical/physical Rotation Rate: 5400 rpm Device is: In smartctl database [for details use: -P show] ATA Version is: ATA8-ACS T13/1699-D revision 4 SATA Version is: SATA 2.6, 1.5 Gb/s Local Time is: Sun Nov 16 12:32:09 2014 IST SMART support is: Available - device has SMART capability. SMART support is: Enabled

Where ‘/dev/sdb’ is your hard disk. Last Two lines in above output shows that SMART capability is enable for the device.

(2) 启用硬盘的 Smart Capability root@linuxtechi:~# smartctl -s on /dev/sdb smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build) Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org === START OF ENABLE/DISABLE COMMANDS SECTION === SMART Enabled. (3) 禁用硬盘的 Smart Capability 功能 root@linuxtechi:~# smartctl -s off /dev/sdb smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build) Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org === START OF ENABLE/DISABLE COMMANDS SECTION === SMART Disabled. Use option -s with argument 'on' to enable it. (4) 显示硬盘 Smart 的详细信息 root@linuxtechi:~# smartctl -a /dev/sdb // For IDE drive root@linuxtechi:~# smartctl -a -d ata /dev/sdb // For SATA drive (5) 显示磁盘的整体健康状况 root@linuxtechi:~# smartctl -H /dev/sdb smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build) Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org === START OF READ SMART DATA SECTION === SMART overall-health self-assessment test result: PASSED Warning: This result is based on an Attribute check. Please note the following marginal Attributes: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 190 Airflow_Temperature_Cel 0x0022 067 045 045 Old_age Always In_the_past 33 (Min/Max 25/33) (6) 使用多头和空头选项测试硬盘驱动器。

Long Test

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

OR We can redirect test output to a log file , as shown below

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

Short Test

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

OR

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

注意: 短测试最多需要 2 分钟,而长测试没有时间限制,因为它读取和验证整个磁盘的每个段。

(7) 查看硬盘自检结果 root@linuxtechi:~# smartctl -l selftest /dev/sdb smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build) Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org === START OF READ SMART DATA SECTION === SMART Self-test log structure revision number 1 Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error # 1 Short offline Completed: read failure 90% 492 210841222 # 2 Extended offline Completed: read failure 90% 492 210841222 (8) 估算执行测试的时间 root@linuxtechi:~# smartctl -c /dev/sdb smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build) Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org === START OF READ SMART DATA SECTION === General SMART Values: Offline data collection status: (0x00) Offline data collection activity was never started. Auto Offline Data Collection: Disabled. Self-test execution status: ( 121) The previous self-test completed having the read element of the test failed. Total time to complete Offline data collection: ( 0) seconds. Offline data collection capabilities: (0x73) SMART execute Offline immediate. Auto Offline data collection on/off support. Suspend Offline collection upon new command. No Offline surface scan supported. Self-test supported. Conveyance Self-test supported. Selective Self-test supported. SMART capabilities: (0x0003) Saves SMART data before entering power-saving mode. Supports SMART auto save timer. Error logging capability: (0x01) Error logging supported. General Purpose Logging supported. Short self-test routine recommended polling time: ( 1) minutes. Extended self-test routine recommended polling time: ( 102) minutes. Conveyance self-test routine recommended polling time: ( 2) minutes. SCT capabilities: (0x103b) SCT Status supported. SCT Error Recovery Control supported. SCT Feature Control supported. SCT Data Table supported. (9) 显示磁盘的错误日志 root@linuxtechi:~# smartctl -l error /dev/sdb Sample Output smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build) Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org === START OF READ SMART DATA SECTION === SMART Error Log Version: 1 ATA Error Count: 5 CR = Command Register [HEX] FR = Features Register [HEX] SC = Sector Count Register [HEX] SN = Sector Number Register [HEX] CL = Cylinder Low Register [HEX] CH = Cylinder High Register [HEX] DH = Device/Head Register [HEX] DC = Device Command Register [HEX] ER = Error register [HEX] ST = Status register [HEX] Powered_Up_Time is measured from power on, and printed as DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes, SS=sec, and sss=millisec. It "wraps" after 49.710 days. Commands leading to the command that caused the error were: CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name -- -- -- -- -- -- -- -- ---------------- -------------------- 25 da 08 e7 e5 a5 4c 00 00:30:44.515 READ DMA EXT 25 da 08 df e5 a5 4c 00 00:30:44.514 READ DMA EXT 25 da 80 5f e5 a5 4c 00 00:30:44.502 READ DMA EXT 25 da f0 5f e6 a5 4c 00 00:30:44.496 READ DMA EXT 25 da 10 4f e6 a5 4c 00 00:30:44.383 READ DMA EXT 我的开源项目

酷瓜云课堂-在线教育解决方案

course-tencent-cloud(酷瓜云课堂 - gitee仓库)course-tencent-cloud(酷瓜云课堂 - github仓库)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3