磁盘健康与 SMART 是什么
SMART 是硬盘固件自己维护的健康计数:通电时长、温度、读写错误数、SSD 的磨损百分比等。Windows 在存储模块里暴露了两层信息,Get-PhysicalDisk 给出 HealthStatus 和运行状态这类结论性判断,Get-StorageReliabilityCounter 给出具体的可靠性计数。前者适合巡检一眼过,后者适合趋势跟踪与更换决策。
基本信息
| 适用平台 | Windows 8 / Server 2012 及以后(Storage 模块) |
|---|---|
| 命令语法 | Get-PhysicalDisk | Get-StorageReliabilityCounter |
| 关注字段 | Temperature、Wear、PowerOnHours、ReadErrorsTotal、WriteErrorsTotal |
| 判断类字段 | HealthStatus、OperationalStatus |
| 字段支持度 | 取决于厂商固件与连接方式 |
| 盲区 | 多数虚拟机读不到真实底层计数 |
典型使用场景
- 巡检时批量检查机房磁盘温度与磨损情况
- 更换决策:找出磨损高或错误计数升高的盘
- 排查 IO 变慢,确认是否单盘老化拖累阵列
- SSD 寿命规划:根据磨损与写入量评估更换时间窗
- 故障定位:HealthStatus 异常时再逐一核对可靠性计数
常用示例
常用示例
Get-PhysicalDisk | Format-Table FriendlyName, MediaType, HealthStatus, OperationalStatus, Size # 一眼过
Get-PhysicalDisk | Get-StorageReliabilityCounter | Select-Object DeviceId, Temperature, Wear, PowerOnHours, ReadErrorsTotal, WriteErrorsTotal
Get-PhysicalDisk | Get-StorageReliabilityCounter | Sort-Object Temperature -Descending | Select-Object -First 5 DeviceId, Temperature # 最热的前五块
Get-PhysicalDisk | Where-Object HealthStatus -ne 'Healthy' | Select-Object FriendlyName, HealthStatus, OperationalStatus # 异常盘
Get-StorageReliabilityCounter -PhysicalDisk (Get-PhysicalDisk -FriendlyName 'Disk1') | Format-List # 单盘全字段字段逐项读法
| 字段 | 含义 | 判读要点 |
|---|---|---|
| HealthStatus | 健康结论 | Healthy 不代表没有坏道 |
| Temperature | 当前温度 | 持续偏高要考虑散热与风道 |
| Wear | 磨损百分比 | SSD 接近上限时计划更换 |
| PowerOnHours | 累计通电小时 | 结合年限判断是否超期服役 |
| ReadErrorsTotal | 读错误总数 | 持续增长是明显预警 |
| WriteErrorsTotal | 写错误总数 | 与读错误一起看趋势 |
HealthStatus 显示 Healthy 不等于磁盘没问题:它反映固件自评与阵列状态,早期坏道与性能衰退要靠可靠性计数的趋势才能发现。
磁盘出现 SMART 预警时应先安排数据迁移与更换,不要继续在原盘上跑修复类操作:反复重试读取会让本已勉强的盘更快失效。
巡检建议把这些计数按周落成 CSV:温度、磨损、错误数三条趋势线比任何单点读数都有说服力,也方便在更换预算评审时给出依据。