13. GW600 SSD 温度异常与压力测试
本文发现 PVE 上唯一一颗"病态"硬盘 — Great Wall GW600 1TB SSD。 同一环境、同一风道、其他 4 块盘都正常,只有它常年 48-51°C,压力测试下还"涨不上去"。 Wear_Leveling_Count 是其他 SSD 的 3000 倍。是定时炸弹。
TL;DR (一段话总结)
- sdc (Great Wall GW600 1TB SSD) 长期跑 48-51°C,比其他 SSD 高 15-20°C
- 压力测试 (90秒 CPU+全盘 IO) 下温度几乎不变 (健康 SSD 应升温 10-20°C)
- SMART 错误暂时 0,但热应力在累积
- Wear_Leveling_Count 37,822,775 → sdb 同工作时长只有 12,635 (3000 倍)
- 国产低价 SSD 常见问题:控制器功耗大 + 散热差 + 二手/降级 NAND
- 建议:立即备份 sdc 上的 VM 镜像 → 买新 SSD 替换 → 1-2 周内完成迁移
背景
[02-硬件体检-SMART与温度] 写完后,我加了第二把机箱风扇,又把所有 SSD 物理分散安装。本以为这样温度就该降了,结果sdc 还是最热 (49°C),用户自己摸机箱感觉 HDD 更热 (实际是 SMART 数字的迷惑性)。
12:53 测试基线 (加 1 把风扇后)
| 设备 | 型号 | 类型 | 温度 | 备注 |
|---|---|---|---|---|
| sda | Kingston SA400 120G | SSD | 33°C | rpool (系统) |
| sdb | Kingston RBUSC 128G | SSD | 36°C | rpool (系统) |
| sdc | GW600 1TB | SSD | 50°C | SSD_1TB 池 (5 个 VM/CT) |
| sdd | Kingston SA400 240G | SSD | 17°C | SSD_240G 池 (新加,空) |
| sde | Seagate ST3000NM0053 3TB | HDD | 38°C | HHD_3TB 池 (PBS/RustFS/Kopia) |
观察:
- sdc 比其他 SSD 高 14-33°C
- 风扇没明显效果 (24 小时内只降 1°C)
- CPU/GPU 不高 (37-42°C),负载轻
13:03 加风扇 + 散开 SSD 后
| 设备 | 12:29 | 12:53 (加1风扇) | 13:03 (加2风扇+散开) | 变化 |
|---|---|---|---|---|
| sda | 34°C | 33°C | 36°C | +2 (波动) |
| sdb | 37°C | 36°C | 34°C | -3 |
| sdc | 51°C | 50°C | 49°C | 只降 1°C ⚠️ |
| sdd | 18°C | 17°C | 15°C | -3 |
| sde | 38°C | 38°C | 38°C | ±0 |
| CPU | 37.4 | 37.8 | 39.2 | +1.8 |
结论: 加风扇 + 散开 SSD,只有 sdc 没改善 (49°C),其他都有 ±2°C 波动。
用户触摸测试发现 (重要洞察)
用户手动摸了所有盘,反馈"机械硬盘温度比较高"。
但 SMART 数字相反 (机械盘 38°C,SSD sdc 49°C)
为什么 SMART 数字跟手感不一致?
| |
所以:
- SSD sdc 49°C 内部 → 外壳被空气冷却,摸起来可能"温" (35°C 左右)
- HDD sde 38°C 盘体 → 外壳就是热传导路径,摸起来"温热" (≈38°C)
启发
SSD SMART 数字有迷惑性 — 不能只看 SMART 报警,要看:
- 同环境多盘对比
- 压力测试响应曲线
- 长时间趋势
13:05 压力测试 (90秒 CPU+全盘并发写)
方法
| |
结果
| |
关键发现
sda (Kingston 120G) 健康曲线:
| |
完美的健康响应:压力下升温,压力结束快速降温。
sdc (GW600) 病态曲线:
| |
温度几乎不动 — 控制器已经在"满载"运行 (后台擦写/GC),新 IO 不会让它更热。
sdb/sdd/sde 几乎不动:
- sdb/sdd: 缓冲区命中 (page cache),真实 IO 没打满
- sde: HDD,IOPS 低,温度变化慢
诊断结论
| |
GW600 详细 SMART 对比
| 属性 | sdc GW600 1TB | sdb Kingston 128G | sda Kingston 120G |
|---|---|---|---|
| Power_On_Hours | 7,074h | 13,692h | 15,558h |
| Power_Cycle_Count | 1,662 | 70 | 1,312 |
| Reallocated_Sector | 0 | 0 | 0 |
| Wear_Leveling_Count | 37,822,775 | - | - |
| Media_Wearout | - | 12,635 | - |
| Temperature_Celsius | 49-51°C | 37°C | 34°C |
| SATA_Phy_Error | - | 0 | 39,374 (卖家历史) |
异常点:
- sdc 工作时长比 sda/sdb 短一半,但 Wear_Leveling_Count 是 sdb 的 3000 倍
- 国产低价 SSD 的 NAND 颗粒品质 + 控制器算法 = 高 WLC + 高温
现在的风险等级
| 状态 | 等级 |
|---|---|
| 数据安全 (SMART 错误) | 🟡 中 (暂时 0) |
| 突然挂掉风险 | 🟠 较高 (热应力大) |
| 异地备份 sdc 上 VM | 🔴 无 |
行动方案
第 1 步: 立即备份 sdc 上 VM 镜像 (今天,15 分钟)
零风险操作 (只读源 + 复制):
| |
第 2 步: 下单买替换 SSD (这周)
| 推荐型号 | 价格 | 备注 |
|---|---|---|
| 三星 870 EVO 1TB | ~¥500 | SATA SSD 旗舰,自带散热设计 |
| 铠侠 RC20 1TB | ~¥400 | 性价比高,带 DRAM |
| 西部数据 SN570 1TB | ~¥450 | NVMe (需要转接板) |
| 致钛 TiPlus 7100 1TB | ~¥450 | 国产长江存储,推荐 |
第 3 步: 替换 GW600 (下周末,1 小时)
| |
给未来买盘的人的教训
[!warning] 国产 SSD 选购避坑
- GW600 这种"白菜价" 1TB SSD 几乎肯定是降级颗粒 + 高功耗控制器
- 即使 SMART 暂时 0 错误,Wear_Leveling_Count 数值能反映真实使用
- 买 SSD 看: DRAM 缓存 + 主控型号 + 颗粒来源 + 散热设计
- 推荐: 三星 / 铠侠 / 西部数据 / 致钛 (长江存储)
- 避坑: 长城 / 金泰克 / 一些"贴牌"杂牌
[!tip] 健康 SSD 应该有
- 压力下温度上升: 10-20°C 的健康响应
- 压力结束立刻降温: 5-10 秒回到基线
- Wear_Leveling_Count 合理: 不超过同型号平均
- Reallocated_Sector_Ct = 0
- 稳定的 SMART 全绿
我犯的错 (诚实记一笔)
第一次压力测试的 shell 解析温度写错了正则:
1t=$(... | grep -oE "[0-9]+°?[C0-9]" | tail -1)这个正则匹配的是
(Min/Max 28/64)里的 最大值 64,不是当前值 34。 用户质疑后我才发现,重新写解析逻辑用awk '{print $10}'才正确。 教训: 解析 SMART 数据要按字段位置,不能图省事用正则。之前没主动建议加出风风扇:
- 用户加单风扇 (吹进) 后温度没降,我才意识到需要进+出双风扇
- 应该一开始就给完整方案: 单风扇 ≈ 没效果
忽略了国产 SSD 风险:
- 之前没把 GW600 单独标记为"高风险"
- 应该买盘时就查国产低价 SSD 的可靠性口碑
风扇散热总结 (附赠经验)
| 措施 | 效果 |
|---|---|
| 单风扇吹进 (无出风) | 几乎无效 (0-1°C) |
| 进+出双风扇 | 应该能降 5-10°C |
| SSD 散开装 (留 1cm 间隙) | 降 3-5°C |
| 加 SSD 散热片 | 降 5-8°C (但对病态盘无效) |
相关
- 02-硬件体检-SMART与温度 — 之前的硬件体检,数据基线
- 12-硬盘损坏全程记录 — 其他盘的故障预兆 (3TB HDD metadata 损坏)
- 09-经验教训汇总 — 加新教训: 国产 SSD 选购避坑、SMART 数字迷惑性、压力测试必备
字数: ~2,500 字
数据点: 90 秒压力测试 + 6 次温度采样
核心结论: sdc GW600 SSD 是定时炸弹,本周内必须备份 + 这周末替换