全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

为镜像安装NVMe驱动

最近更新时间:2026-02-11 15:38:27

概述

NVMe(Non-Volatile Memory Express)是专为块存储设备设计的高性能存储协议。安装NVMe驱动后,您的自定义镜像将能正确识别和使用基于NVMe协议的高性能块存储设备,从而完全解锁低延迟、高吞吐量的存储性能,并支持多重挂载等高级功能。本文旨在帮助用户为自定义操作系统镜像安装NVMe驱动。

适用场景

基于支持NVMe协议的标准镜像制作的自定义镜像,将自动获得NVMe支持并保留相关标签。通过其他方式导入的自定义镜像,需手动安装NVMe驱动,并在控制台为镜像配置NVMe属性,以确保所有依赖NVMe协议的功能可以正常使用。

  1. 计划通过NVMe协议使用高性能块存储设备

  2. 需要使用多重挂载功能共享块存储设备

操作步骤

步骤一:创建实例

  1. 使用计划安装NVMe驱动的自定义镜像创建一台云服务器实例,并连接该实例。

  2. 根据操作系统类型,执行相关命令检查并安装NVMe驱动。

步骤二:检查和配置NVMe驱动(以Ubuntu/Debian系列为例)

1、运行以下命令,检查initrd中是否包含NVMe驱动。

lsinitramfs /boot/initrd.img-`uname -r` | grep -i nvme

返回信息如下时,表示操作系统的initrd中默认已经加载了NVMe驱动。

2、在GRUB中添加NVMe相关的io_timeout参数。

NVMe 作为高性能、低延迟的存储协议,在虚拟化(KVM)、SR-IOV 等场景下表现优异。但在实际使用中,NVMe 控制器的初始化过程会受到云平台、虚拟化层以及操作系统启动流程的影响,不同环境下初始化完成时间存在差异,可能导致系统在启动过程中无法及时识别 NVMe 设备。为提高兼容性、避免实例在首次启动或扩容启动时出现识盘失败,建议在 GRUB 中加入 nvme_core.io_timeoutnvme_core.admin_timeout参数。

a、运行以下命令,打开/etc/default/grub文件。

sudo vi /etc/default/grub

b、按i进入编辑模式,在GRUB_CMDLINE_LINUX=一行中,添加nvme_core.io_timeout=4294967295nvme_core.admin_timeout=4294967295参数信息。

在大多数 Linux 发行版中,NVMe 的I/O超时时间(io_timeout)默认配置为 30 秒。不同内核版本对 io_timeout 支持的最大值不同:较新的内核支持将其设置为 4294967295(2³²-1)秒,而部分较旧内核的最大值仅为 255 秒。您可以通过尝试写入参数的方式检查当前内核支持的最大值,例如:echo 4294967295 > /sys/module/nvme_core/parameters/io_timeout。如果命令执行成功,则表示当前内核支持最大值 4294967295;如果返回 “Numerical result out of range” 或类似错误,则说明该内核版本仅支持较小的数值(例如 255 秒)。

c、按ECS退出编辑模式,输入:wq并按Enter键保存并退出。

3、输入以下命令,使修改的GRUB配置文件生效。

sudo update-grub2

步骤三:制作自定义镜像

基于已经安装并配置好NVMe驱动的实例,重新制作一个自定义镜像,并将其镜像属性NVMe驱动修改为“支持”。

步骤四:新建实例

使用制作好的自定义镜像新建实例以使用新特性。

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈