1.
简介与故障分类概述
1) 适用场景:面向在马来西亚机房部署、免备案面向国际/东南亚用户的网站与API服务。
2) 常见故障四类:网络连通性、域名/DNS解析、应用服务崩溃(进程/端口异常)、磁盘/文件系统问题与DDoS攻击。
3) 优先级划分:页面无法访问/大流量拒绝服务最高优先级,数据损坏次之,性能下降跟进处理。
4) 常用工具:ping/traceroute/mtr、dig/nslookup、tcpdump、top/htop、iostat、df、ss/netstat、iptables/ufw。
5) 恢复目标:短时恢复可用(回滚、流量隔离)与中长期修复(补丁、配置优化、演练)。
6) 日志与监控:建议接入Prometheus+Grafana、ELK或商业监控并设置报警阈值(如CPU>85%、丢包>5%)。
2.
网络连通性与高延迟排查
1) 初步诊断:本地ping到服务器:示例 ping 103.XX.XX.XX 平均延迟 30ms,丢包 15% -> 表明链路不稳定。
2) 路由追踪:traceroute 输出可见第5跳丢包或跳数异常,采用 mtr 查看每跳丢包率与延迟波动。
3) 带宽与拥塞:使用 iperf3 测试带宽,若上行/下行小于带宽保证(示例:1Gbps链路实测仅200Mbps且丢包高),可能是上游拥塞或对端限速。
4) MTU与分片:若出现长连接断开或TLS握手失败,检查MTU(常见MTU值1500或1400),调整net.ipv4.ip_no_pmtu_disc等参数。
5) 快速恢复:临时切换到备用BGP出口或启用CDN/加速节点,将关键流量导入健康节点,降低用户感知中断时间。
6) 长期建议:与云厂商运维确认链路质量,申请链路清查或提升SLA,考虑多区域部署与智能调度。
3.
域名与DNS解析故障处理
1) 常见症状:部分地区解析失败或解析到错误IP,dig A example.com +short 返回不一致。
2) 排查方法:使用多个公共DNS(8.8.8.8、1.1.1.1)及目标运营商DNS比对,确认是否为权威NS或缓存污染问题。
3) 临时解决:在紧急情况下通过修改权威DNS记录、降低TTL到60s并将流量指向备用IP或CDN节点实现秒级切换。
4) 安全性检查:验证DNS是否被劫持或篡改,启用DNSSEC可减少被污染风险;对管理平台启用多因素登录与操作审计。
5) 恢复流程:在DNS修改后使用 dig +trace 检查链路传播,确保各地缓存刷新并监控解析查询量异常。
6) 建议:主域名和api域名分别使用不同提供商做主从,预配置备份解析以便快速回切。
4.
应用服务/进程崩溃与端口不可用排查
1) 初步确认:用户报错502/504或连接超时,ssh登录后查看 systemctl status nginx / docker ps 等确认服务状态。
2) 资源占用:用 top 显示 CPU 92%、内存使用 90%(示例:4vCPU 8GB RAM,top显示load 15),定位是否OOM或线程泄露。
3) 套接字耗尽:ss -s 或 netstat -an | grep TIME_WAIT 检查大量 TIME_WAIT,调整 net.ipv4.tcp_tw_reuse、somaxconn、backlog。
4) 日志分析:检查 /var/log/nginx/error.log、应用日志和系统dmesg,看是否有段错误、权限或配额导致崩溃。
5) 快速恢复:重启应用进程或容器(systemctl restart/ docker restart),如重启无效,回滚到稳定版本或扩容节点并使用负载均衡导流。
6) 预防措施:配置进程管理(Supervisor、systemd restart on-failure)、设置healthcheck并在容器编排中自动替换不健康实例。
5.
磁盘、文件系统与备份恢复策略
1) 磁盘满导致写入失败:df -h 显示 / 100% 使用(示例:100GB NVMe 已用 100GB),应首先清理临时日志或扩容云盘。
2) 文件系统错误:dmesg/ journalctl 出现 ext4 错误或 I/O 错误,应尽快 umount 并在维护窗口运行 fsck。
3) 快速恢复:启用只读挂载保护重要文件,立即将关键数据快照并做快照回滚或在备用实例挂载快照恢复数据。
4) 备份策略:建议每日增量、每周全备并保留30天以上;同时把备份存放到不同可用区或对象存储(示例:S3/OBS/OSS)。
5) 恢复演练:定期做恢复演练,记录RTO(恢复时间目标)与RPO(数据丢失容忍),理想RTO<30分钟。
6) 权限与配额:设置inode与用户进程配额,防止日志风暴或爬虫导致磁盘瞬时耗尽。
6.
DDoS与异常流量防护与快速缓解
1) 识别特征:短时间内带宽激增(示例流量峰值200Mbps或更高,RPS 50k+),出现大量短连接与 SYN 报文。
2) 快速缓解手段:启用云厂商清洗服务(如5Gbps/10Gbps清洗),临时黑洞/限速,或将域名切换到CDN/云WAF。
3) 边缘策略:在CDN处启用WAF规则、rate limiting、IP信誉封禁,限制单IP并发或连接速率(nginx limit_req/limit_conn)。
4) 服务器端限流:使用 iptables/drop 或 nftables 按源IP速率限制,结合 fail2ban 拦截恶意请求。
5) 持续监控:使用netflow或tshark监控源IP分布,若为少数源发起可直接封禁AS或国家段。
6) 案例提示:某电商在促销期遭遇50k RPS HTTP flood,原生带宽承载不足,经快速切换到Cloudflare并启用I'm under attack后,页面可用率在5分钟内恢复至95%以上。
7.
真实案例与服务器配置示例(含配置表)
1) 案例概述:一家马来西亚本地电商使用免备案云服务器,流量主要来自东南亚,遇到高并发与一次小规模DDoS。
2) 原始配置:4vCPU、8GB RAM、100GB NVMe、公网带宽1Gbps、Ubuntu 20.04、单机部署,未启用CDN。
3) 问题表现:在促销首小时,CPU持续90%+,带宽瞬时达到300Mbps,响应时间从200ms升至2000ms并出现丢包;ssh响应延迟高。
4) 处置流程:启用CDN回流、在云端开通5Gbps清洗并黑洞恶意IP,同时水平扩容到2节点并配置负载均衡,最终响应时间恢复到<150ms。
5) 恢复结果:RTO达成25分钟,用户投诉下降90%,无数据丢失。
6) 推荐配置表(示例):以下为事件后稳定运行配置示例。
| 项 | 配置 |
| 地区 | Kuala Lumpur(MY) |
| 实例 | 4vCPU / 8GB RAM / 100GB NVMe |
| 带宽 | 1Gbps 公网 + 5Gbps 清洗 |
| 操作系统 | Ubuntu 20.04 LTS |
| 防护 | CDN(Cloudflare/本地CDN)+ 云清洗 + WAF |
| 监控 | Prometheus+Grafana + ELK 日志聚合 |
来源:马来西亚免备案云服务器常见故障排查与快速恢复方法