NVMe(Non-Volatile Memory Express)是非易失性内存主机控制器接口规范。本文介绍ESSD云盘支持通过NVMe协议挂载、使用限制和相关操作等信息。

ESSD云盘和NVMe协议

ESSD云盘支持以NVMe协议挂载到支持NVMe协议的ECS实例。通过NVMe协议挂载后,ESSD云盘在Linux实例的设备名称和分区名称命名如下:磁盘和分区名称
  • 设备名称显示为/dev/nvme[0-26]n1,例如/dev/nvme0n1/dev/nvme1n1/dev/nvme2n1等。
  • 分区名称显示为<设备名称>p<分区号>,例如/dev/nvme0n1p1/dev/nvme1n1p1/dev/nvme1n1p2等。
说明 ESSD云盘支持NVMe协议功能,正在华北2(北京)的H可用区邀请测试中。

基于NVMe协议,ESSD支持开启多重挂载功能,方便企业高可用业务上云。更多信息,请参见使用多重挂载功能

使用限制

要使用NVMe协议挂载ESSD云盘,ECS资源必须满足以下条件。
资源 说明
实例规格族 g6se。
说明 您可以通过DescribeInstanceTypes接口查询实例规格族,再根据查询结果中的NvmeSupport参数确认实例规格族是否支持NVMe协议。
镜像 镜像需要已经包含NVMe协议的相关驱动,已默认安装NVMe驱动的公共镜像如下所示:
  • Alibaba Cloud Linux 2.1903及以上版本
  • Ubuntu 16.04及以上版本
  • Debian GNU/Linux 9及以上版本
  • CentOS:
    • CentOS 6.6、6.7、6.8、6.9、6.10
    • CentOS 7.9及以上版本(CentOS 7系列)
    • CentOS 8.3及以上版本(CentOS 8系列)
  • OpenSUSE 15.2及以上版本
  • Fedora 33及以上版本
  • Fedora CoreOS

如何检查和安装NVMe驱动,请参见在ECS实例中查看和安装NVMe驱动

云盘
  • 云盘类型:ESSD云盘
  • 创建方式:在开通支持NVMe协议的ECS实例时,ESSD云盘随实例一起创建。
使用NVMe协议,对ESSD云盘的操作影响如下:
  • 通过NVMe协议挂载的ESSD云盘,卸载后不能挂载到不支持NVMe协议的ECS实例。
  • 未通过NVMe协议挂载的ESSD云盘,卸载后不能挂载到已支持NVMe协议的ECS实例。

在ECS实例中查看和安装NVMe驱动

您可以在已有的ECS实例中查看和安装NVMe驱动,再创建自定义镜像。后续使用此自定义镜像创建的ECS实例就可以支持NVMe协议。

说明

查看和配置NVMe驱动依赖云助手客户端。如果ECS实例未安装云助手客户端,请先安装云助手客户端。具体操作,请参见安装云助手客户端

在Linux中查询和安装NVMe驱动:
  1. 登录ECS实例。具体操作,请参见通过密码或密钥认证登录Linux实例
  2. 运行以下命令查询ECS实例中是否包含NVMe驱动。
    acs-plugin-manager --exec   --plugin=ecs_nvme_config --params --check
    • 如果ECS实例中未安装NVMe驱动或者安装失败,则结果如下所示:
      [ERROR]  1.Please run acs-plugin-manager --exec --plugin ecs_nvme_config --params -f/--fix to enable nvme
      
      [OK]     2.fstab file looks fine and does not contain any device names
      
      [ERROR]  Summary: Please follow the above failure prompt to repair
    • 如果ECS实例中已安装NVMe驱动,则结果如下所示:
      [SUCCESS]  1.initrd/initramfs already contain nvme module
      
      [OK]       2.fstab file looks fine and does not contain any device names
      
      [SUCCESS]  Summary: Your image can Runnig on nvme instance
  3. 如果未安装NVMe驱动,运行以下命令安装NVMe驱动。
    说明 安装前,建议您先为系统盘创建快照。具体操作,请参见创建一个云盘快照
    acs-plugin-manager --exec   --plugin=ecs_nvme_config --params --fix
    结果如下所示,表示安装成功:
    [SUCCESS]  1.initrd/initramfs already contain nvme module
    
    [OK]       2.fstab file looks fine and does not contain any device names
    
    [SUCCESS]  Summary: Your image can Runnig on nvme instance

相关操作

以下介绍支持NVMe协议的ESSD云盘的相关操作。

  • 在创建支持NVMe协议的ECS实例时,ESSD云盘随实例一起创建。具体操作,请参见使用向导创建实例
  • 在单独创建ESSD云盘时,开启多重挂载功能。具体信息,请参见使用多重挂载功能
  • 格式化ESSD云盘和创建文件系统。具体操作,请根据实际需求选择对应的操作。
    注意 以下流程仅适用于随实例一起创建的ESSD云盘,不适用于开启多重挂载的ESSD云盘。
  • (适用于Linux系统)通过lsblk查询NVMe协议的ESSD云盘设备名称。lsblk