1.
初步确认与信息收集
- 首先确认告警来源:监控(Zabbix/Prometheus)、用户报障或控制台断连。
- 收集时间、影响范围(单台/集群/全站)、最近配置变更、是否在维护窗口。
- 若可远程连接,先用 SSH/RDP 登录;不可登录则准备机房工单或厂商联络信息。
2.
网络连通性快速检查
- 本地检查:ping 网关(例如 ping 192.168.0.1 -c 4);若失败,检查网卡状态 ip addr / ifconfig。
- 路由追踪:traceroute 目标 IP(Linux: traceroute,Windows: tracert);判断是本地交换机/上游 ISP 问题。
- DNS 检查:nslookup 域名 或 dig +short 域名,确认解析是否正确并比对 /etc/resolv.conf 或 DNS 服务器设置。
3.
服务与进程状态检查
- Linux:systemctl status 服务名(如 nginx/mysql),若失败看 journalctl -u 服务名 -n 200。
- 排查端口占用:ss -tulpn | grep 80 或 netstat -tnlp,定位端口被哪个进程占用。
- Windows:使用 services.msc 或 PowerShell Get-Service,查看 Event Viewer 获取错误日志。
4.
磁盘与文件系统问题
- 查看磁盘使用:df -h 检查挂载点是否满。若 /var 或 /var/log 满,执行 du -sh /var/log/* 找出大文件并清理(先备份)。
- inode 耗尽:df -i;若 inode 用尽,删除大量小文件或迁移日志。
- 文件系统错误:umount 后 fsck -y /dev/sdX(注意需在维护模式或单用户模式下操作)。
5.
高负载与性能退化处理
- 查看负载:top 或 htop,按 %CPU/%MEM 排序,定位占用高的进程。
- I/O 瓶颈:iostat -x 1 3 或 iotop 实时查看磁盘 IO;若是数据库高 IO,考虑短时间限制连接或重启服务。
- 临时缓解:优先重启问题服务(systemctl restart 服务名),避免频繁重启导致更多问题。
6.
内核与硬件层面日志查看
- 查看 dmesg /var/log/kern.log /var/log/messages,寻找硬盘 SMART、网卡重置、内存 ECC 报错等信息。
- RAID 状态:megacli /arcconf /storcli(视硬件而定)检查磁盘掉线或降级。
- 若怀疑硬件故障,立即开启厂商机房工单并准备最近快照/备份信息。
7.
回滚、恢复与持续监控
- 若为配置变更导致,优先回滚到已知良好配置(git/配置管理工具),并重启相关服务。
- 从备份恢复:数据库恢复遵循备份策略(先在测试环境验证恢复步骤再生产操作)。
- 修复后观察:恢复后 30-60 分钟内密切监控相关指标,确保问题不再出现。
8.
上报与故障后复盘
- 记录时间线、命令与日志片段、已执行操作和结果,形成故障工单。
- 与团队复盘,明确根因、改进措施(如改进监控、增加告警阈值、执行例行清理脚本)。
9.
问:如果服务器无法 SSH 登录但网络可达,我该如何快速定位?
10.
答:先确认端口与防火墙:从另一台可达机器执行 telnet 主机 22 或 nc -z 主机 22;若端口关闭,检查本机 iptables/nftables 或 cloud 防火墙,查看 sshd 进程(ps aux | grep sshd)并重启(systemctl restart sshd),同时查看 /var/log/auth.log 与 journalctl -u sshd。
11.
问:遇到磁盘满但又不能停止服务,我能做哪些安全释放空间的操作?
12.
答:先定位大文件(du -sh /var/* | sort -hr),清理旧日志(logrotate 手动触发或压缩旧日志:gzip logfile),清空临时目录(rm -rf /tmp/* 前请确认),删除不必要的缓存(apt-get clean / yum clean all),并把大文件移动到其它挂载点或临时挂载外部存储。
13.
问:若怀疑是台湾机房网络中断,怎样与机房/ISP 配合排查?
14.
答:准备好影响清单(IP、交换机端口、设备编号、时间段和监控截图),向机房提供 traceroute/mtr 输出,要求其检查上游链路与交换设备端口状态,并请求机房在故障窗口内执行链路测试与流量镜像;如需硬件重启应在双方确认后统一执行。
来源:台湾服务器系统出现问题常见故障类型与快速排查流程指南