详情页标题前

阿里云ECS云服务器Linux自定义镜像如何适配NVMe系统盘?-云淘科技

详情页1

部分实例规格族支持基于NVMe协议挂载云盘(例如ecs.g7se、ecs.c7se、ecs.r7se等),如果您需要在该类实例规格族上使用自定义镜像启动ECS实例,且需要保证实例稳定运行,则您在创建自定义镜像前,需要在对应的操作系统中进行NVMe相关的配置操作。

背景信息

支持基于NVMe协议挂载云盘的实例规格族信息,请参见实例规格族。

在您完成NVMe相关配置并创建自定义镜像前,建议您先为操作系统所在实例的系统盘以及数据盘创建快照,备份数据。更多信息,请参见创建一个云盘快照。

本文提供了如何在以下操作系统中进行NVMe相关的配置操作:

  • CentOS

  • Debian

  • Ubuntu

  • SUSE Linux Enterprise Server(SLES)

此外,阿里云云助手提供了自动化插件,如果您的操作系统符合云助手插件的支持范围,则您也可以使用云助手插件自动进行NVMe相关的配置操作。具体操作,请参见使用云助手插件自动化配置。

CentOS

  1. 远程连接待创建自定义镜像的CentOS实例。

    具体操作,请参见连接方式概述。

  2. 根据您的操作系统的配置信息,完成NVMe相关的配置。

    1. 运行以下命令,查看系统内核是否已经加载了NVMe驱动。

      cat /boot/config-`uname -r` | grep -i nvme | grep -v "^#"

      返回结果如下所示,如果CONFIG_BLK_DEV_NVME=y则表示该操作系统可以直接在支持NVMe协议的实例规格族上启动,您需要跳过后续的步骤ⅱ、步骤ⅲ,直接进行步骤ⅳ的参数配置。否则,您需要依次完成以下操作步骤。阿里云ECS云服务器Linux自定义镜像如何适配NVMe系统盘?-云淘科技

    2. 运行以下命令,查看initramfs中是否包含NVMe驱动。

      lsinitrd /boot/initramfs-`uname -r`.img | grep -i nvme | awk '{print $NF}'

      如果有类似于如下图所示的返回结果,则表示该操作系统可以直接在支持NVMe协议的实例规格族上启动,您需要跳过后续的步骤ⅲ,直接进行步骤ⅳ的参数配置。否则,您需要依次完成以下操作步骤。阿里云ECS云服务器Linux自定义镜像如何适配NVMe系统盘?-云淘科技

    3. 依次运行以下命令,使initramfs支持NVMe驱动。

      mkdir -p /etc/dracut.conf.d
      echo 'add_drivers+=" nvme nvme-core nvme-fabrics nvme-fc nvme-rdma nvme-loop nvmet nvmet-fc nvme-tcp "' >/etc/dracut.conf.d/nvme.conf
      dracut -v -f

      说明

      如果您的操作系统没有安装dracut工具,您需要先运行yum -y install dracut安装dracut工具。

    4. 在GRUB中添加NVMe相关的nvme timeout参数。

      1. 运行以下命令,打开grub文件。

        vi /etc/default/grub
      2. i键进入编辑模式,在GRUB_CMDLINE_LINUX=一行中,添加nvme_core.io_timeout=4294967295 nvme_core.admin_timeout=4294967295参数信息。

        添加参数后,文件内容如下图所示:阿里云ECS云服务器Linux自定义镜像如何适配NVMe系统盘?-云淘科技

        说明

        如果配置文件中默认已存在相同的参数信息,则无需再次添加。

      3. Esc键退出编辑模式,输入:wq并按Enter键,保存退出文件。

    5. 运行以下命令,使配置的GRUB生效。

      根据操作系统的启动方式不同,选择以下适用于您的操作系统的命令:

      • Legacy启动方式

        grub2-mkconfig -o /boot/grub2/grub.cfg
      • UEFI启动方式

        grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
    6. 重新运行以下命令,查看是否有NVMe相关的返回信息。

      lsinitrd /boot/initramfs-`uname -r`.img | grep -i nvme | awk '{print $NF}'

      如果有类似于如下图所示的返回结果,则表示该操作系统可以直接在支持NVMe协议的实例规格族上启动。阿里云ECS云服务器Linux自定义镜像如何适配NVMe系统盘?-云淘科技

  3. 为实例创建自定义镜像。

    当您在操作系统中完成了NVMe相关的配置后,即可为对应的实例创建自定义镜像。具体操作以及操作前的注意事项,请参见使用实例创建自定义镜像。

    说明

    如果您是在本地环境中自行创建的自定义镜像,可以通过导入镜像功能将自定义镜像导入云上。具体操作,请参见Linux镜像导入流程。

    创建自定义镜像需要一定的时间,您需要等待自定义镜像成功创建并处于可用状态后,再执行下一步。

  4. 通过自定义镜像创建新的ECS实例。

    通过自定义镜像创建ECS实例的具体操作,请参见使用自定义镜像创建实例。在创建过程中,实例规格请设置为您需要的支持基于NVMe协议挂载云盘的实例规格。

  5. 远程连接新建的ECS实例。

    具体操作,请参见连接方式概述。

  6. 在新建的ECS实例内,依次运行以下命令,查看NVMe相关配置是否正常。

    1. 运行以下命令,查看支持NVMe协议的云盘信息。

      lsblk
    2. 运行以下命令,查看/proc/cmdline文件中是否存在nvme timeout参数的相关信息。

      cat /proc/cmdline

      操作示例的返回结果如下,表示自定义镜像已成功适配NVMe系统盘阿里云ECS云服务器Linux自定义镜像如何适配NVMe系统盘?-云淘科技

Debian

  1. 远程连接待创建自定义镜像的Debian实例。

    具体操作,请参见连接方式概述。

  2. 完成NVMe相关的配置。

    1. 运行以下命令,查看initrd中包含的NVMe驱动。

      Debian操作系统的initrd中默认已经加载了NVMe驱动。

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

      返回结果如下所示:阿里云ECS云服务器Linux自定义镜像如何适配NVMe系统盘?-云淘科技

    2. 在GRUB中添加NVMe相关的nvme timeout参数。

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

        vi /etc/default/grub
      2. i键进入编辑模式,在GRUB_CMDLINE_LINUX=一行中,添加nvme_core.multipath=n nvme_core.io_timeout=4294967295 nvme_core.admin_timeout=4294967295参数信息。

        添加参数后,文件内容如下图所示:阿里云ECS云服务器Linux自定义镜像如何适配NVMe系统盘?-云淘科技

        说明

        如果配置文件中默认已存在相同的参数信息,则无需再次添加。

      3. Esc键退出编辑模式,输入:wq并按Enter键,保存退出文件。

    3. 运行以下命令,使配置的GRUB生效。

      根据操作系统的启动方式不同,选择以下适用于您的操作系统的命令:

      • Legacy启动方式

        grub-mkconfig -o /boot/grub/grub.cfg
      • UEFI启动方式

        grub-mkconfig -o /boot/efi/EFI/debian/grub.cfg

      说明

      除以上方式外,您还可以选择Debian系统提供的脚本使配置的GRUB生效,运行脚本的命令如下所示。该脚本不区分操作系统的启动方式,适用于Legacy或UEFI启动方式。

      update-grub2
  3. 为实例创建自定义镜像。

    当您在操作系统中完成了NVMe相关的配置后,即可为对应的实例创建自定义镜像。具体操作以及操作前的注意事项,请参见使用实例创建自定义镜像。

    说明

    如果您是在本地环境中自行创建的自定义镜像,可以通过导入镜像功能将自定义镜像导入云上。具体操作,请参见Linux镜像导入流程。

    创建自定义镜像需要一定的时间,您需要等待自定义镜像成功创建并处于可用状态后,再执行下一步。

  4. 通过自定义镜像创建新的ECS实例。

    通过自定义镜像创建ECS实例的具体操作,请参见使用自定义镜像创建实例。在创建过程中,实例规格请设置为您需要的支持基于NVMe协议挂载云盘的实例规格。

  5. 远程连接新建的ECS实例。

    具体操作,请参见连接方式概述。

  6. 在新建的ECS实例内,依次运行以下命令,查看NVMe相关配置是否正常。

    1. 运行以下命令,查看支持NVMe协议的云盘信息。

      lsblk
    2. 运行以下命令,查看/proc/cmdline文件中是否存在nvme timeout参数的相关信息。

      cat /proc/cmdline

      操作示例的返回结果如下,表示自定义镜像已成功适配NVMe系统盘。阿里云ECS云服务器Linux自定义镜像如何适配NVMe系统盘?-云淘科技

Ubuntu

  1. 远程连接待创建自定义镜像的Ubuntu实例。

    具体操作,请参见连接方式概述。

  2. 完成NVMe相关的配置。

    1. 运行以下命令,查看initrd中包含的NVMe驱动。

      Ubuntu操作系统的initrd中默认已经加载了NVMe驱动。

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

      返回结果如下所示:阿里云ECS云服务器Linux自定义镜像如何适配NVMe系统盘?-云淘科技

    2. 在GRUB中添加NVMe相关的nvme timeout参数。

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

        vi /etc/default/grub
      2. i键进入编辑模式,在GRUB_CMDLINE_LINUX=一行中,添加nvme_core.multipath=n nvme_core.io_timeout=4294967295 nvme_core.admin_timeout=4294967295参数信息。

        添加参数后,文件内容如下图所示:阿里云ECS云服务器Linux自定义镜像如何适配NVMe系统盘?-云淘科技

        说明

        如果配置文件中默认已存在相同的参数信息,则无需再次添加。

      3. Esc键退出编辑模式,输入:wq并按Enter键,保存退出文件。

    3. 运行以下命令,使配置的GRUB生效。

      根据操作系统的启动方式不同,选择以下适用于您的操作系统的命令:

      • Legacy启动方式

        grub-mkconfig -o /boot/grub/grub.cfg
      • UEFI启动方式

        grub-mkconfig -o /boot/efi/EFI/ubuntu/grub.cfg

      说明

      除以上方式外,您还可以选择Ubuntu系统提供的脚本使配置的GRUB生效,运行脚本的命令如下所示。该脚本不区分操作系统的启动方式,适用于Legacy或UEFI启动方式。

      update-grub2
  3. 为实例创建自定义镜像。

    当您在操作系统中完成了NVMe相关的配置后,即可为对应的实例创建自定义镜像。具体操作以及操作前的注意事项,请参见使用实例创建自定义镜像。

    说明

    如果您是在本地环境中自行创建的自定义镜像,可以通过导入镜像功能将自定义镜像导入云上。具体操作,请参见Linux镜像导入流程。

    创建自定义镜像需要一定的时间,您需要等待自定义镜像成功创建并处于可用状态后,再执行下一步。

  4. 通过自定义镜像创建新的ECS实例。

    通过自定义镜像创建ECS实例的具体操作,请参见使用自定义镜像创建实例。在创建过程中,实例规格请设置为您需要的支持基于NVMe协议挂载云盘的实例规格。

  5. 远程连接新建的ECS实例。

    具体操作,请参见连接方式概述。

  6. 在新建的ECS实例内,依次运行以下命令,查看NVMe相关配置是否正常。

    1. 运行以下命令,查看支持NVMe协议的云盘信息。

      lsblk
    2. 运行以下命令,查看/proc/cmdline文件中是否存在nvme timeout参数的相关信息。

      cat /proc/cmdline

      操作示例的返回结果如下,表示自定义镜像已成功适配NVMe系统盘。阿里云ECS云服务器Linux自定义镜像如何适配NVMe系统盘?-云淘科技

SUSE Linux Enterprise Server(SLES)

  1. 远程连接待创建自定义镜像的SLES实例。

    具体操作,请参见连接方式概述。

  2. 根据您的操作系统的配置信息,完成NVMe相关的配置。

    1. 运行以下命令,查看系统内核是否已经加载了内核驱动。

      cat /boot/config-`uname -r` | grep -i nvme | grep -v "^#"

      返回结果如下所示,如果CONFIG_BLK_DEV_NVME=y则表示该操作系统可以直接在支持NVMe协议的实例规格族上启动,您需要跳过后续的步骤ⅱ、步骤ⅲ,直接进行步骤ⅳ的参数配置。否则,您需要依次完成以下操作步骤。阿里云ECS云服务器Linux自定义镜像如何适配NVMe系统盘?-云淘科技

    2. 运行以下命令,查看initrd中是否包含NVMe驱动。

      lsinitrd /boot/initrd-`uname -r` | grep -i nvme | awk '{print $NF}'

      如果有类似于如下图所示的返回结果,则表示该操作系统可以直接在支持NVMe协议的实例规格族上启动,您需要跳过后续的步骤ⅲ,直接进行步骤ⅳ的参数配置。否则,您需要依次完成以下操作步骤。阿里云ECS云服务器Linux自定义镜像如何适配NVMe系统盘?-云淘科技

    3. 依次运行以下命令,使initrd支持NVMe驱动。

      mkdir -p /etc/dracut.conf.d
      echo 'add_drivers+=" nvme nvme-core nvme-fabrics nvme-fc nvme-rdma nvme-loop nvmet nvmet-fc nvme-tcp "' >/etc/dracut.conf.d/nvme.conf
      dracut -v -f

      说明

      如果您的操作系统没有安装dracut工具,您需要运行zypper install -y dracut安装dracut工具。

    4. 在GRUB中添加NVMe相关的nvme timeout参数。

      1. 运行以下命令,打开grub文件。

        vi /etc/default/grub
      2. i键进入编辑模式,在GRUB_CMDLINE_LINUX=一行中,添加nvme_core.io_timeout=4294967295 nvme_core.admin_timeout=4294967295参数信息。

        添加参数后,文件内容如下图所示:阿里云ECS云服务器Linux自定义镜像如何适配NVMe系统盘?-云淘科技

        说明

        如果配置文件中默认已存在相同的参数信息,则无需再次添加。

      3. Esc键退出编辑模式,输入:wq并按Enter键,保存退出文件。

    5. 运行以下命令,使配置的GRUB生效。

      根据操作系统的启动方式不同,选择以下适用于您的操作系统的命令:

      • Legacy启动方式

        grub2-mkconfig -o /boot/grub2/grub.cfg
      • UEFI启动方式

        grub2-mkconfig -o /boot/efi/EFI/sles/grub.cfg
    6. 重新运行以下命令,查看是否有NVMe相关的返回信息。

      lsinitrd /boot/initrd-`uname -r` | grep -i nvme | awk '{print $NF}'

      如果有类似于如下图所示的返回结果,则表示该操作系统可以直接在支持NVMe协议的实例规格族上启动。阿里云ECS云服务器Linux自定义镜像如何适配NVMe系统盘?-云淘科技

  3. 为实例创建自定义镜像。

    当您在操作系统中完成了NVMe相关的配置后,即可为对应的实例创建自定义镜像。具体操作以及操作前的注意事项,请参见使用实例创建自定义镜像。

    说明

    如果您是在本地环境中自行创建的自定义镜像,可以通过导入镜像功能将自定义镜像导入云上。具体操作,请参见Linux镜像导入流程。

    创建自定义镜像需要一定的时间,您需要等待自定义镜像成功创建并处于可用状态后,再执行下一步。

  4. 通过自定义镜像创建新的ECS实例。

    通过自定义镜像创建ECS实例的具体操作,请参见使用自定义镜像创建实例。在创建过程中,实例规格请设置为您需要的支持基于NVMe协议挂载云盘的实例规格。

  5. 远程连接新建的ECS实例。

    具体操作,请参见连接方式概述。

  6. 在新建的ECS实例内,依次运行以下命令,查看NVMe相关配置是否正常。

    1. 运行以下命令,查看支持NVMe协议的云盘信息。

      lsblk
    2. 运行以下命令,查看/proc/cmdline文件中是否存在nvme timeout参数的相关信息。

      cat /proc/cmdline

      操作示例的返回结果如下,表示自定义镜像已成功适配NVMe系统盘。阿里云ECS云服务器Linux自定义镜像如何适配NVMe系统盘?-云淘科技

使用云助手插件自动化配置

云助手提供了ecs_nvme_config插件,帮助您快速完成操作系统内NVMe相关的配置。ecs_nvme_config插件目前支持以下操作系统:

  • Alibaba Cloud Linux

  • Anolis OS

  • CentOS/CentOS Stream

  • Debian

  • Ubuntu

  • OpenSUSE

  • SUSE Linux Enterprise Server

  • Red Hat Enterprise Linux

  • Fedora

  • Rocky Linux

  • AlmaLinux

不支持ecs_nvme_config插件的操作系统版本信息:

  • CentOS/Red Hat Enterprise Linux:低于6.6的操作系统版本

  • Debian:低于9的操作系统版本

  • Ubuntu:低于16的操作系统版本

  • OpenSUSE:42操作系统版本

  • SUSE Linux Enterprise Server:低于11.4的操作系统版本

  1. 远程连接待创建自定义镜像的实例。

    具体操作,请参见连接方式概述。

  2. 运行以下命令,检查实例内是否已安装云助手Agent,并检查客户端内是否提供了ecs_nvme_config插件。

    acs-plugin-manager --list

    如果已安装云助手Agent,则会返回如下图所示的信息。如果您运行命令后没有返回云助手相关信息,则需要先在实例内安装云助手Agent。具体操作,请参见安装云助手Agent。阿里云ECS云服务器Linux自定义镜像如何适配NVMe系统盘?-云淘科技

    如果您可以查看到返回的云助手插件列表,但插件列表中没有ecs_nvme_config插件,则表示该插件在当前的地域和可用区下没有发布。您需要根据不同的操作系统,选择适用的手动配置方式,进行NVMe相关的配置操作。

    • CentOS

    • Debian

    • Ubuntu

    • SUSE Linux Enterprise Server(SLES)

    如果您的实例内已安装云助手Agent,且存在ecs_nvme_config插件,请继续下一步。

  3. 使用ecs_nvme_config插件,完成NVMe相关的配置。

    1. 运行以下命令,使用ecs_nvme_config插件检查当前实例内是否有NVMe模块,以及是否可以配置NVMe模块。

      acs-plugin-manager --exec --plugin ecs_nvme_config --params --check

      返回结果说明:

      • 如果返回结果中存在如下提示,则表示您无需进行NVMe相关的配置,可直接创建自定义镜像。

        [SUCCESS]  Summary: Your image can Runnig on nvme instance
      • 如果返回结果中存在[ERROR]相关提示,则您需要继续执行下一步操作。

    2. 根据检查结果中的提示信息,配置NVMe驱动以及相关参数信息。

      例如,检查结果中提示如下信息:

      [ERROR]  1.initrd/initramfs not has nvme module, Please run acs-plugin-manager --exec --plugin ecs_nvme_config --params -f/--fix to enable nvme;

      则您需要根据提示内容,运行以下命令,完成NVMe相关的配置。

      acs-plugin-manager --exec --plugin ecs_nvme_config --params --fix
    3. 完成配置后,运行以下命令,重启实例。

      reboot
    4. 重启实例后,重新检查NVMe模块是否配置成功。

      acs-plugin-manager --exec --plugin ecs_nvme_config --params --check

      配置成功的返回示例如下:

      [OK]  1.initrd/initramfs already contain nvme module;
      
      [OK]  2.fstab file looks fine and does not contain any device names;
      
      [OK]  3.The nvme parameters already included.
      
      [SUCCESS]  Summary: Your image can Runnig on nvme instance
  4. 为实例创建自定义镜像。

    当您在操作系统中完成了NVMe相关的配置后,即可为对应的实例创建自定义镜像。具体操作以及操作前的注意事项,请参见使用实例创建自定义镜像。

    说明

    如果您是在本地环境中自行创建的自定义镜像,可以通过导入镜像功能将自定义镜像导入云上。具体操作,请参见Linux镜像导入流程。

    创建自定义镜像需要一定的时间,您需要等待自定义镜像成功创建并处于可用状态后,再执行下一步。

  5. 通过自定义镜像创建新的ECS实例。

    通过自定义镜像创建ECS实例的具体操作,请参见使用自定义镜像创建实例。在创建过程中,实例规格请设置为您需要的支持基于NVMe协议挂载云盘的实例规格。

  6. 远程连接新建的ECS实例。

    具体操作,请参见连接方式概述。

  7. 在新建的ECS实例内,依次运行以下命令,查看NVMe相关配置是否正常。

    1. 运行以下命令,查看支持NVMe协议的云盘信息。

      lsblk
    2. 运行以下命令,查看/proc/cmdline文件中是否存在nvme timeout参数的相关信息。

      cat /proc/cmdline

      操作示例的返回结果如下,表示自定义镜像已成功适配NVMe系统盘。阿里云ECS云服务器Linux自定义镜像如何适配NVMe系统盘?-云淘科技

腾讯云1折,限时活动,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/152560.html

(0)
上一篇 2023年12月9日 下午4:56
下一篇 2023年12月9日
详情页2

相关推荐

  • 腾讯云CVM服务器取消共享自定义镜像

    操作场景 本文档指导用户取消共享自定义镜像。用户可以随时终止共享给其他人镜像的共享状态,从而决定不再共享给某个其他用户。此操作不会影响其他用户已经使用这个共享镜像创建的实例,但其他用户无法再查看此镜像,也无法使用此镜像创建更多实例。 操作步骤 通过控制台取消共享通过 API 取消共享1. 登录云服务器控制台,选择左侧导航栏中的 镜像。2. 选择自定义镜像页签…

    2023年12月9日
  • 腾讯云CVM服务器制作 Windows 镜像

    操作场景 本文以 Windows Server 2012 操作系统为例,指引您如何制作 Windows 镜像。若使用其他版本 Windows Server 操作系统,也可参考本文进行镜像制作。 操作步骤 准备工作 制作系统盘镜像导出时,需要进行以下检查:说明如果您是通过数据盘镜像导出,则可以跳过此操作。 检查 OS 分区和启动方式 1. 在操作系统界面,单击…

    2023年12月9日
  • 阿里云ECS云服务器开启多重挂载功能-云淘科技

    您在创建ESSD云盘时,可以为云盘开启多重挂载功能,开启了多重挂载功能的NVMe(Non-Volatile Memory Express)云盘称为NVMe共享盘。NVMe共享盘可以同时挂载到同可用区内的多台支持NVMe协议的ECS实例上(最多支持挂载16台实例),从而实现多台ECS实例对同一块ESSD云盘的并发读写访问。 功能优势 多重挂载功能具有以下优势,…

    2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云ECS云服务器计费FAQ-云淘科技

    本章节汇总了ECS计费的常见问题。 账号问题 为什么我不能购买按量付费实例? 没有通过支付宝实名认证能不能购买按量付费ECS实例? 按量付费实例怎么开具发票? 如果我的账号余额不足,系统会提醒我吗?什么时候提示? 账号余额不足时,按量付费实例上的数据会受影响吗? 是否支持5天内无理由退款? 是否支持百倍赔偿? 购买ECS实例后第一时间提出了退款,为什么还是扣…

    2023年12月9日
  • 阿里云ECS云服务器删除自定义镜像-云淘科技

    如果您不再需要某个自定义镜像,可以将其删除。 注意事项 删除自定义镜像时,请您注意以下事项。 类型 注意事项 删除自定义镜像 以下几种情况不允许删除镜像: 该镜像正在导入。您可以在任务管理界面取消导入任务。更多信息,请参见导入自定义镜像。 该镜像正在导出。您可以在任务管理界面取消导出任务。更多信息,请参见导出自定义镜像。 镜像删除后: 不能再使用该镜像创建实…

    2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。