
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,表示没有发生重新分配扇区的情况。


暂无评论
要发表评论,您必须先 登录