You need to enable JavaScript to run this app.
文档中心
云服务器

云服务器

复制全文
下载 pdf
Linux操作系统问题
如何规避由于操作系统内核问题,导致第3代DPU规格实例磁盘偶发出现IO hang?
复制全文
下载 pdf
如何规避由于操作系统内核问题,导致第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问题。解决方案
  • WBT与block-core相互阻塞
  • 使用部分内核版本的veLinux、CentOS、Ubuntu操作系统,在高负载场景下,有概率触发内核时序异常问题,进而引发WBT(Writeback Threads)与block-core相互阻塞出现IO hang问题。解决方案
说明
您可以使用VNC登录目标实例并执行dmesg -T命令,若回显包含下图红框标识内容,表示您实例的IO hang问题是由WBT与block-core相互阻塞引起。
解决方案
操作系统内核版本较老
平台为您提供了blk-none工具,该工具会根据实例磁盘类型,将磁盘调度算法置为none或者noop避免该问题出现。
  1. (可选)手动调整磁盘调度算法,临时解决问题。
说明
  • 若由于业务限制暂不能重启实例时,您可以根据本步骤指引临时解决问题,但重启实例后配置将失效。
  • 若可以重启实例,您可跳过本步骤执行步骤3,通过blk-none工具,持久化解决问题。
  1. 执行如下命令,查看磁盘信息。
  • lsblk
  • 回显示例:
  1. 手动为每个磁盘配置调度算法。
请将命令中<vdx>替换为上一步中查询获取的实际磁盘名,例如:vda。
  • echo "none" > /sys/block/<vdx>/queue/scheduler
  1. 安装blk-none工具,持久化解决问题。
  1. 执行如下命令,通过安装blk-none工具。
  • 通过火山引擎内网安装
  • CentOS 7.x
  • wget http://mirrors.ivolces.com/extra-tools/centos/7/rpms/blk-none-v1.0.1-1.ve1.x86_64.rpm
    yum install ./blk-none-v1.0.1-1.ve1.x86_64.rpm
  • Ubuntu 16.04/Ubuntu 18.04/Debian 9
  • wget http://mirrors.ivolces.com/extra-tools/ubuntu/pool/main/b/blk-none/blk-none_1.0.1_amd64.deb
    apt install ./blk-none_1.0.1_amd64.deb
  • 通过公网安装
  • CentOS 7.x
  • wget https://blk-none.tos-cn-beijing.volces.com/blk-none-v1.0.1-1.ve1.x86_64.rpm
    yum install ./blk-none-v1.0.1-1.ve1.x86_64.rpm
  • Ubuntu 16.04/Ubuntu 18.04/Debian 9
  • wget https://blk-none.tos-cn-beijing.volces.com/blk-none_1.0.1_amd64.deb
    apt install ./blk-none_1.0.1_amd64.deb
  1. 重启实例,工具将在实例启动后自行生效并完成调整配置。
工具生效后,您挂载新的数据盘时无需再次重启实例,工具将自动调整新数据盘配置。
WBT与block-core相互阻塞
平台为您提供了bytedance-iohung-tools工具,该工具会检测当前操作系统是否存在IO hang问题;若存在,则通过更改wbt_lat_usec参数配置尝试规避WBT引发的IO hang问题。
说明
bytedance-iohung-tools工具暂仅支持在如下操作系统中使用:
操作系统
发行版本
内核版本
veLinux
  • veLinux 1.0 64 位
  • veLinux 1.0 CentOS兼容版 64位
4.10.x ≤ 内核版本 ≤ 6.8.x
CentOS
  • CentOS 8.3 64 位
  • CentOS Stream 8 64 位
Ubuntu
  • Ubuntu 16.04 64 位
  • Ubuntu18.04 64 位
  • Ubuntu 20.04 64 位
  • Ubuntu 22.04 64 位
  • Ubuntu 24.04 64 位
Debian
  • Debian 10 64 位
  • Debian 11 64 位
  1. 执行如下命令,配置extra-tools软件源。
  • veLinux
    CentOS
    Ubuntu
    Debian
    • veLinux 1.0
    • wget -O - https://mirrors.ivolces.com/extra-tools/velinux/GPG-KEY-system | apt-key add -
      cat << EOF > /etc/apt/sources.list.d/extra-tools.list
      deb https://mirrors.ivolces.com/extra-tools/velinux orion main
      EOF
    • veLinux 1.0 CentOS 兼容版
    • cat << EOF > /etc/yum.repos.d/extra-tools.repo
      [extra-tools]
      name=extra-tools
      baseurl=https://mirrors.ivolces.com/extra-tools/velinux-centos/1/rpm
      gpgcheck=1
      gpgkey=https://mirrors.ivolces.com/extra-tools/velinux-centos/GPG-KEY-system
      EOF
  1. 执行如下命令,更新软件源。
  • veLinux/Ubuntu/Debian
  • apt-get update
  • veLinux CentOS 兼容版/CentOS/CentOS Stream
  • yum makecache
  1. 执行如下命令,安装bytedance-iohung-tools工具。
  • veLinux/Ubuntu/Debian
  • apt-get install -y bytedance-os-assistants
  • veLinux CentOS 兼容版/CentOS/CentOS Stream
  • yum install -y bytedance-os-assistants
  1. 执行如下命令,确认工具运行情况。
  • systemctl status bytedance-iohung-tools.service
  • 回显如下时,表示工具已安装并正常运行。
  1. (可选)您还可以按需执行如下命令,删除已安装的bytedance-iohung-tools工具。
  • veLinux/Ubutun
  • apt-get remove -y bytedance-os-assistants
  • veLinux CentOS 兼容版/CentOS/CentOS Stream
  • yum remove -y bytedance-os-assistants
最近更新时间:2026.01.21 12:04:00
这个页面对您有帮助吗?
有用
有用
无用
无用