Todos os produtos
Search
Central de documentação

:Install the NVMe driver on a custom image

Última atualização: Aug 31, 2026

Adicione suporte ao driver NVMe em uma imagem personalizada para permitir a inicialização em tipos de instância ECS baseados em NVMe com desempenho de armazenamento aprimorado.

NVMe é um protocolo de alta velocidade projetado para armazenamento em estado sólido, como SSDs baseados em flash. Em comparação com SCSI e virtio-blk, o NVMe oferece maior velocidade e largura de banda superior.

Casos de uso

Siga este procedimento se:

  • Você importar uma imagem personalizada para o Alibaba Cloud e o Image Check informar que o driver NVMe está ausente.

  • Não for possível selecionar uma imagem personalizada ao criar uma instância ECS compatível com NVMe porque o atributo NVMe da imagem não corresponde ao requisito do tipo de instância.

    Nota

Procedimento

  1. Launch an ECS instance from your existing custom image. Essa instância servirá como ambiente intermediário para atualizar a imagem. Connect to the instance.

    Importante

    A instância intermediária gera custos. Release the instance após criar a nova imagem personalizada para evitar cobranças contínuas.

  2. De acordo com o sistema operacional da sua instância, selecione um método para verificar e instalar o driver NVMe.

    Configuração pelo console

    1. No ECS console - Instances, localize a instância desejada e acesse sua página de detalhes. No canto superior direito, clique em All actions e selecione Configure NVMe Driver Status.

    2. Clique em Install para instalar o driver NVMe. O sistema define automaticamente o status do driver NVMe como Installed.image

    Configuração automática com o Cloud Assistant

    O Cloud Assistant fornece o plug-in ecs_nvme_config para configurar rapidamente o driver NVMe. Ele suporta apenas sistemas operacionais específicos.

    Sistemas operacionais suportados pelo ecs_nvme_config

    • O plug-in ecs_nvme_config suporta os seguintes sistemas operacionais:

      • Alibaba Cloud Linux

      • Anolis OS

      • CentOS 6.6 e posteriores

      • CentOS Stream

      • Debian 9 e posteriores

      • Ubuntu 16 e posteriores

      • OpenSUSE 42 e posteriores

      • SUSE Linux Enterprise Server 11.4 e posteriores

      • Red Hat Enterprise Linux

      • Fedora

      • Rocky Linux

      • AlmaLinux

    1. Verifique se o Cloud Assistant Agent está instalado e se o plug-in ecs_nvme_config está disponível:

      acs-plugin-manager --list

      image

      • Se nenhuma saída relacionada ao Cloud Assistant aparecer, install the Cloud Assistant Agent primeiro.

      • Caso a lista de plug-ins inclua ecs_nvme_config, prossiga para a próxima etapa.

    2. Use o plug-in ecs_nvme_config para configurar o driver NVMe.

      1. Use o plug-in ecs_nvme_config para verificar se o módulo NVMe existe e pode ser configurado:

        sudo acs-plugin-manager --exec --plugin ecs_nvme_config --params --check
        • Se a saída contiver a mensagem abaixo, o driver NVMe já está instalado. Pule para a criação da imagem personalizada.

          [SUCCESS]  Summary: Your image can Runnig on nvme instance
        • Caso a saída apresente uma mensagem [ERROR] semelhante à seguinte, avance para a próxima etapa.

          [ERROR]  1.initrd/initramfs not has nvme module, Please run acs-plugin-manager --exec --plugin ecs_nvme_config --params -f/--fix to enable nvme;
      2. Configure o driver NVMe com base no resultado da verificação:

        sudo acs-plugin-manager --exec --plugin ecs_nvme_config --params --fix
      3. Reinicie a instância após a conclusão da configuração.

        sudo reboot
      4. Após a reinicialização da instância, confirme o êxito da configuração:

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

        Exemplo de saída de sucesso:

        [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
      5. Create a new custom image da instância onde você instalou o driver. Em seguida, modify the attributes of the new custom image e defina o atributo NVMe driver como Supported.

        Importante

        Se você não definir o atributo do driver NVMe como Supported, o sistema não reconhecerá a imagem como compatível com NVMe. Não será possível selecionar tipos de instância habilitados para NVMe ao criar instâncias a partir desta imagem.

    Configuração manual (CentOS/Alibaba Cloud Linux)

    1. Verifique se o kernel carregou o driver NVMe:

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

      image

      • Se a saída contiver CONFIG_BLK_DEV_NVME=y, o sistema operacional pode inicializar diretamente em famílias de instâncias habilitadas para NVMe. Prossiga para Console configuration.

      • Caso a saída contenha CONFIG_BLK_DEV_NVME=m, execute as etapas a seguir.

    2. Verifique se o initramfs contém o driver NVMe:

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

      image

      • Se a saída corresponder à figura, o sistema operacional pode inicializar em famílias de instâncias habilitadas para NVMe. Vá para a etapa d.

      • Se nenhum resultado for retornado, execute a etapa c.

    3. Adicione o driver NVMe ao initramfs:

      mkdir -p /etc/dracut.conf.d
      echo 'add_drivers+=" nvme nvme-core "' | sudo tee /etc/dracut.conf.d/nvme.conf > /dev/null
      sudo dracut -v -f
      Nota

      Se a ferramenta dracut não estiver instalada, execute sudo yum -y install dracut para instalá-la.

    4. Adicione o parâmetro io_timeout para NVMe no GRUB.

      Nota

      Inclua o parâmetro io_timeout para NVMe no GRUB para evitar falhas de E/S causadas por tempos limite de dispositivo. Definir esse valor como o limite máximo suportado garante que o sistema continue processando solicitações de E/S sem falhas prematuras.

      Na maioria das distribuições Linux, o parâmetro io_timeout tem como padrão 30 segundos. Antes de adicionar um valor para o parâmetro io_timeout, execute echo 4294967295 > /sys/module/nvme_core/parameters/io_timeout ou echo 4294967295 > /sys/module/nvme/parameters/io_timeout para verificar se io_timeout pode ser definido com o valor máximo de 4.294.967.295 segundos. Se o comando retornar -bash: echo: write error: Invalid argument, a versão do Linux suporta apenas 255 segundos.

      Método 1: Adicionar parâmetros usando grubby
      1. Verifique se o grubby está disponível:

        which grubby
        • Se a saída incluir o caminho para grubby (por exemplo, /usr/sbin/grubby), o sistema suporta grubby. Avance para a próxima etapa.

        • Caso não haja saída, seu sistema não suporta grubby. Use o Método 2.

      2. Adicione parâmetros de kernel com grubby:

        sudo grubby --update-kernel=ALL --args="nvme_core.io_timeout=4294967295 nvme_core.admin_timeout=4294967295"
      Método 2: Adicionar parâmetros editando o arquivo de configuração do GRUB
      1. Abra o arquivo grub:

        sudo vi /etc/default/grub
      2. Pressione i para entrar no modo de inserção. Localize a linha GRUB_CMDLINE_LINUX= e adicione os parâmetros nvme_core.io_timeout=4294967295 nvme_core.admin_timeout=4294967295.

        Conteúdo do arquivo após adicionar os parâmetros:

        image

        Nota

        Se esses parâmetros já existirem no arquivo de configuração, não os adicione novamente.

      3. Pressione Esc para sair do modo de inserção. Digite :wq e pressione Enter para salvar e fechar o arquivo.

      4. Aplique a configuração do GRUB.

        Selecione o comando correspondente ao instance startup mode:

        • Modo de inicialização Legacy BIOS

          sudo grub2-mkconfig -o /boot/grub2/grub.cfg
        • Modo de inicialização UEFI

          1. Visualize o arquivo de configuração do GRUB:

            # For CentOS, run:
            cat /boot/efi/EFI/centos/grub.cfg
            # For Alibaba Cloud Linux, run:
            cat /boot/efi/EFI/alinux/grub.cfg
          2. Execute o comando apropriado com base na saída:

            • Se o arquivo de configuração apontar para outro arquivo de configuração (por exemplo, /boot/grub/grub.cfg), execute:image

              sudo grub2-mkconfig -o /boot/grub2/grub.cfg
            • Caso contrário, execute o comando adequado para o seu sistema:

              # For CentOS
              sudo grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
              # For Alibaba Cloud Linux
              sudo grub2-mkconfig -o /boot/efi/EFI/alinux/grub.cfg
      5. Create a new custom image da instância onde você instalou o driver. Depois, modify the attributes of the new custom image e defina o atributo NVMe driver como Supported.

        Importante

        Se você não definir o atributo do driver NVMe como Supported, o sistema não reconhecerá a imagem como compatível com NVMe. Não será possível selecionar tipos de instância habilitados para NVMe ao criar instâncias a partir desta imagem.

    5. Valide a saída relacionada ao NVMe:

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

      Se o comando retornar nomes de arquivos de driver (por exemplo, nvme.ko), a configuração está concluída. O sistema operacional agora pode inicializar em tipos de instância ECS habilitados para NVMe.

      image

    Configuração manual (Ubuntu/Debian)

    1. (Opcional) Verifique se o initrd contém o driver NVMe:

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

      A saída a seguir indica que o Ubuntu carrega o driver NVMe no initrd por padrão.image

    2. Adicione o parâmetro io_timeout para NVMe no GRUB.

      Nota

      Inclua o parâmetro io_timeout para NVMe no GRUB para evitar falhas de E/S causadas por tempos limite de dispositivo. Definir esse valor como o limite máximo suportado garante que o sistema continue processando solicitações de E/S sem falhas prematuras.

      Na maioria das distribuições Linux, o parâmetro io_timeout tem como padrão 30 segundos. Antes de adicionar um valor para o parâmetro io_timeout, execute echo 4294967295 > /sys/module/nvme_core/parameters/io_timeout ou echo 4294967295 > /sys/module/nvme/parameters/io_timeout para verificar se io_timeout pode ser definido com o valor máximo de 4.294.967.295 segundos. Se o comando retornar -bash: echo: write error: Invalid argument, a distribuição Linux suporta apenas 255 segundos.

      1. Abra o arquivo /etc/default/grub:

        sudo vi /etc/default/grub
      2. Pressione i para entrar no modo de edição. Adicione os seguintes parâmetros à linha GRUB_CMDLINE_LINUX=: nvme_core.multipath=n nvme_core.io_timeout=4294967295 nvme_core.admin_timeout=4294967295.

        Conteúdo do arquivo após adicionar os parâmetros:image

        Nota

        Se esses parâmetros já existirem no arquivo de configuração, não os adicione novamente.

      3. Pressione Esc para sair do modo de inserção. Digite :wq e pressione Enter para salvar e fechar o arquivo.

    3. Aplique as configurações do GRUB.

      Com base no instance startup mode da instância ECS, selecione um dos seguintes comandos:

      • Este comando funciona para Ubuntu e Debian independentemente do modo de inicialização:

        sudo update-grub2
      • Modo de inicialização Legacy BIOS

        sudo grub-mkconfig -o /boot/grub/grub.cfg
      • Modo de inicialização UEFI

        sudo grub-mkconfig -o /boot/efi/EFI/debian/grub.cfg
    4. Create a new custom image da instância onde você instalou o driver. Em seguida, modify the attributes of the new custom image e defina o atributo NVMe driver como Supported.

      Importante

      Se você não definir o atributo do driver NVMe como Supported, o sistema não reconhecerá a imagem como compatível com NVMe. Não será possível selecionar tipos de instância habilitados para NVMe ao criar instâncias a partir desta imagem.

  3. (Opcional) Reimplante sua carga de trabalho com a nova imagem personalizada compatível com NVMe. Por exemplo, create an instance from a custom image or shared image e selecione um tipo de instância compatível com NVMe.

Nota

Após validar a implantação, delete the original custom image para evitar custos com recursos ociosos.

Referências