1.
故障准备与信息收集
1) 确认故障范围:是单台实例、子网还是整个BGP前缀;记录触发时间与影响服务(HTTP/API/SSH)。
2) 收集基础信息:服务器IP(示例:203.113.12.34)、机房(越南河内-VNPT/Viettel)、BGP邻居、ASN与路由表快照。
3) 获取配置备份:系统镜像、iptables/ nftables规则、nginx/apache配置文件、应用配置与日志。
4) 建立沟通渠道:与机房NOC和上游ISP联系,准备SLA与工单模板,记录工单编号。
5) 准备工具与账号:远程KVM、控制面板、ssh密钥、iperf3、mtr、tcpdump、smartctl等命令权限。
6) 检查监控告警:CPU/内存/磁盘/带宽/连接数阈值与历史曲线,导出最近24小时数据以便比对。
2.
网络层快速排查流程(L2/L3)
1) 本地连通性测试:从运维端run mtr -r -c 100 203.113.12.34,记录丢包与跳点延迟。
2) 路由与BGP核查:确认BGP前缀是否被公告(路由泄露或撤销),可使用bgp.he.net和上游查询。
3) 端口与服务连通:用tcping或curl检测目标端口(80/443/22),记录超时或RST响应。
4) 抓包分析:在服务器上运行tcpdump -i eth0 host 203.113.12.34 and port 80 捕获异常流量,观察SYN洪泛或重复ACK。
5) 物理链路检查:确认交换机端口、光纤SFP状态、链路错误(ifconfig/ethtool查看RX/TX错误)。
6) 带宽占用分析:使用iftop或nload检测瞬时流量,识别是否为DDoS或流量激增导致链路拥塞。
3.
系统层与服务层排查(内核、磁盘、应用)
1) 查看系统资源:top/htop查看CPU与进程占用,free -m查看内存,vmstat 1 5观察swap使用。
2) 检查磁盘与文件系统:df -h查看磁盘满载,iostat -x 1 3确认IOPS与等待时间,smartctl查看硬盘健康。
3) 内核与日志:dmesg | tail查看驱动或硬件错误,journalctl -u nginx -n 200查看应用日志异常。
4) 连接表与文件描述符:ss -s与ss -tanp查看TIME_WAIT与连接数,lsof -p
检查文件句柄占用。
5) 服务依赖性:确认数据库/缓存是否可达,使用mysqladmin ping或redis-cli ping检测后端服务。
6) 快速修复尝试:重启服务(systemctl restart nginx)、清理临时日志、释放inode满导致的问题(删除/var/log/old)。
4.
DDoS检测与CDN快速切换策略
1) 识别DDoS类型:SYN Flood/UDP Flood/HTTP GET Flood/慢速攻击,根据tcpdump流量特征判断。
2) 应用防护规则:临时启用iptables限制连接速率(--limit),或使用conntrack限制每IP连接数。
3) 借助CDN/清洗:立即将域名流量切至上游CDN或清洗服务(Cloudflare/本地清洗节点),切换TTL为低值以便回滚。
4) 黑洞策略与流量限制:与ISP协商黑洞或吸收流量,同时开启按来源/端口的ACL以保留管理访问。
5) 恢复验证:在流量受控后,用ab/httperf或curl并发测试真实业务响应并观察错误率。
6) 记录并通报:保留pcap样本与流量曲线,生成事件报告并更新DDoS响应 playbook。
5.
快速恢复与回滚预案
1) 冷启与KVM救援:若系统无法SSH,使用机房KVM或救援系统挂载磁盘修复配置。
2) 流量分流:将部分流量导向备用机房或云端镜像,以分散负载并保障核心业务可用性。
3) 数据库恢复:若数据库损坏,使用最近一次备份点进行恢复,优先保证事务一致性并记录丢失窗口。
4) 配置回滚:若升级引起问题,按照版本控制回退nginx/conf或系统内核参数,并验证服务恢复。
5) 验证项:通过synthetic checks(页面加载、API响应时间、PV/错误率)确认服务健康。
6) 演练与SOP更新:将本次故障步骤写入SOP,定期进行恢复演练并更新Runbook。
6.
真实案例:越南河内机房BGP路由中断恢复
1) 事件概述:2025-03-12 02:18,越南河内某客户前缀203.113.12.0/24被上游误撤,导致全球丢失路由公告。
2) 影响范围:影响10台生产服务器,外网不可达,业务接口错误率从0.5%飙升至95%。
3) 排查步骤:确认BGP Withdraw日志,联系上游NOC并要求重新广播;同时在本地开放备用公共IP并切换DNS。
4) 配置示例(受影响服务器):
| 项 | 示例值 |
| CPU | Intel Xeon E5-2630 v4 8核 |
| 内存 | 32GB DDR4 |
| 磁盘 | 480GB NVMe RAID1 |
| 带宽 | 100Mbps 保底 / 1Gbps 峰值 |
| 操作系统 | CentOS 7 (内核4.19) |
5) 恢复过程:上游在45分钟内恢复公告,临时DNS切换与CDN加速将感知窗口缩短至12分钟;最终恢复时间57分钟。
6) 经验总结:对越南本地IP应保持多出口BGP和低TTL DNS备份,关键路由应与上游签订快速工单通道。
7.
防范建议与长期优化措施
1) 多出口与Anycast:部署至少2条不同ASN链路并使用Anycast或BGP社区实现快速流量重路由。
2) CDN与本地清洗节点结合:前端用CDN做缓存和WAF,关键点在本地机房部署清洗节点以降低带宽成本。
3) 自动化监控与告警:设置mtr/traceroute自动化探测,带宽阈值、错误率、SYN队列长度告警并推送到值班人员。
4) 定期演练与演习:每季度进行一次断网/路由切换演练,记录RTO/RPO并优化SOP。
5) 日志与取证保留:关键事件保留pcap、系统日志与监控曲线至少90天,便于事后分析与责任划分。
6) 人员与合同:与越南IDC/ISP签订快速响应SLA、保留NOC直联联系人并定期同步技术方案。
来源:越南原生ip服务器故障排查流程与快速恢复方案分享