从事运维工作十余年,凌晨三点被叫起来处理服务器故障的经历,说多了都是泪。从业务突然中断到系统莫名卡顿,从网络连不上到应用起不来,其实故障排查从不是靠运气瞎试,而是一套 “先救急、再找根、彻底改” 的实用方法。
今天就用通俗的话,分享我实战总结的核心技巧,帮同行少踩坑、快解决问题。
一、排查第一原则:先保业务,再查原因
这是我踩过无数坑后定的铁律 —— 运维的核心是让业务能正常跑,不是先纠结 “为什么坏”。遇到故障先按这个顺序来:
1、优先恢复业务:能重启解决的(比如程序卡死且不丢数据)就先重启,有备用服务器的就先切流量,刚更新完出问题就先回滚版本,别让故障越拖越久。
2、记得留 “证据”:恢复业务前,把关键日志、系统状态截图、配置文件备份好,不然之后想找原因,可能连痕迹都没了。
3、别瞎操作:新手最容易慌了就乱改配置、删文件,每一步操作前先想 “会不会更糟”,最好记下来做了什么,万一错了还能回退。
二、3 步快速锁定故障范围,不盲目排查
故障发生后,先搞清楚 “问题出在哪一片”,再深入找细节,效率能翻倍:
第一步:判断是 “一台机器坏” 还是 “一群机器坏”
只有一台异常:重点查这台机器本身的设置(网络、存储、运行的程序);
多台机器都异常:先看大家都依赖的东西(比如网关、数据库、共享存储),大概率是公共环节出问题。
第二步:判断是 “硬件坏” 还是 “软件错”
怀疑硬件:看服务器是不是过热、硬盘有没有异响(物理机),云服务器直接联系厂商查硬件状态;
排除硬件:就聚焦系统服务、应用程序、最近有没有改配置。
第三步:判断是 “系统、网络” 还是 “应用” 的问题
系统层:看服务器资源够不够(CPU、内存、硬盘空间)、关键服务有没有停;
网络层:看能不能连上网、目标端口能不能通、是不是被防火墙挡了;
应用层:看应用日志有没有报错、依赖的数据库 / 缓存能不能连上。
三、高频故障排查:直接能用的解决方法
(一)服务器宕机 / 启动不了
先查硬件:物理机看电源、内存有没有插好,云服务器找厂商确认是否硬件故障;
再找启动日志:通过救援模式查看启动时的报错,常见问题是磁盘满了、挂载配置错了、内核升级失败;
快速解决:磁盘满就清理没用的日志 / 文件,配置错就改回之前的正确配置,内核问题就切换到旧内核启动。
(二)系统运行卡顿、反应慢
先看资源够不够:
CPU 占满:找出最耗资源的程序,要么优化要么暂时停掉(非核心程序);
内存不够:关闭没必要的服务,或给服务器加内存,排查是不是应用 “吃内存不释放”;
磁盘变慢:清理大文件和过期日志,检查是不是日志写得太快导致磁盘忙。
常见解决:关闭冗余服务、清理磁盘垃圾、优化应用的资源占用(比如限制程序最大内存)。
(三)网络连不上 / 访问延迟高
本地排查:
看网卡有没有启用、网络配置对不对,防火墙是不是误拦了;
域名解析不了:换个公共 DNS(比如 8.8.8.8)试试。
跨节点排查:
ping 目标地址,看能不能通、丢不丢包;
端口连不上:检查目标服务器的端口是不是开放,安全组有没有放行;
延迟高:找中间链路的问题(比如联系运营商查网络抖动)。
(四)应用启动失败 / 报错
先看应用日志:重点找 “文件找不到”“端口被占”“数据库连不上”“密码错了” 这些关键词;
再查依赖:应用要连的数据库、缓存是不是正常运行,连接地址、账号密码有没有填错;
端口被占:找到占用端口的程序,要么关掉这个程序,要么让应用换个端口;
权限不够:给应用启动用户开放日志目录、配置文件的读写权限。
四、必备排查工具:简单好用不复杂
看资源:top(进程和 CPU / 内存)、df(硬盘空间)、free(内存剩余);
查网络:ping(连通性)、telnet(端口是否开放)、traceroute(找丢包节点);
看日志:tail(实时看日志)、grep(搜日志关键词);
查进程:ps(看运行的程序)、netstat(看端口占用)。
五、老运维的避坑心得
日志是 “救命稻草”:一定要让应用和系统日志能正常保存,关键日志多存一段时间,找原因全靠它;
监控要提前预警:给 CPU、内存、磁盘、网络设个阈值,快到临界值就告警,别等故障发生才发现;
建个 “故障笔记”:每次解决完故障,记下来现象、怎么排查的、怎么解决的,下次遇到类似问题直接用;
别凭感觉判断:经验有用,但还是要靠工具验证,比如怀疑防火墙拦截,就去查一下规则,别想当然;
定期做维护:清理过期日志、检查磁盘状态、更系统补丁,提前减少故障概率 —— 最好的运维是 “不用排查故障”。
服务器故障排查就像 “看病”,找对方法就能少走弯路。十几年的经验告诉我,没有解决不了的故障,只有没找对的思路。如果用云服务器的话,相对运维工作会少一些,毕竟关于硬件的运维都被云服务商承担了,像蓝队云基本上就为用户承担了所有运维工作。要想在运维这条路上深耕的话,掌握核心思路,不断精进技术吧,希望这些实用技巧能帮你快速解决问题,也欢迎大家在评论区分享你的实战心得,一起交流进步!
369






