1.
概述与适用范围
1) 适用对象:本文适用于托管于台湾彰化(Changhua)机房的VPS、云主机与边缘节点。
2) 目标:对常见网络、磁盘、CPU/内存、服务异常与域名/CDN问题给出可操作的排查与处置步骤。
3) 前提:需具备远程SSH(或控制台)及机房/带宽提供商联系方式、管理权限。
4) 输出:每次故障后需生成事件工单,包含时间轴、命令输出与恢复措施。
5) 限制:涉及物理故障(硬盘损坏/电源)需联系机房工程师配合现场更换处理。
2.
常见故障类型
1) 网络中断或丢包:外网不可达、延迟高或丢包率高于1%。
2) 带宽拥塞或流量异常:短时流量突增(如DDoS)导致链接超时。
3) 磁盘IO/空间耗尽:服务响应慢、写操作阻塞或inode耗尽。
4) 进程崩溃/服务不可用:Web/数据库进程退出或OOM导致重启。
5) DNS/域名解析与证书问题:域名解析错误、证书过期或CDN配置错误。
6) 操作系统/内核异常:内核panic、升级失败或驱动问题。
3.
初始排查与信息收集
1) 获取时间点与影响范围:记录故障开始时间、受影响的子域与用户。
2) 登录方式:尝试SSH登录(ssh root@203.66.58.12:22)或使用机房控制台。
3) 基础命令检查:执行 uptime、free -m、df -h、top、ss -tunapl、journalctl -xe。
4) 网络连通性:ping 8.8.8.8、traceroute -n 8.8.8.8、mtr -r -c 20 1.1.1.1 并保存结果。
5) 采集日志:应用日志、/var/log/syslog、/var/log/messages、nginx/uwsgi 日志并打包(tar czf incident_logs.tgz /var/log/...)。
4.
网络与路由排查步骤
1) 验证本地网络:ip addr show、ip route show、cat /etc/resolv.conf。
2) 检查端口监听:ss -lntp | grep 80,确认服务是否在预期端口上监听。
3) 路由与对端:traceroute/ mtr 核查到上游机房交换节点是否丢包。
4) NAT/防火墙规则:iptables -L -n 或 nft list ruleset,确认无误封锁。
5) DNS解析链路:dig @8.8.8.8 example.com A +short 与 dig @本机ns 检查TTL与A记录是否一致。
5.
磁盘与IO问题处理(含配置示例表)
1) 盘空间检查:df -h /var 显示分区使用率超过85%需清理或扩容。
2) IOPS与延迟:iostat -x 1 3 或 sar -d 1 3,若await>20ms需关注IO瓶颈。
3) inode耗尽:df -i 检查inode使用情况,若100%需清理小文件。
4) 文件系统修复:umount 后使用 fsck.ext4 -f /dev/vda1(注意备份)。
5) LVM与扩容:lvextend -L +20G /dev/vg0/volume && resize2fs /dev/vg0/volume。
| 配置项 | 示例值 |
| CPU | Intel Xeon E5-2620 v4 8 cores |
| 内存 | 16GB DDR4 |
| 硬盘 | 240GB NVMe SSD(/dev/nvme0n1) |
| 带宽 | 100Mbps 对等(可Burst至500Mbps) |
| 操作系统 | Ubuntu 20.04 LTS |
6.
CPU/内存与服务崩溃处置
1) 实时监控:top 或 htop 查看负载与占用最高进程,记录进程ID。
2) 内存异常:dmesg | grep -i oom 查看是否触发OOM killer,若频繁需增加swap或内存。
3) 进程重启策略:systemctl restart nginx && journalctl -u nginx -n 200 检查启动日志。
4) 临时缓解:优先杀掉泄露进程(kill -9 PID)或限制进程资源(systemd ResourceControl)。
5) 长期优化:升级应用、优化SQL查询、加入缓存(Redis/Memcached)并横向扩展实例。
7.
DNS、域名与CDN问题排查
1) DNS记录核对:使用 dig +trace example.com,确认权威DNS返回一致记录。
2) TTL与缓存:若修改记录后未生效,检查TTL配置并确认CDN/解析服务已刷新。
3) CDN配置:确认CDN回源IP已正确设置为机房出口IP并允许CDN节点访问源站。
4) 证书问题:检查证书链 openssl s_client -connect example.com:443 -servername example.com,确认证书未过期。
5) 域名续费与WHOIS:定期检查域名到期日并启用自动续费以避免突发不可解析。
8.
DDoS防护与流量清洗策略
1) 流量阈值设定:常规上游带宽100Mbps,设置告警阈值为总带宽的70%(即70Mbps)。
2) 快速响应:若检测到突发流量(如>300Mbps或>100k PPS),立即通知上游并申请流量清洗。
3) 清洗与黑洞:联系ISP启用Scrubbing或BGP黑洞(仅在不可用时使用,避免误杀)。
4) CDN前置与WAF:将静态与大流量流量切换到CDN并启用WAF/速率限制,减轻源站压力。
5) 事后分析:保存tcpdump(tcpdump -w attack.pcap -s 0)与防火墙日志,用于溯源与规则优化。
9.
实际案例:彰化机房一次DDoS事件复盘
1) 事件概述:2025-03-12 02:10 本机房一客户VPS(IP 203.66.58.12)遭受TCP SYN Flood,流量峰值约350Mbps,PPS峰值约120k。
2) 初步影响:网站响应超时,nginx 连接数暴增导致进程崩溃并触发OOM。
3) 处置步骤:启用CDN回源并切换到静态页面;联系上游ISP在10分钟内启用流量清洗;在源站增加IPtables速率限制(iptables -A INPUT -p tcp --syn -m limit --limit 100/second -j ACCEPT)。
4) 恢复结果:30分钟内页面可访问性恢复到95%,3小时内流量稳定;后续对应用进行了连接数与超时优化。
5) 持续改进:为该客户增加自动化监控告警(Prometheus+Alertmanager),并建议购买带Scrubbing的托管防护与增加冗余节点。
10.
运维建议与日常规范化操作
1) 监控与告警:关键指标(带宽、CPU、磁盘、响应时间)设置阈值并通知值班工程师。
2) 定期备份:数据库每日增量、每周全备并在异地保存快照(保留30天)。
3) 演练流程:定期进行故障演练与恢复演练,检查SOP有效性。
4) 补丁与升级:在维护窗口做内核与软件更新,评估兼容性并备份配置。
5) 文档与工单:每次事件结束后撰写事故报告,记录根因、处置与改进项,形成知识库。
来源:台湾彰化机房vps常见故障排查与运维处理步骤