人生总是充满惊喜,这次的故障排查就像一部短篇侦探小说 —— 表象迷惑,真相隐藏,转折不断。
平静的暴风雨前夕
2024年2月10日,这个本该平静的周末清晨,成为了一段意想不到的故障排查之旅的开端。
第一幕:蛛丝马迹
10:00,例行查看服务器状态时,1panel面板突然无法访问。有趣的是,博客和Navidrome服务看似一切正常,只是速度略显蹒跚 —— 现在想来,这个微妙的"略显"正是灾难的预兆。
SSH连接失败后,不得不祭出VNC大法。系统负载70%,看起来有点高,但也不至于触发警报。直到查看UFW状态时,一个意外的发现让整个故事出现了转折:
To Action From
-- ------ ----
22 Reject 10.1.2.1
第二幕:真相浮出水面

原来,服务器的内网地址竟然被Fail2ban拉入黑名单!这源自于服务器当前的架构特点:服务器采用IPv4 NAT + IPv6独立IP的配置方案,平时的SSH连接都是通过内网端口映射实现的。
第三幕:峰回路转
当以为问题告一段落时,更大的挑战接踵而至。博客加载速度持续下降,Jetpack甚至发来了宕机警报。重启服务器后,情况不但没有好转,反而在GRUB引导界面石化了。
最终,上游服务商道出了真相:同一台机器上,有用户在5分钟内产生了超过500G的磁盘读写,导致服务器被强制停机。据说是在解压"颜色视频",但如此惊人的IO量着实令人费解。
后记与思考
- 这次事件的复杂性在于多个问题的叠加效应,某种程度上干扰了问题定位的准确性。
- 硬盘滥用问题在两天后再次出现,15分钟内产生2T读写,真是令人费解的邻居。
- 7iNet的服务确实经济实惠,但对运维能力有较高要求。
- IPv6的应用现状:
- 中国在IPv6推广方面反而强于欧洲
- BT/PT追踪器仍主要依赖IPv4
- 欧洲地区IPv6部署相对滞后
- 感谢 @piowonsler 提供的 IO 性能测试数据:
~> sudo hdparm -Tt /dev/vda1
/dev/vda1:
Timing cached reads: 15286 MB in 1.99 seconds = 7670.11 MB/sec
Timing buffered disk reads: 100 MB in 3.01 seconds = 33.20 MB/sec
~> sudo hdparm -Tt /dev/vda1
/dev/vda1:
Timing cached reads: 16274 MB in 1.99 seconds = 8165.37 MB/sec
Timing buffered disk reads: 218 MB in 3.03 seconds = 72.02 MB/sec
总结
- 服务器监控:及时发现异常的重要性
- 安全配置:Fail2ban的误判问题需要注意
- IO监控:磁盘读写监控的重要性
- 网络架构:IPv4/IPv6混合部署的优劣权衡
Comments | NOTHING