SMART,全称为Self-Monitoring, Analysis, and Reporting Technology(自我监测、分析和报告技术),是一种内置在计算机硬盘(包括传统机械硬盘和固态硬盘)中的技术。SMART 技术的主要目的是监控硬盘的健康状态、性能和可用性,以提前检测和预防硬盘故障。
下面来介绍SMART的主要作用,以及对一份完整的 SMART 报告的逐行解释。
SMART 的主要特征和功能
- ⭕健康监测:SMART 技术能够检测硬盘的各种健康指标,例如温度、电源循环次数、擦除计数、重新分配扇区计数等。这些指标可以帮助用户了解硬盘的健康状况。
- ⭕错误检测:SMART 可以检测和报告硬盘上的错误,包括坏扇区、ECC(纠错码)错误、CRC(循环冗余校验)错误等。这些错误可能是硬盘问题的早期迹象。
- ⭕性能监测:SMART 技术还可以监测硬盘的性能参数,如旋转速度、寻道时间、数据传输速度等。这有助于用户了解硬盘的性能是否下降。
- ⭕自动警报:当 SMART 技术检测到硬盘出现潜在问题或健康状况下降到预定的阈值时,它可以生成警报,通常以硬盘监控软件或 BIOS 中的警报方式呈现。这有助于用户及时采取措施,如备份数据或更换硬盘。
- ⭕预测性维护:SMART 技术使计算机系统能够进行预测性维护。通过监测硬盘的健康状态,系统管理员可以计划硬盘维护或更换硬盘,以避免硬盘故障导致数据丢失或系统宕机。
- ⭕历史数据:SMART 技术通常会记录硬盘的历史数据,允许用户查看过去的健康状况和问题。这些数据对于分析硬盘的性能和可靠性非常有用。
需要注意的是,SMART 技术虽然可以提供有用的信息,但它并不是绝对可靠的,因为它主要是基于硬盘本身的自我报告。某些问题可能不会被 SMART 检测到,因此不应仅仅依赖 SMART 来评估硬盘的状态。
当 SMART 报告潜在问题时,通常需要进一步的检查和评估,可能需要使用专业的硬盘测试工具来确认问题。
完整SMART报告的逐行参数解释
[root@ns537749 ~]# smartctl -a /dev/sda // 运行smartctl工具以获取/dev/sda设备的SMART信息 smartctl 7.0 2018-12-30 r4883 [x86_64-linux-5.4.242-1.el7.elrepo.x86_64] (local build) // 显示smartctl工具的版本信息,包括版本号、构建日期等 Copyright (C) 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org // 显示smartctl工具的版权信息和开发者信息 === START OF INFORMATION SECTION === // SMART信息开始的标记 Model Family: Intel 730 and DC S35x0/3610/3700 Series SSDs // 显示硬盘所属的型号系列 Device Model: INTEL SSDSC2BB480G6 // 显示硬盘的型号 Serial Number: PHWA628000BA480FGN // 显示硬盘的序列号 LU WWN Device Id: 5 5cd2e4 04c7f03a7 // 显示硬盘的LU WWN设备标识 Firmware Version: G2010150 // 显示硬盘的固件版本 User Capacity: 480,103,981,056 bytes [480 GB] // 显示用户可用的存储容量,以字节和GB表示 Sector Sizes: 512 bytes logical, 4096 bytes physical // 显示硬盘的扇区大小,包括逻辑扇区和物理扇区大小 Rotation Rate: Solid State Device // 指示硬盘是固态硬盘(SSD) Form Factor: 2.5 inches // 显示硬盘的物理尺寸 Device is: In smartctl database [for details use: -P show] // 表明硬盘信息已在smartctl数据库中,可以使用-P show来获取更多详细信息 ATA Version is: ACS-2 T13/2015-D revision 3 // 显示ATA版本信息 SATA Version is: SATA 2.6, 6.0 Gb/s (current: 6.0 Gb/s) // 显示SATA版本信息,包括当前传输速率 Local Time is: Mon Oct 16 20:32:11 2023 CST // 显示本地时间 SMART support is: Available - device has SMART capability. // 表明硬盘支持SMART功能 SMART support is: Enabled // 表示SMART功能已启用 === START OF READ SMART DATA SECTION === // 这一行标志着SMART数据读取部分的开始 SMART overall-health self-assessment test result: PASSED // 显示SMART自身评估测试的结果,它通过了测试,状态为“PASSED”表示正常。 General SMART Values: // 一般的SMART数值: Offline data collection status: (0x02) Offline data collection activity // 离线数据收集状态:(0x02) 表示离线数据收集已经完成 was completed without error. // 已经完成并且没有错误 Auto Offline Data Collection: Disabled. // 离线自动数据收集:已禁用 Self-test execution status: ( 0) The previous self-test routine completed // 自测执行状态:( 0) 表示之前的自测例程已经完成 without error or no self-test has ever // 没有错误或者从未执行自测 been run. // 例程 Total time to complete Offline data collection: ( 2) seconds. // 完成离线数据收集的总时间:( 2) 秒 Offline data collection capabilities: (0x79) SMART execute Offline immediate. // 离线数据收集能力:(0x79) 可以立即执行SMART数据收集 No Auto Offline data collection support. // 不支持离线自动数据收集 Suspend Offline collection upon new command. // 收到新命令时暂停离线数据收集 Offline surface scan supported. // 支持离线表面扫描 Self-test supported. // 支持自测 Conveyance Self-test supported. // 支持传输自测 Selective Self-test supported. // 支持选择性自测 SMART capabilities: (0x0003) Saves SMART data before entering // SMART功能:(0x0003) 在进入省电模式前保存SMART数据 power-saving mode. // 电源节省模式 Supports SMART auto save timer. // 支持SMART自动保存定时器 Error logging capability: (0x01) Error logging supported. // 错误日志能力:(0x01) 支持错误日志记录 General Purpose Logging supported. // 支持通用目的日志记录 Short self-test routine recommended polling time: ( 1) minutes. // 建议短自测例程轮询时间:( 1) 分钟 Extended self-test routine recommended polling time: ( 2) minutes. // 建议扩展自测例程轮询时间:( 2) 分钟 Conveyance self-test routine recommended polling time: ( 2) minutes. // 建议传输自测例程轮询时间:( 2) 分钟 SCT capabilities: (0x003d) SCT Status supported. // SCT功能:(0x003d) 支持SCT状态 SCT Error Recovery Control supported. // SCT错误恢复控制支持 SCT Feature Control supported. // SCT特性控制支持 SCT Data Table supported. // SCT数据表支持 SMART Attributes Data Structure revision number: 315 // SMART 属性数据结构的修订版本号:315 Vendor Specific SMART Attributes with Thresholds: // 具有阈值的厂商特定 SMART 属性: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE // 属性 ID,属性名称,标志,当前值,最差值,阈值,类型,更新,失败时,原始值 5 Reallocated_Sector_Ct 0x0032 100 100 000 Old_age Always - 0 // 属性 ID 5:重新分配扇区计数,当前值 100,最差值 100,阈值 0,类型 Old_age,一直有效,状态 - 正常,原始值 0 // 重新分配扇区计数指示了已经发生的扇区重新分配的次数,当前值为 0 表示没有重新分配发生。 9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 58826 // 属性 ID 9:通电时间,当前值 100,最差值 100,阈值 0,类型 Old_age,一直有效,状态 - 正常,原始值 58826 // 通电时间表示设备从首次通电以来的运行时间,单位是小时。 12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 262 // 属性 ID 12:通电周期计数,当前值 100,最差值 100,阈值 0,类型 Old_age,一直有效,状态 - 正常,原始值 262 // 通电周期计数指示设备被重新启动的次数。 170 Available_Reservd_Space 0x0033 100 100 010 Pre-fail Always - 0 // 属性 ID 170:可用保留空间,当前值 100,最差值 100,阈值 10,类型 Pre-fail,一直有效,状态 - 正常,原始值 0 // 可用保留空间指示设备中用于代替坏扇区的保留空间的百分比,当前值为 0 表示保留空间充足。 171 Program_Fail_Count 0x0032 100 100 000 Old_age Always - 0 // 属性 ID 171:编程失败计数,当前值 100,最差值 100,阈值 0,类型 Old_age,一直有效,状态 - 正常,原始值 0 // 编程失败计数指示了发生在编程操作中的失败次数,当前值为 0 表示没有编程失败。 172 Erase_Fail_Count 0x0032 100 100 000 Old_age Always - 0 // 属性 ID 172:擦除失败计数,当前值 100,最差值 100,阈值 0,类型 Old_age,一直有效,状态 - 正常,原始值 0 // 擦除失败计数指示了发生在擦除操作中的失败次数,当前值为 0 表示没有擦除失败。 174 Unsafe_Shutdown_Count 0x0032 100 100 000 Old_age Always - 112 // 属性 ID 174:不安全的关机计数,当前值 100,最差值 100,阈值 0,类型 Old_age,一直有效,状态 - 正常,原始值 112 // 不安全的关机计数表示设备发生的不正常关机次数,当前值为 112。 175 Power_Loss_Cap_Test 0x0033 100 100 010 Pre-fail Always - 6050 (336 4918) // 属性 ID 175:电源丢失测试,当前值 100,最差值 100,阈值 10,类型 Pre-fail,一直有效,状态 - 正常,原始值 6050(336 4918) // 电源丢失测试指示了设备的电源丢失情况,当前值为 6050,其中(336 4918)是未知数据。 183 SATA_Downshift_Count 0x0032 100 100 000 Old_age Always - 0 // 属性 ID 183:SATA 降速计数,当前值 100,最差值 100,阈值 0,类型 Old_age,一直有效,状态 - 正常,原始值 0 // SATA 降速计数指示了SATA接口的速度降低次数,当前值为 0。 184 End-to-End_Error 0x0033 100 100 090 Pre-fail Always - 0 // 属性 ID 184:端到端错误,当前值 100,最差值 100,阈值 90,类型 Pre-fail,一直有效,状态 - 正常,原始值 0 // 端到端错误指示了数据在传输过程中的错误,当前值为 0,状态正常。 187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0 // 属性 ID 187:报告的不可纠正错误,当前值 100,最差值 100,阈值 0,类型 Old_age,一直有效,状态 - 正常,原始值 0 // 报告的不可纠正错误指示了无法自动修复的错误次数,当前值为 0。 190 Temperature_Case 0x0022 065 065 000 Old_age Always - 35 (Min/Max 32/39) // 属性 ID 190:温度(外壳),当前值 65,最差值 65,阈值 0,类型 Old_age,一直有效,状态 - 正常,原始值 35(最小/最大 32/39) // 温度(外壳)表示设备的外壳温度,当前值为 65 度,状态正常,原始值为 35,最小和最大值分别为 32 和 39 度。 192 Unsafe_Shutdown_Count 0x0032 100 100 000 Old_age Always - 112 // 属性 ID 192:不安全的关机计数,当前值 100,最差值 100,阈值 0,类型 Old_age,一直有效,状态 - 正常,原始值 112 // 不安全的关机计数表示设备发生的不正常关机次数,当前值为 112。 194 Temperature_Internal 0x0022 100 100 000 Old_age Always - 35 // 属性 ID 194:温度(内部),当前值 100,最差值 100,阈值 0,类型 Old_age,一直有效,状态 - 正常,原始值 35 // 温度(内部)表示设备内部的温度,当前值为 35 度,状态正常。 197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0 // 属性 ID 197:当前等待扇区,当前值 100,最差值 100,阈值 0,类型 Old_age,一直有效,状态 - 正常,原始值 0 // 当前等待扇区指示了当前等待被重新分配的扇区数,当前值为 0,状态正常。 199 CRC_Error_Count 0x003e 100 100 000 Old_age Always - 0 // 属性 ID 199:CRC 错误计数,当前值 100,最差值 100,阈值 0,类型 Old_age,一直有效,状态 - 正常,原始值 0 // CRC 错误计数指示了发生的循环冗余校验错误次数,当前值为 0,状态正常。 225 Host_Writes_32MiB 0x0032 100 100 000 Old_age Always - 4949724 // 属性 ID 225:主机写入 32MiB,当前值 100,最差值 100,阈值 0,类型 Old_age,一直有效,状态 - 正常,原始值 4949724 // 主机写入 32MiB 指示了主机对设备的写入操作次数,当前值为 4949724。 226 Workld_Media_Wear_Indic 0x0032 100 100 000 Old_age Always - 65535 // 属性 ID 226:工作负荷-媒体耗损指示,当前值 100,最差值 100,阈值 0,类型 Old_age,一直有效,状态 - 正常,原始值 65535 // 工作负荷-媒体耗损指示指示了设备的媒体耗损情况,当前值为 65535,状态正常。 227 Workld_Host_Reads_Perc 0x0032 100 100 000 Old_age Always - 65535 // 属性 ID 227:工作负荷-主机读取百分比,当前值 100,最差值 100,阈值 0,类型 Old_age,一直有效,状态 - 正常,原始值 65535 // 工作负荷-主机读取百分比指示了主机的读取操作所占的百分比,当前值为 65535,状态正常。 228 Workload_Minutes 0x0032 100 100 000 Old_age Always - 65535 // 属性 ID 228:工作负荷分钟,当前值 100,最差值 100,阈值 0,类型 Old_age,一直有效,状态 - 正常,原始值 65535 // 工作负荷分钟表示设备的工作负荷所占用的时间,当前值为 65535,状态正常。 232 Available_Reservd_Space 0x0033 100 100 010 Pre-fail Always - 0 // 属性 ID 232:可用保留空间,当前值 100,最差值 100,阈值 10,类型 Pre-fail,一直有效,状态 - 正常,原始值 0 // 可用保留空间指示了设备中用于代替坏扇区的保留空间的百分比,当前值为 0 表示保留空间充足。 233 Media_Wearout_Indicator 0x0032 082 082 000 Old_age Always - 0 // 属性 ID 233:媒体耗损指示,当前值 82,最差值 82,阈值 0,类型 Old_age,一直有效,状态 - 正常,原始值 0 // 媒体耗损指示了设备的媒体耗损程度,当前值为 82,状态正常。 234 Thermal_Throttle 0x0032 100 100 000 Old_age Always - 0/0 // 属性 ID 234:热控制,当前值 100,最差值 100,阈值 0,类型 Old_age,一直有效,状态 - 正常,原始值 0/0 // 热控制指示了设备的热控制情况,当前值为 0/0,状态正常。 241 Host_Writes_32MiB 0x0032 100 100 000 Old_age Always - 4949724 // 属性 ID 241:主机写入 32MiB,当前值 100,最差值 100,阈值 0,类型 Old_age,一直有效,状态 - 正常,原始值 4949724 // 主机写入 32MiB 指示了主机对设备的写入操作次数,当前值为 4949724。 242 Host_Reads_32MiB 0x0032 100 100 000 Old_age Always - 6271054 // 属性 ID 242:主机读取 32MiB,当前值 100,最差值 100,阈值 0,类型 Old_age,一直有效,状态 - 正常,原始值 6271054 // 主机读取 32MiB 指示了主机的读取操作次数,当前值为 6271054。 243 NAND_Writes_32MiB 0x0032 100 100 000 Old_age Always - 9108468 // 属性 ID 243:NAND 写入 32MiB,当前值 100,最差值 100,阈值 0,类型 Old_age,一直有效,状态 - 正常,原始值 9108468 // NAND 写入 32MiB 指示了设备的 NAND 写入操作次数,当前值为 9108468。 SMART Error Log Version: 1 // SMART错误日志版本:1 No Errors Logged // 没有错误日志记录 SMART Self-test log structure revision number 1 // SMART自测日志结构的修订版本号:1 Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error // 测试编号,测试描述,状态,剩余时间,寿命(小时),第一个错误的逻辑块地址 # 1 Short offline Completed without error 00% 55122 - // 测试编号1,短离线自测,已完成,没有错误,剩余时间0%,寿命55122小时,无第一个错误 # 2 Short offline Completed without error 00% 55120 - // 测试编号2,短离线自测,已完成,没有错误,剩余时间0%,寿命55120小时,无第一个错误 SMART Selective self-test log data structure revision number 1 // SMART选择性自测日志数据结构的修订版本号:1 SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS // 范围,最小逻辑块地址,最大逻辑块地址,当前测试状态 1 431174464005 7205814418112774144 Not_testing // 范围1,最小逻辑块地址431174464005,最大逻辑块地址7205814418112774144,未测试 2 360287970196191332 228030081413644 Not_testing // 范围2,最小逻辑块地址360287970196191332,最大逻辑块地址228030081413644,未测试 3 7205816209114136576 360287970189639780 Not_testing // 范围3,最小逻辑块地址7205816209114136576,最大逻辑块地址360287970189639780,未测试 4 431174464171 7205815118192443392 Not_testing // 范围4,最小逻辑块地址431174464171,最大逻辑块地址7205815118192443392,未测试 5 360287970189639780 64202848875182 Not_testing // 范围5,最小逻辑块地址360287970189639780,最大逻辑块地址64202848875182,未测试 Selective self-test flags (0x0): // 选择性自测标志(0x0): After scanning selected spans, do NOT read-scan remainder of disk. // 在扫描选定的范围后,不要读取扫描剩余的磁盘。 If Selective self-test is pending on power-up, resume after 0 minute delay. // 如果选择性自测在上电时挂起,0分钟延迟后继续。
在这个示例中,所有 SMART 属性的当前值和最差值都是100,这是一个很好的迹象,表示硬盘目前没有出现问题。
你还可以注意到某些属性有一个阈值,表示当该属性的值达到或差于阈值时,可能会出现问题。例如,属性5的阈值为0,表示如果发生重新分配扇区,可能会出现问题。然而,当前值和最差值都为100,表示没有发生重新分配扇区的情况。
暂无评论
要发表评论,您必须先 登录