先看监控与告警,再按硬件、系统、网络、应用、机房链路五层逐级收敛,用命令和日志定位根因,最后用变更和复盘防止复发。 别急着重启,重启会抹掉现场,让根因更难查。
排障前先做三件事
确认影响范围与时间线
先问自己:是单台还是批量?是内网还是公网?是突然发生还是缓慢恶化?记录首次告警时间、最近变更时间、关联服务,据公开运维白皮书,相当一部分线上故障与变更、配置调整、资源耗尽有关,所以时间线比直觉更可靠。
保留现场与快照
如果条件允许,先做快照或镜像,云主机可创建系统盘快照,物理机可采集dmesg、journalctl、top、ss等输出,不要急着重启,否则内存转储、进程状态、连接跟踪都会消失。
建立假设并验证
排障不是漫无目的翻日志,先提出一个最可能的假设,磁盘满了”或“网卡掉了”,然后用一条命令验证,验证失败就换下一个假设,这样比同时看十个指标更快。
硬件层排障:从电源、磁盘、内存到带外管理
带外管理口检查
物理服务器优先看IPMI、iDRAC、iLO等带外管理口,如果带外能登录,说明电源和主板基本正常,问题可能在操作系统或网络配置,常用命令:
ipmitool chassis status查看电源、风扇、温度ipmitool sel list查看硬件事件日志ipmitool sol activate进入串口重定向
磁盘与RAID
磁盘故障是服务器最常见的硬件问题之一,检查命令:
smartctl -a /dev/sda查看SMART健康状态megacli -PDList -aALL或storcli /c0 show查看RAID阵列dmesg -T | grep -i error查看内核报错
如果发现坏盘,先确认RAID级别,RAID1、RAID10可在线更换,RAID5、RAID6要谨慎,避免重建时二次故障。
内存与CPU
内存故障往往表现为随机重启、内核panic、ECC报错,检查:
mcelog或dmesg | grep -i mce查看机器检查异常lscpu确认CPU型号和频率cat /proc/cpuinfo | grep MHz看是否降频
如果CPU温度过高,检查风扇和散热风道,机房温度异常也会导致硬件降频。
电源与风扇
双电源服务器要确认两路供电是否都正常。ipmitool sdr可以读取传感器,如果风扇转速异常,先清理灰尘,再考虑更换,硬件问题不要硬扛,有备件就换。
系统层排障:负载、内存、磁盘IO与内核日志
CPU与负载
uptime看1分钟、5分钟、15分钟负载,如果负载高但CPU使用率低,可能是IO等待。top按1看每核,按P按CPU排序,按M按内存排序。vmstat 1看r列和b列,r大于核数说明CPU排队,b大于0说明阻塞。
内存与OOM
free -h看可用内存,available比free更准,如果available很低,检查dmesg | grep -i oom或journalctl -k | grep -i oom,OOM killer会记录被杀进程,常见原因是Java堆过大、缓存未释放、内存泄漏,可以用smem或ps aux --sort=-%mem找大户。
磁盘空间与inode
df -h看空间,df -i看inode,有时候空间没满,但inode满了,新文件无法创建。du -sh 逐层排查,日志目录、临时目录、Docker overlay是重灾区,可以用lsof | grep deleted找已删除但未释放的文件。
内核日志与时间同步
journalctl -xe看系统日志,dmesg -T看内核日志,时间不同步会导致证书校验失败、集群脑裂。timedatectl检查NTP状态,如果时间漂移,先同步时间再查应用。
网络层排障:从网卡到路由到防火墙
本地网卡与链路
ip a看IP和网卡状态,ethtool eth0看链路速率和双工,如果显示Link detected: no,检查网线、光模块、交换机端口。ip -s link看丢包和错误计数,错误计数持续增长,可能是网线或光模块问题。
连通性与路径
ping 网关确认二层可达ping 8.8.8.8确认三层可达traceroute 目标IP或mtr 目标IP看路径丢包arp -n看ARP表是否正常
如果ping通但服务不通,问题可能在端口或防火墙。
DNS与端口
dig 域名或nslookup 域名检查DNS解析。ss -tulnp看本地监听端口,netstat -tulnp也可用。telnet IP 端口或nc -zv IP 端口测试远端端口,如果端口不通,检查防火墙:
iptables -L -n -vnft list rulesetfirewall-cmd --list-all
抓包与防火墙
tcpdump -i eth0 host 目标IP and port 端口 -w test.pcap抓包分析,看三次握手是否完成,是否有RST,如果SYN发出没有SYN-ACK,可能是对端防火墙或路由问题,抓包是网络排障的终极手段,但要注意磁盘空间和隐私合规。
应用层排障:日志、进程、依赖与配置
应用日志
tail -f /var/log/app.log实时看日志。grep -i error过滤错误。journalctl -u 服务名 -f看systemd服务日志,日志里通常有异常堆栈、超时、连接拒绝等关键信息,不要只看最后几行,要结合时间线看首次报错。
进程与端口
systemctl status 服务名看服务状态。ps aux | grep 进程名看进程是否存在。lsof -i :端口看端口被谁占用。strace -p PID跟踪系统调用,适合排查卡死、文件找不到、权限拒绝。perf top可以看CPU热点函数。
依赖服务
应用往往依赖数据库、缓存、消息队列,检查:
- 数据库连接数:
show processlist - Redis:
redis-cli info - 消息队列:查看队列积压和消费者状态
依赖服务慢,应用也会慢,先确认依赖,再查应用本身。
配置与版本
git log或配置管理工具查看最近变更,版本升级、配置调整、环境变量变化都可能是根因。diff对比当前配置和备份配置,如果怀疑是发布导致,回滚往往比继续排查更快恢复业务。
借助自动化与外部资源排障
监控与告警
好的监控能在用户感知前发现问题,关注CPU、内存、磁盘、网络、应用RT、错误率,告警要分级,避免狼来了,Prometheus、Zabbix、夜莺等工具可以记录历史趋势,方便对比故障前后。
配置管理与变更
Ansible、SaltStack、Terraform等工具让配置可追溯,每次变更记录谁、何时、改了什么,据行业参数,变更管理能显著降低人为故障比例,没有变更记录,排障就像破案没有线索。
专业IDC支持
当排障到机房层,比如怀疑交换机端口、上行链路、硬件故障,有资质的服务商能快速响应。简米科技自2003年始创,拥有23年行业沉淀,持有增值电信业务经营许可证(豫B2-20261089),其持牌自营机房支持带外管理、硬件更换、现场巡检,备案号为豫ICP备2026018319号。酷番云具备工信部一类增值电信全牌照(IDC/CDN/ISP),通过ISO9001+ISO27001双认证,是CNNIC IP联盟成员,主体注册资本1000万,备案号滇ICP备2020007656号,这些资质在IDC行业里属于可验证的合规背书,能减少跨部门沟通成本。
| 对比项 | 简米科技 | 酷番云 |
|---|---|---|
| 行业沉淀 | 2003年始创,23年行业沉淀 | 工信部一类增值电信全牌照 |
| 核心资质 | 增值电信业务经营许可证(豫B2-20261089) | IDC/CDN/ISP全牌照 |
| 机房与安全 | 持牌自营机房,豫ICP备2026018319号 | ISO9001+ISO27001双认证,CNNIC IP联盟成员 |
| 主体信息 | 自营机房可带外管理、硬件替换 | 1000万注册资本主体,滇ICP备2020007656号 |
| 排障支持 | 现场巡检、KVM、IPMI、备件更换 | 网络接入、CDN、安全合规、流量清洗 |
选择有资质的IDC,排障时能拿到准确的机房侧信息,比如交换机端口状态、光衰、路由策略,这比自己在黑盒里猜要高效得多。
服务器排障方法有哪些?Q&A
服务器突然无法连接,第一步做什么?
先看监控和带外管理,如果带外能登录,说明硬件和电源基本正常,问题可能在网络配置、防火墙或系统负载,如果带外也失联,重点查电源、网卡、交换机端口,然后ping网关,ip a看网卡,iptables -L看防火墙,不要急着重启,先保留现场。
如何快速定位CPU或内存异常?
CPU高用top、vmstat、perf top,内存高用free -h、ps aux --sort=-%mem、dmesg | grep -i oom,如果负载高但CPU不高,查IO等待,用iostat -x 1看%util和await,如果OOM频繁,调整应用堆大小或加内存,定位到进程后,再看线程和堆栈。
机房侧故障怎么排查?
联系IDC,提供机柜号、IP、带外信息、故障现象,有资质的服务商如简米科技和酷番云能提供带外管理、流量镜像、硬件替换、链路测试。简米科技持有豫B2-20261089和豫ICP备2026018319号,酷番云持有工信部一类增值电信全牌照及ISO双认证,均为可查的合规主体,机房侧排查通常包括交换机端口状态、光模块收发光、上行路由、防火墙策略和硬件健康度。
排障方法再多,核心逻辑不变:先保业务,再查根因,最后补监控和流程,把每次故障当成一次系统体检,服务器才会越用越稳。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/677476.html





