🧭 问题背景

  • 云服务器平台:阿里云ECS服务器

  • 系统架构:Ubuntu 22.04

  • 使用 1Panel 作为容器管理面板,在部署了MaxKB之后出现下面的现象:

突发现象:

❌ 所有网站服务无法访问

❌ SSH/VNC 无法连接

📈 控制台数据显示:

- CPU 占用率:80%+

- 每分钟连接数持续上升(约 +6/分钟)

- 总带宽 & 公网带宽:持续升高

- 磁盘读取/写入 BPS:持续 100M 以上

🧩 初步排查

✅ 排除网络攻击

  • 流量特征较稳定,连接数上升不快;

  • 没有异常 IP 异常刷请求;

  • CPU 负载高但非满载,怀疑为系统内部资源阻塞

✅ 强制重启无效

  • 多次重启后依然无法恢复正常访问;

  • 一重启 CPU 就迅速爬升、磁盘读取立刻满载。

✅ SSH/VNC 依然连接失败

  • 怀疑是 I/O 或日志导致系统假死。


🔍 问题定位

⛳ 聚焦 Docker 服务

  • 强制关闭所有 Docker 容器;

  • CPU 降至 50%,连接数回落至个位数

  • 但磁盘读取仍然是 100MB/s!

🎯 击中核心问题 —— 1Panel

  • 推测为 1Panel 在后台不停读取某个容器的日志;

  • 关闭 1Panel 后,系统立即恢复:

    • 磁盘读取恢复正常

    • SSH/VNC 能正常访问

    • 系统响应正常

✅ 问题确认为:

1Panel 在读取某个日志量过大/持续刷屏的容器日志时卡死,导致磁盘读取持续满载,拖垮系统 I/O。


🛠️ 问题修复方法

🔌 立即止血:

在阿里云ECS管理界面强制停止此实例,然后重启,在重启之后会有一小段时间可以连接ssh(约10秒),连接之后立即执行以下命令关闭1Panel:

1pctl stop

❌ 删掉 引发此问题的Docker 容器:MaxKB

docker stop maxkb
docker rm maxkb


🧠 教训总结

  • 面板工具虽便捷,但不能盲目读取大型日志文件,尤其是 JSON 日志滚动频繁的容器;

  • Docker 默认日志策略是无限增长,需要强制设置日志限制

  • 磁盘 I/O 满载不一定是写太多,读也能打爆系统

  • SSH 连不上的时候,多半是 I/O 被拖死,不一定是网络或攻击问题。


🪧 尾注

如果你也遇到类似问题,不妨:

  • 检查磁盘 I/O

  • 优先排查日志读取问题

  • 保持容器日志管理良好

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐