凌晨两点,监控里跳出一条写入延迟告警,不少运维人员下意识会怀疑磁盘要出问题。可“写入变慢”和“磁盘损坏”并不是一回事。前者更多指向容量、队列或写入压力,后者往往伴随读写报错、掉盘、文件系统异常。遇到这种情况,先别急着换硬件,应该把业务感知和系统指标拆开看:业务侧可能是保存卡顿、日志延迟、接口超时;系统侧则要盯住使用率、等待时间和写入队列。两边对不上,问题通常不在磁盘本身。
排查时,可以按四类信号逐层推进。第一,看磁盘使用率和 inode。分区占用超过八成后,写入性能往往明显下滑,因为文件系统要花更多时间寻找可用块;inode 耗尽更隐蔽,表现是明明还有空间,却写不进新文件。第二,看 I/O 等待时间。用系统自带工具观察等待占比,如果等待长期偏高而使用率并不高,说明写入请求在排队,可能是单块盘承载了过多并发。第三,看日志写入量是否突然抬升。某个程序进入异常循环,或调试级别被临时调高,都可能在短时间内产生大量日志。第四,看临时文件是否堆积。上传缓存、会话文件、打包中间产物如果没有清理机制,会持续占用空间,并拖慢目录遍历。
可执行的排查清单并不复杂。先用一条命令查看各分区占用和 inode 使用情况,确认是空间问题还是索引节点问题。再按目录逐层定位体积最大的日志目录,重点看按天切分的文件是否正常轮转,是否存在单个文件持续增长却不切割的情况。接着确认是否有异常循环写盘:观察写入速率曲线,如果呈现规律性尖峰,且与业务低峰期重合,多半是定时任务或重试逻辑在反复写同一份数据。最后检查临时目录的文件数量和修改时间,超过预期保留周期的文件,应当纳入清理策略。
有些情况属于容量规划问题,不必当成程序故障处理。比如业务增长导致日志量自然上升,或备份窗口与高峰写入重叠,这类问题靠调整保留天数、错开任务时间、拆分存储目录就能缓解。另一些情况需要联系服务商确认,例如云盘出现持续高延迟、底层宿主机负载异常、快照任务与正常写入争抢带宽。区分方法很简单:如果同一台机器上多个不相关的写入操作同时变慢,且本地排查未发现容量和日志异常,就应把现象、时间点和指标记录清楚后向服务商求证,而不是反复重启服务。
把磁盘健康检查纳入例行巡检,比事后救火更省力。可以按天看分区占用和 inode,按周看日志轮转与临时目录,按月复盘写入量趋势和备份窗口安排。it数运在网站维护中通常建议客户保留一份简单的巡检记录,写清检查项、阈值和责任人,这样下次再遇到写入变慢,能快速判断是趋势问题还是突发问题。技术有章法,服务有回应,磁盘这类基础资源的管理尤其如此。





