- 文档首页
云服务器
云服务器ECS
故障处理
操作系统问题
Linux操作系统问题
如何规避由于操作系统内核问题,导致第3代DPU规格实例磁盘偶发出现IO hang?
Linux操作系统问题
如何规避由于操作系统内核问题,导致第3代DPU规格实例磁盘偶发出现IO hang?
如何规避由于操作系统内核问题,导致第3代DPU规格实例磁盘偶发出现IO hang?
第3代DPU规格实例(例如通用型g3a/g3i、计算型c3a/c3i、内存型r3a/r3i)出现IO hang问题,实例挂载的磁盘出现IO操作长时间处于挂起或停滞状态,导致系统响应缓慢甚至无响应。
问题原因
由于不同版本的操作系统内核配置不一,部分内核可能导致第3代DPU规格实例(例如通用型g3a/g3i、计算型c3a/c3i、内存型r3a/r3i)磁盘出现不同的IO hang问题。
- 使用低版本内核的CentOS 7.x、Ubuntu 16.04、Ubuntu 18.04及Debian 9操作系统,在IO合并较多且深度较大时,有较低概率触发virtio_blk的缺陷,导致出现IO hang问题。解决方案。
- 使用部分内核版本的veLinux、CentOS、Ubuntu操作系统,在高负载场景下,有概率触发内核时序异常问题,进而引发WBT(Writeback Threads)与block-core相互阻塞出现IO hang问题。解决方案。
说明
您可以使用VNC登录目标实例并执行dmesg -T命令,若回显包含下图红框标识内容,表示您实例的IO hang问题是由WBT与block-core相互阻塞引起。
解决方案
平台为您提供了blk-none工具,该工具会根据实例磁盘类型,将磁盘调度算法置为none或者noop避免该问题出现。
说明
- 若由于业务限制暂不能重启实例时,您可以根据本步骤指引临时解决问题,但重启实例后配置将失效。
- 若可以重启实例,您可跳过本步骤执行步骤3,通过blk-none工具,持久化解决问题。
-
请将命令中<vdx>替换为上一步中查询获取的实际磁盘名,例如:vda。
- Ubuntu 16.04/Ubuntu 18.04/Debian 9
- Ubuntu 16.04/Ubuntu 18.04/Debian 9
- 重启实例,工具将在实例启动后自行生效并完成调整配置。
工具生效后,您挂载新的数据盘时无需再次重启实例,工具将自动调整新数据盘配置。
平台为您提供了bytedance-iohung-tools工具,该工具会检测当前操作系统是否存在IO hang问题;若存在,则通过更改wbt_lat_usec参数配置尝试规避WBT引发的IO hang问题。
说明
bytedance-iohung-tools工具暂仅支持在如下操作系统中使用:
- 执行如下命令,配置extra-tools软件源。
veLinux
CentOS
Ubuntu
Debian
CentOS 8.3/CentOS Stream 8
- veLinux CentOS 兼容版/CentOS/CentOS Stream
- 执行如下命令,安装bytedance-iohung-tools工具。
- veLinux CentOS 兼容版/CentOS/CentOS Stream
-
- (可选)您还可以按需执行如下命令,删除已安装的bytedance-iohung-tools工具。
- veLinux CentOS 兼容版/CentOS/CentOS Stream
最近更新时间:2026.01.21 12:04:00