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
这个页面对您有帮助吗?
有用
有用
无用
无用