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

云服务器

复制全文
下载 pdf
Linux操作系统问题
Linux实例NVMe磁盘的I/O超时参数配置不当的解决方法
复制全文
下载 pdf
Linux实例NVMe磁盘的I/O超时参数配置不当的解决方法
若Linux系统的ECS实例使用NVMe系统盘后,因I/O超时参数配置不当(NVMe磁盘配置的I/O读写超时的时间过小),出现了非预期的慢I/O读写,导致系统和应用程序异常或业务中断,您可以通过调整NVMe驱动的io_timeout参数解决该问题。​
说明​
慢I/O读写:指在磁盘读写过程中,输入/输出操作的执行速度低于期望或需要的时间。​
问题原因​
NVMe驱动中的io_timeout参数用于控制最大能够容忍的I/O超时时间,若I/O读写操作的延迟过高,超过了该参数的配置值,则NVMe驱动会返回I/O失败,将会导致NVMe磁盘上的文件系统从原来挂载的可读、写的状态,切换为只读不可写的状态,使其后续的写操作均失败,进而导致系统和应用程序异常或者业务中断。​
说明​
大部分Linux发行版本中参数默认配置为30秒。​
操作步骤​
​
配置io_timeout参数(临时)
配置io_timeout参数(永久)
​
说明​
临时配置的io_timeout参数,重启实例后将会失效。​
  1. 登录目标实例,操作详情可参考登录Linux实例。​
  1. 执行以下命令,检查io_timeout参数所在的内核模块路径。​
  • ​
    cat /sys/module/nvme_core/parameters/io_timeout​
    ​
说明​
因内核版本不同,NVMe驱动的内核模块可能也有所不同,一般包括nvme.ko 或nvme_core.ko,所以完整的超时参数名称为nvme.io_timeout或nvme_core.io_timeout。​
  1. 执行以下命令,将期望的超时时间写入内核模块中,设置完成后立即生效。​
  • ​
    sudo sh -c 'echo {Value} > /sys/module/nvme_core/parameters/io_timeout'​
    ​
  • 或​
  • ​
    sudo sh -c 'echo {Value} > /sys/module/nvme/parameters/io_timeout'​
    ​
说明​
请将命令中的Value替换为实际待调整的超时时间。​
​
最近更新时间:2025.04.28 10:09:44
这个页面对您有帮助吗?
有用
有用
无用
无用