赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 云服务器 ECS
  4. 实践教程
  5. 稳定性最佳实践
  6. 故障演练
  7. 磁盘和IO演练
  8. 磁盘IO Hang演练

磁盘IO Hang演练

  • 磁盘和IO演练
  • 发布于 2025-04-01
  • 0 次阅读
文档编辑
文档编辑

IO Hang是指在进行读或写操作时,系统因为某些原因无法完成这些操作,导致进程或系统无法继续正常工作的一种情况。其可以由多种原因引起,包括硬件故障、驱动问题、文件系统错误、网络延迟或拥塞等。这对业务产生性能下降,服务延迟,数据一致性问题等风险。通过此演练场景验证系统在磁盘发生IO Hang时的告警和恢复情况。

使用限制

仅支持Alibaba Cloud Linux 3/2等兼容Cgroup v1的Linux发行版。

实现原理

本方案使用云助手插件ACS-ECS-IoHang,使用Cgroups对磁盘进行限速。其中Cgroups是Linux内核提供的一种可以限制单个或多个进程所使用资源的机制,可以对CPU、内存、IO资源、网络带宽实现精细化的控制。

使用指南

演练准备

请确保您的ECS实例已安装云助手Agent,并且云助手状态为正常。具体操作,请参见查看云助手状态及异常状态处理。

故障注入

  1. 登录ECS实例。

    具体操作,请参见使用Workbench工具以SSH协议登录Linux实例。

  2. 使用具有sudo访问权限的用户,运行云助手插件ACS-ECS-IoHang。

    sudo acs-plugin-manager --exec --plugin ACS-ECS-IoHang --params inject,disk=vda,[duartion=paramA]

    []内为可选故障注入参数,参数说明:

    • disk(必选):指定目标磁盘。您可以使用lsblk查看当前系统挂载的磁盘,如需对所有磁盘注入可指定disk=all。

    • duartion(可选):持续时间,单位为秒,默认为300。

  3. 查看故障注入是否成功。

    • 如显示以下结果,说明故障注入成功。

      image

    • 检查业务读写是否符合预期。

故障恢复

  • 方法一(推荐):等待超时自动恢复。

    说明

    默认300s后会自动退出,对系统盘注入,因场景特殊,可能发生无法自动恢复情况,请在控制台执行强制重启实例,具体操作,请参见重启实例。

  • 方法二:仅对数据盘注入,在ECS实例中执行故障恢复命令。

    sudo acs-plugin-manager --exec --plugin ACS-ECS-IoHang --params recover

演练案例

使用lsblk命令查看和选择当前系统挂载的磁盘,以数据盘(vdb)为例,进行故障注入。

  1. 为了更直观地观察演练效果,模拟业务对磁盘vdb读取场景,如有实际业务可跳过。

    sudo dd if=/dev/vdb of=/dev/null

    在iotop命令中查看当前IO占用情况。

    说明

    如未安装iotop工具,可执行以下命令安装。

    • Alibaba Cloud Linux 3/2、CentOS 7

      sudo yum install -y iotop
    • Ubuntu、Debian

      sudo apt install -y iotop

    image

  2. 执行故障注入。

    sudo acs-plugin-manager --exec --plugin ACS-ECS-IoHang --params inject,disk=vdb,duartion=120

    返回如下所示,显示注入参数和指定设备的主设备号和副设备号,表示注入成功。

    image

  3. 查看注入效果。

    查看iotop命令中查看IO占用情况,当前磁盘读取速度已跌至0 B/s。

    image

  4. 等待故障恢复。

    注入超时后,模拟的业务进程速度已恢复。

    image

相关文章

磁盘IO Hang演练 2025-04-01 11:57

IO Hang是指在进行读或写操作时,系统因为某些原因无法完成这些操作,导致进程或系统无法继续正常工作的一种情况。其可以由多种原因引起,包括硬件故障、驱动问题、文件系统错误、网络延迟或拥塞等。这对业务产生性能下降,服务延迟,数据一致性问题等风险。通过此演练场景验证系统在磁盘发生IO Hang时的告警

磁盘IO高负载演练 2025-04-01 11:57

IO高负载是一种常见的故障现象,可能由于过高的业务进程负载、非预期的非业务进程占用、内存资源不足等因素导致。IO高负载可能会导致业务性能受损,数据丢失等风险。因此通过此演练场景验证系统在IO高负载时的告警和恢复情况。 实现原理 本方案使用云助手插件ACS-ECS-HighIo

磁盘容量利用率高演练 2025-04-01 11:57

磁盘容量利用率过高,可能会引发系统性能下降、系统崩溃、数据丢失等问题。通常由数据积累、临时文件堆积等原因引起。通过此演练场景验证在磁盘利用率高甚至占满情况下,系统能否稳定运行以及保障数据不丢失。 实现原理 本方案使用云助手插件ACS-ECS-FillDisk,输入目标路径和目

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号