凌晨收到服务器磁盘使用率超过百分之九十的告警,不少运维值班人员都经历过这种时刻。第一反应常常是赶紧登录机器,翻出占空间最大的目录,删掉几个日志文件,眼看着百分比回落,心才放下来。可这个动作一旦做得太急,带来的风险有时比告警本身还大。磁盘写满往往不会让服务瞬间倒下,而一次误删却可能直接把正在跑的业务数据带走。所以动手之前,先花几分钟把情况看清楚,比抢那几分钟更划算。
先判断告警的紧急程度,别急着动手
不是每一条磁盘告警都需要立刻处置。可以先看三件事:当前使用率是多少,增长速度快不快,有没有出现写入失败。使用率刚到百分之八十五、增速平缓、业务写入正常,这类告警有比较充裕的处理窗口,可以从容安排。使用率超过百分之九十五、短时间内快速攀升,或者应用已经开始报写入错误,这类情况需要优先处理,但优先处理不等于先删文件。
还要分清是系统盘还是数据盘。系统盘写满可能影响服务启动和日志写入,数据盘写满则直接妨碍业务数据落盘。两者的处理顺序不一样,但有一个共同前提:在确认数据安全之前,不做不可逆的删除操作。
先备份还是先清理,看三种典型情况
第一种,磁盘上主要是可再生成的日志文件,业务数据不在同一分区。这种可以先清理明确无用的旧日志,释放空间后再做备份,效率更高。
第二种,磁盘上存放着数据库文件、上传附件、订单记录等不可再生的数据。这时应当先确认最近一次有效备份是否可用,再考虑清理。如果备份不完整或时间隔得太久,优先补做备份,哪怕临时挂载一块新磁盘转移部分数据,也比直接删除稳妥。
第三种,磁盘已经写满,应用无法写入,备份任务本身也跑不起来。这时可以先清理确定无用的临时文件和缓存,腾出少量空间让备份能够执行,再完成完整备份,最后处理其他占用。关键在于,清理的对象必须是自己完全清楚来源和用途的文件。
清理之前,这几类目录要确认后再动
日志目录通常可以清理,但要确认保留周期和是否有审计要求。临时目录和缓存目录一般可以清理,但要确认没有正在运行的任务依赖其中的文件。数据库的数据目录、二进制日志和事务日志,不要凭文件名判断,必须结合数据库自身的管理命令处理。上传目录和备份目录更要谨慎,很多看似重复的文件其实是不同时间点的唯一副本。不确定用途的文件,先移动位置而不是直接删除,留出观察时间。
处理完之后的记录与复盘
告警处理完,建议记录四项内容:告警触发时间、当时的磁盘使用率、采取的操作、释放空间大小。再补一条原因分析,是日志没有轮转,是备份文件堆积,还是业务数据增长超出预期。把这些记录积累起来,就能看出哪类问题反复出现。针对反复出现的原因调整策略,比如设置日志轮转规则、给备份文件设定保留周期、对数据增长设置更早的预警阈值。it数运在提供网站维护和服务器管理支持时,也会把这类告警处理记录纳入日常巡检,让每一次处理都能为下一次提供参考。
磁盘告警本身并不可怕,可怕的是在压力下做出无法回退的操作。先判断,再备份,后清理,把顺序理顺,大多数告警都能平稳处理。




