问题背景
公司自建数据中心内有 5 个标准机柜,约 30 台物理服务器(含数据库、虚拟化主机、备份存储)。机房制冷由两台 Emerson 精密空调(一主一备)提供,设定温度 22°C,温差 ±2°C。机房环境监控通过 Zabbix 采集温湿度传感器的 SNMP 数据。
故障现象
12 月 13 日上午 10:20,运维收到用户反馈:公司内部 OA 系统、ERP 系统、企业邮箱全部响应极度缓慢,页面加载时间从正常的 1-2 秒变成 30-60 秒。监控平台显示全业务 P99 延迟飙升 20-30 倍。
登录虚拟化平台 vCenter 查看宿主机:
|
|
CPU 热节流(Thermal Throttling)被触发! 所有 ESXi 主机都在强制降频运行,原本 3.0GHz 的 CPU 被限制在 1.2GHz,虚拟机中的应用程序性能被严重拖慢。
排查过程
第一步:确认机房温度
跑到机房门口,开门瞬间热浪扑面——室内温度计显示 48°C!
Zabbix 监控的告警时间:
|
|
第二步:检查空调状态
1 号精密空调——完全停机。面板无任何指示灯。2 号备用空调在运行,但出风口温度仅 28°C(正常应为 16-18°C),实际制冷能力严重不足。
第三步:分析 1 号空调停机原因
查看空调控制器日志:
|
|
压缩机高压保护——空调因室外机散热受阻导致压缩机出口压力过高,触发安全停机。
室外温度 -12°C,打开室外机检修面板——风扇叶片被一层厚厚的冰冻住了,完全无法转动。北京冬季夜间温度降到 -15°C,空调室外机底部的排水孔被冰堵住,融化的冷凝水无法排出,在风扇轴承上结冰。
第四步:为什么 2 号空调制冷不足?
2 号空调虽然在运行,但制冷剂(R410A)压力只有正常值的 60%。检查发现制冷剂管路接口处有微漏,过去半年逐步泄漏但未补充。低制冷剂量下制冷能力大打折扣——2 号空调虽然亮着灯,实际起不到"备用"的作用。
第五步:为什么 Zabbix 告警延迟了 15 分钟?
|
|
温度传感器的 SNMP 轮询间隔为 3 分钟。关键是告警触发条件:
|
|
触发条件使用了 avg(15m)(15 分钟均值)——温度上升期间前几分钟的低值拉低了平均值,直到均值突破 28°C 才触发告警,而实际温度已经到 48°C 了。
解决方案
紧急物理降温
- 打开机房所有门窗通风,搬入 2 台工业风扇辅助对流
- 紧急关闭非核心服务器:将测试环境和开发环境的物理机全部关机,降低整体热负载
- 手动除冰:用热水浇融 1 号空调室外机风扇上的冰层,清理排水孔
冰层清除后,1 号空调恢复正常运行,机房温度在 20 分钟内回落到 28°C。CPU 热节流自动解除,业务 P99 延迟逐步恢复。
后续整改
- 1 号空调加装低温套件:包含加热带(防止排水孔结冰)和变速风扇控制器
- 2 号空调补充制冷剂:查找泄漏点并修复,补充制冷剂至标称压力
- Zabbix 告警规则修正:
|
|
根因分析
直接原因:精密空调室外机排水孔在冬季严寒天气下结冰堵塞,风扇被冻住 → 压缩机高压报警停机 → 室内温度快速上升 → 服务器自动降频保护。
深层原因:
- 精密空调缺少低温环境适配(未安装低温套件)
- 备用空调制冷剂泄漏,关键时刻无法满负荷运行
- Zabbix 温度告警使用 15 分钟均值,延迟了紧急告警
- 机房缺乏温度传感器的多点冗余部署
预防措施
- 精密空调低温套件:冬季前安装加热带、变速风扇等低温适配组件
- 备机制冷能力保障:每季度检测备机制冷剂压力,确保备机随时可用
- 实时温度告警:告警规则改用
last()实时值 + 变化率双触发 - 多点温感冗余:机柜顶部、中部、底部各部署温度传感器
- 冬季巡检 SOP:11 月-3 月每月检查室外机排水孔和风扇轴承结冰情况
- 应急演练:机房温度异常应急预案(工业风扇、开门通风、关非核心设备)
总结
机房空调故障是运维能遇到的最"低技术含量"但又最致命的事故之一——不需要什么高深的网络协议或分布式系统知识,它就是物理世界的一个设备坏了。但它的破坏力是全局性的:一台空调停机,30 台服务器的 CPU 全部被迫降频,所有业务线的性能同时崩盘。在运维的世界里,对物理基础设施的监控不能有任何侥幸——温度告警的延迟、备机制冷剂的泄漏,都可以被"看起来正常"的表象掩盖,直到故障真正爆发。