1.
故障初步识别与分类
(1)判断是否为网络层故障:外网无法访问但机房内管理网可达。
(2)判断是否为主机资源耗尽:使用top、htop、free -m确认CPU/内存是否满载。
(3)判断是否为磁盘或文件系统问题:查看dmesg、smartctl -a、df -h。
(4)判断是否为服务进程崩溃:systemctl status nginx/mysql/sshd 或 ps aux | grep 进程名。
(5)判断是否为DNS/域名解析问题:dig +short example.com @8.8.8.8、nslookup。
(6)判断是否为外部攻击(如DDoS):使用iftop、vnstat或带宽监控查看瞬时流量峰值,参考阈值 >= 1Gbps 视为大流量攻击。
2.
快速排查网络连通与路由
(1)本地检查:ip addr show / ip route show 确认公网IP与网关配置正确。
(2)远端检测:从外网执行ping、traceroute到服务器公网IP,确认丢包或跳点异常。
(3)端口检查:使用ss -tulnp 或 netstat -tulnp 确认服务监听端口与绑定地址。
(4)抓包分析:tcpdump -i eth0 host 1.2.3.4 and port 80 保存到文件进行分析。
(5)对外路由问题:与IDC/机房确认BGP或上游链路中断,记录故障时间与影响范围以便申报工单。
3.
磁盘与文件系统故障恢复流程
(1)检测SMART:smartctl -a /dev/sda 查看Reallocated_Sector_Ct、Current_Pending_Sector,若重映射扇区>10则建议更换。
(2)文件系统一致性:umount /data && fsck.ext4 -f /dev/vg0/lv_data 或在单用户模式运行fsck。
(3)RAID降级处理:cat /proc/mdstat 查看状态;mdadm --detail /dev/md0 获取信息,若磁盘掉线,执行mdadm --add /dev/md0 /dev/sdb。
(4)LVM卷快照恢复:使用lvcreate --snapshot -L1G -s -n snap_before_fix /dev/vg0/lv_data 做快照再测试恢复。
(5)数据恢复:若误删可用extundelete或通过备份(rsync/增量备份)恢复到最近可用点,优先保证业务连续性再做彻底修复。
4.
服务进程与应用层故障处理
(1)重启策略:先优雅重启服务(systemctl restart nginx),若未响应查看日志(/var/log/nginx/error.log)。
(2)日志排查:使用journalctl -u 服务名 -n 200 或 tail -f 指定日志追踪异常堆栈。
(3)配置回滚:若最近改动导致故障,立即回滚到上一个稳定配置并reload服务。
(4)数据库故障:检查mysql/pg状态,使用mysqlcheck或pg_isready,若InnoDB崩溃使用innodb_force_recovery临时挂载。
(5)演练容灾切换:若主节点不可用,按预案将流量切到热备/只读节点并保证事务一致性,记录切换时间与影响范围。
5.
DDoS攻击识别与即时缓解
(1)识别特征:短时间连接数急剧上升、SYN包泛滥、流量来源单一或分布异常。
(2)本地防护:使用iptables/ufw限制单IP并发连接与速率,如iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 100 -j DROP。
(3)升级带宽与清洗:与机房/运营商申请流量清洗或启用CDN清洗服务,记录清洗带宽与命中率。
(4)使用云防护:在CDN/防火墙侧设置WAF规则、黑名单与速率限制以拦截异常请求。
(5)日志关联分析:结合web访问日志、tcpdump和防护设备日志确定攻击模式并生成永久规则。
6.
域名、DNS与CDN相关故障处理
(1)DNS解析延迟或错误:检查域名解析记录A/AAAA/CNAME是否被误改,TTL值设置建议为300秒在故障期便于快速切换。
(2)CDN回源异常:确认CDN回源IP是否被错误屏蔽或变更,检查回源端口连通性与证书是否过期。
(3)SSL证书问题:openssl s_client -connect example.com:443 查看链路,确认证书链与SNI配置。
(4)域名被劫持:对比WHOIS与域名注册商控制台,启用域名锁并联系注册商恢复。
(5)切换策略:在DNS/CDN中配置备用IP或启用备用节点(热备),并测试TTL生效时间以评估切换延迟。
7.
备份、恢复时间目标与演练
(1)备份频率:数据库每日全量+每小时增量,文件系统每日差异备份,关键配置实时同步。
(2)恢复时间目标(RTO):根据业务等级设定,关键业务RTO ≤ 30 分钟,次要服务RTO ≤ 4 小时。
(3)恢复点目标(RPO):数据库RPO ≤ 1 小时,文件RPO ≤ 24 小时。
(4)演练计划:每季度演练主备切换与完整恢复流程,记录耗时并优化步骤。
(5)监控报警:Prometheus+Alertmanager或Zabbix监控关键指标并与值班组短信/电话联动。
8.
真实案例与配置示例(澳门中小企业场景)
(1)案例简介:澳门某电商主站(www.example-mo.com)遭遇高并发促销期,突发带宽攻击导致网站无法访问。
(2)服务器初始配置:物理机:Intel Xeon E5-2620 x8,RAM 64GB,RAID10 4x1TB SSD,公网10Gbps口;VPS备用:2 vCPU/4GB/100GB。
(3)处理过程:0-5分钟:切换CDN到“清洗模式”;5-20分钟:在源站启用iptables限制并下发WAF规则;20-45分钟:与机房启用上游流量清洗,网站恢复可用。
(4)恢复数据:攻击峰值流量为2.3Gbps,清洗后回落到正常峰值120Mbps;故障总时长45分钟,业务损失可控。
(5)后续措施:增加备用机房热备、缩短DNS TTL至60秒并定期演练。以下为示例恢复时间与配置对照表:
| 项目 |
原始值 |
目标/建议 |
| 峰值流量 |
2.3 Gbps |
清洗后 < 200 Mbps |
| RTO |
45 分钟 |
≤ 30 分钟(关键业务) |
| 服务器配置 |
Xeon E5 x8 / 64GB / RAID10 4x1TB SSD |
建议增加 2 节点热备 + CDN |
| 备份策略 |
每日全量+小时增量 |
数据库每小时全量或主从同步 |
9.
总结与最佳实践
(1)建立完备的监控与告警体系,提前发现异常并量化阈值。
(2)保持配置与关键数据的多地备份,定期校验备份可用性。
(3)和机房/ISP建立快速联络通道,突发流量时及时申请带宽清洗。
(4)通过CDN、WAF和云清洗组合实现多层防护,降低单点故障风险。
(5)定期演练故障恢复流程并记录每次恢复时间与改进点,确保澳门本地业务的高可用性与可恢复性。
来源:澳门电脑服务器常见故障诊断与快速恢复流程