1. 范围与准备
明确排查对象(物理机、VPS、镜像节点),准备清单:IP、账号、控制台访问、最近配置变更记录;小分段:a) 登录信息集中管理;b) 备份位置与快照时间;c) 联系人与权限清单。
2. 快速分级与事故通报
第一时间判断影响范围(单机/机群/网络),决定是否触发应急流程;小分段:a) 将影响级别记录到工单;b) 向团队发出短消息与状态页更新;c) 如果严重,进入24小时轮班响应。
3. 现场快速检测步骤(首5分钟)
远程控制台/SSH连通性检查;确认节点是否可Ping、是否能取得串口/控制台日志;小分段:a) ping、traceroute测试;b) 检查控制台输出是否有内核panic或挂起信息;c) 若无法登录,使用宿主或云面板重启并抓取串口日志。
4. 收集关键诊断数据(首15分钟)
在能登录的前提下立即收集:top/htop、free -m、df -h、ss/netstat、journalctl -n500、/var/log/nginx或应用日志;小分段:a) 保存输出到临时目录并上传到中央日志仓库;b) 若日志增长异常,截取最新文件;c) 标注时间点与相关进程PID。
5. 网络与IP层排查
确认防火墙、路由、端口与反向解析:检查iptables/nft、云提供商安全组、路由表与NAT;小分段:a) ss -tunlp确认监听端口;b) iptables -L或云端规则校验;c) 使用dig/host确认DNS解析与反向DNS是否异常。
6. 存储与文件系统问题
检查磁盘使用、inode耗尽、文件系统只读等问题;小分段:a) df -h、df -i定位占满卷;b) dmesg或journalctl查找磁盘错误;c) 若为只读,可先以只读挂载采集数据再尝试umount/修复(e2fsck需在单用户或离线下运行)。
7. 进程与服务恢复步骤
按优先级逐个恢复服务:先数据层(数据库),再应用层,最后代理/负载均衡;小分段:a) systemctl status/restart 有状态服务;b) 若服务反复崩溃,查看core、strace采样(有限制下使用);c) 对无法在线修复的服务,优先启动备机并切换流量。
8. 快速恢复与回滚策略
优先使用快照/镜像做热切换:准备好Golden Image和自动化部署脚本,用备机替代故障机;小分段:a) 通过快照恢复磁盘并启动到测试网段;b) 用配置管理工具(Ansible/Chef)快速应用配置;c) 若更新导致故障,回滚到上一个已验证版本并通知变更管理。
9. 缩短恢复时间的技巧与自动化
提前准备:自动备份、多机热备、健康检查与Runbook;小分段:a) 编写Runbook并定期演练(演练记录降低“盲操作”时间);b) 用监控告警+自动化脚本(例:遇到服务down先触发自动重启,再通知人工);c) 制作最小恢复时间模板(最小可用集群的启动脚本与数据回放步骤)。
10. 日志集中与可视化加速定位
集成ELK/Prometheus+Grafana,设置关键仪表盘与相关日志关联;小分段:a) 为常见错误建立查询模板;b) 告警包含必要上下文(最近5条日志、相关主机负载);c) 使用Tracing追踪请求链路以定位慢请求源。
11. 事后复盘与改进
故障结束后做5W1H复盘,更新SOP与自动化用例;小分段:a) 记录根因、恢复步骤及耗时;b) 编写预防措施(容量、补丁、监控阈值);c) 将复盘成果纳入演练清单并指定负责人执行。
12. 法律合规与安全提示
确保运维行为符合法律、合规与服务商条款,避免用于违规站群用途;小分段:a) 定期检查账户与访问审计;b) 对外IP与域名的合法用途做记录;c) 遇到安全事件及时按安全事件响应流程上报。
13. 问:遇到节点无法SSH且控制台无响应,第一步该怎么做?
答:先在云/宿主面板触发控制台日志导出与强制重启,若仍不可用,恢复最近快照到备用实例并切换流量;同时收集最后的串口/控制台日志用于后续分析。
14. 问:如何把单点故障的恢复时间从小时缩短到分钟?
答:实现热备+自动化切换:保持至少一台同步备机、自动健康检测触发故障切换、使用预置镜像与配置管理完成秒级替换,并定期演练确保流程可靠。
15. 问:有哪些常用命令和日志值得优先检查?
答:首检命令:ping/traceroute、ss/netstat、top/free/df、journalctl -n、dmesg;优先日志:系统日志、应用错误日志、数据库日志与最近的部署记录,及时集中到日志平台便于关联分析。
来源:美国半c站群机常见故障排查流程与恢复时间缩短技巧