服务器出现卡顿或意外重启时,原因不一定在应用程序。持续升高的温度、磁盘介质错误或风扇异常,都可能先于硬件故障出现。做好 Linux服务器硬件健康状态监测,能让运维人员依据日志和传感器信息安排复查,而不是等设备无法启动后再处理。
先确定要监测哪些信号
监测不等于只看一个“健康”标记。建议按部件建立检查清单:硬盘关注 SMART 错误、待处理扇区和温度;NVMe 固态盘关注介质错误、可用备用空间及温度;主板关注风扇转速、电压和温度传感器;电源、风扇等信息则视服务器是否提供带外管理接口而定。
不同设备暴露的数据并不相同。家用或普通机架服务器可能只能读取部分传感器,服务器管理控制器通常能提供更完整的风扇和电源状态。Linux服务器硬件健康状态监测应以实际可读取的数据为基础,不要把未提供的指标误判为正常。
用命令完成基础检查
安装并读取磁盘信息
Debian、Ubuntu 系统通常可安装 smartmontools;Fedora、Rocky Linux 等系统可使用对应的 dnf 软件包。设备名称因机器而异,先用 lsblk 确认盘符,再执行检查。
- 运行 lsblk -o NAME,TYPE,SIZE,MODEL,确认目标磁盘,例如 /dev/sda 或 /dev/nvme0n1。
- 对 SATA 或 SAS 磁盘执行 sudo smartctl -a /dev/sda;对 NVMe 设备可执行 sudo nvme smart-log /dev/nvme0。如命令不存在,安装 smartmontools 或 nvme-cli。
- 查看 SMART 总体状态、错误日志、温度及设备特有的介质错误计数。遇到异常时保存完整输出,并与同一设备先前记录比较。
SMART 的总体通过状态不是寿命保证:设备可能在状态仍显示正常时发生故障,属性名称和阈值也会随厂商而异。Linux服务器硬件健康状态监测应关注持续变化和错误记录,而非只看一行结论。
检查温度与带外传感器
安装 lm-sensors 后可运行 sensors 查看系统已识别的温度和风扇读数。若输出为空,可能是驱动或硬件不支持;不要为了获得读数而盲目加载不确定的内核模块。具备 IPMI 管理接口的服务器,可通过已配置的本机接口运行 ipmitool sensor 查看传感器读数和状态。
把单次检查变成持续监测
- 先建立基线:在负载稳定、机房环境正常时记录温度、风扇转速及磁盘状态,并注明设备、时间和命令。
- 启用 SMART 定期检查。smartd 可按配置周期读取磁盘信息并记录变化;修改配置前先核对设备路径和发行版文档。
- 将检查结果接入现有监控或日志平台,设置分级告警。磁盘错误持续增加、风扇读数消失或温度长期高于设备正常工作范围时,应触发复核。
- 告警后先确认传感器是否有效,再检查系统日志、设备连接和近期负载;记录结果并安排维护窗口,避免只清除告警而不查原因。
温度没有适用于所有机型的统一警戒值,应优先参考设备厂商给出的运行范围,并结合进风温度、负载和传感器位置判断。单次尖峰可能来自负载变化或读数波动,持续偏高、伴随降频或风扇异常时则更值得尽快检查。这样设置的 Linux服务器硬件健康状态监测,既能减少误报,也能让异常有记录可追。
常见问题
SMART 显示通过,还需要检查吗?
需要。继续留意错误日志、属性变化和系统日志;SMART 不能保证提前发现所有故障。
为什么 sensors 没有显示温度?
可能是硬件不支持、驱动未加载或传感器未被识别。先核对设备资料与系统驱动,不要将空白读数当作温度正常。
多久检查一次比较合适?
可按设备重要性和维护能力安排周期性检查,并对关键错误设置及时告警。具体频率应结合业务负载、硬件支持和运维流程确定。
将磁盘、温度和传感器状态纳入日常检查,并对异常保留时间序列和处理记录,Linux服务器硬件健康状态监测才能真正帮助运维及时发现问题、安排检查。