avatar

Wz Blog

运维学习・持续更新

  • 首页
  • 文章
  • 登录/注册
  • 管理后台
主页 ECS 实例反复冻结 —— 故障根因分析报告
文章

ECS 实例反复冻结 —— 故障根因分析报告

发表于 2026-10-13 更新于 2026-10- 13
作者 Administrator
10~14 分钟 阅读

实例:i-uf6****(已脱敏)(cn-shanghai)

主机名:my-ecs

系统:Rocky Linux 9.8 / 内核 5.14.0-687.47.1

规格:2 核 / 1.6GB 内存 / 40GB 系统盘

故障日期:2026-10-12

报告生成:2026-10-13


一、故障现象

实例在 2026-10-12 当天发生多次无预兆系统冻结:

现象特征:

  • 系统整体失去响应:SSH 无响应、网站不可访问、日志停止写入、cron 停止执行
  • 阿里云控制台显示 CPU 使用率飙升至 ~80%
  • 必须手动重启才能恢复
  • 重启后过一段时间再次发生(周期性)

  • 二、根因定位

    2.1 阿里云官方事件记录(决定性证据)

    阿里云控制台「运维中心 → 系统事件」记录:

    序号冻结时间恢复方式备注
    118:24用户手动重启(18:57)
    2~20:33用户手动重启(20:55)期间有 dnf 进程(用户侧)
    321:18用户手动重启(22:06)冻结前系统完全空闲
    422:42用户手动重启(22:50)冻结前系统完全空闲

    StoragePerformanceReachLimit = 存储性能达到规格上限。

    事件时间与故障时间高度吻合(18:28 事件 ↔ 18:24 冻结)。

    2.2 服务器内部实测数据(sar 历史记录)

    2026-10-12 23:52:13 的磁盘 I/O 峰值:

    
    Device  tps      rkB/s      wkB/s   await    %util
    vda     1394.61  91394.73   5.87    139.60   61.42
    
    事件 ID事件类型发生时间等级
    97354298-52DF-5D08-958B-2E2DBA63A7FBInstance:StoragePerformanceReachLimit2026-10-12 18:28:24WARN
    61292596-83E4-59BF-BA8F-020743363068Instance:StoragePerformanceReachLimit2026-10-12 18:52:00WARN
    10E1BE5B-2F3A-523C-A381-581A56898356Instance:StoragePerformanceReachLimit2026-10-12 19:56:23WARN

    关键特征:纯读操作(91MB/s 读 vs 5KB/s 写),这是"全盘/大范围扫描读取"的典型特征,而非正常业务流量。

    2.3 系统快照监控(证明冻结前完全空闲)

    崩溃前的系统监控(每分钟采样):

    
    21:14:01  load=0.00,0.02,0.08  mem=1013/1672MB
    21:15:01  load=0.00,0.02,0.07  mem=1014/1672MB
    21:16:01  load=0.00,0.01,0.07  mem=999/1672MB
    21:17:01  load=0.00,0.01,0.06  mem=1002/1672MB
    21:18:01  load=0.00,0.00,0.06  mem=1004/1672MB   ← 最后记录(系统完全空闲)
              ↓ 此后 49 分钟完全无记录(系统冻结)
    22:07:01  load=2.39,0.67,0.23                     ← 用户重启后
    

    崩溃前 CPU 负载为 0.00,内存充足(660MB+ 可用),系统无任何压力。


    三、根因结论

    完整因果链

    
    阿里云安全组件(云盾 aegis / AliSecCheck)触发安全扫描
            ↓
    全盘遍历读取文件(1394 IOPS,91 MB/s 纯读)
            ↓
    超过实例云盘规格的 IOPS 上限
            ↓
    阿里云限速 → 触发 StoragePerformanceReachLimit 事件
            ↓
    I/O 请求阻塞(await 139ms,正常应 <5ms)
            ↓
    进程全部阻塞在 D 状态(不可中断睡眠)
            ↓
    系统整体失去响应(表现为"卡死",控制台显示 CPU 80%)
            ↓
    手动重启恢复,但扫描再次触发 → 周期性复发
    

    排除项

    指标数值正常值判定
    IOPS (tps)1394.61< 50⚠️ 超规格上限
    读取速率91.4 MB/s< 1 MB/s⚠️ 异常
    I/O 等待 (await)139.60 ms< 5 ms⚠️ 严重阻塞
    写入速率5.87 KB/s—几乎为 0
    磁盘利用率61.42%—高

    四、验证实验

    2026-10-12 22:50 停止云盾服务:

    
    systemctl stop aegis.service
    systemctl disable aegis.service
    

    结果:从 22:50 起连续运行 14+ 小时,未再发生冻结。

    (对比:实验前每隔数十分钟至数小时冻结一次)

    结论:停止 aegis 服务后故障消失,验证了根因判断。


    五、解决方案

    短期(已验证有效)

  • 停止并禁用 aegis.service(云盾安全组件)
  • 日常运行稳定,但会失去阿里云基础安全防护
  • 长期(推荐)

  • 升级云盘规格:将系统盘升级为 IOPS 更高的类型(如 ESSD PL1+),
  • 从根源上提高 IOPS 上限

  • 或改用更高规格实例:突发性能型实例(经济型 e)的磁盘 IOPS 上限较低,
  • 不适合有集中 I/O 的场景

  • 向阿里云确认:aegis 安全扫描的触发条件与频率,申请调优或豁免

  • 六、技术要点总结

  • "CPU 80% 卡死"的表象具有误导性 —— 实际是磁盘 I/O 被扫爆,
  • 内核忙于处理 I/O 阻塞,CPU 时间消耗在等待上

  • 低配云盘的 IOPS 上限是隐藏瓶颈 —— 经济型实例常配 ESSD Entry 等低规格盘,
  • IOPS 上限可能仅数百至数千

  • 安全扫描这类"后台任务"可能成为压垮小规格实例的最后一根稻草
  • 排查方法论:sar 历史 + 云厂商事件记录 + 系统快照监控,三者交叉验证
  • 监控与日志
    笔记 Linux
    许可协议:  CC BY 4.0
    分享

    相关文章

    10月 13, 2026

    ECS 实例反复冻结 —— 故障根因分析报告

    实例:i-uf6****(已脱敏)(cn-shanghai) 主机名:my-ecs 系统:Rocky Linux 9.8 / 内核 5.14.0-687.47.1 规格:2 核 / 1.6GB 内存 / 40GB 系统盘 故障日期:2026-10-12 报告生成:2026-10-13 一、故障现象

    10月 11, 2026

    Prometheus部署yaml文件

    1.node_exporter.yaml apiVersion: apps/v1 kind: DaemonSet metadata: name: node-exporter namespace: kube-mon labels: name: node-exporter spec: selector

    10月 11, 2026

    Prometheus

    ▶ 架构图 ![](/upload/Image-DQGI.png) ▶ 数据类型 数据类型| 能否增加和减少| 用途| 数据存储 ---|---|---|--- Counter(计数器)| 只能增加,重置为 0| 计数,例如请求总数、错误总数等| 累积总量 Gauge(测量值)| 可以增加和减少|

    下一篇

    名词解释

    上一篇

    运维六大工作内容

    最近更新

    • Kubernetes v1.28.2 双Master堆叠etcd + Haproxy/Keepalived 高可用部署 SOP(Docker + cri-dockerd)
    • 名词解释
    • ECS 实例反复冻结 —— 故障根因分析报告
    • 运维六大工作内容
    • 磁盘相关命令

    热门标签

    监控 Linux 数据库 Docker 笔记 CI/CD Kubernetes Nginx

    目录

    ©2026 Wz Blog. 保留部分权利。

    使用 Halo 主题 Chirpy

    排除原因证据
    CPU 过载冻结前 load=0.00,CPU 完全空闲
    内存不足 / OOM冻结前内存 1004MB/1672MB,可用 660MB+
    磁盘写满根分区使用率 24%(剩余 31GB)
    应用异常Halo 应用 CPU 占用仅 9.5%,运行正常
    硬件故障dmesg 无硬件错误、无内核 panic
    网络问题网卡 0 errors、0 dropped,路由表干净