Todos os produtos
Search
Central de documentação

:Install the NVMe driver on a custom image

Última atualização: Jul 03, 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.

O 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 a Verificação de Imagem indicar 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 atende ao requisito do tipo de instância.

    Nota

Procedimento

  1. Inicie uma instância ECS a partir da sua imagem personalizada existente. Essa instância servirá como ambiente intermediário para atualizar a imagem. Em seguida, conecte-se à instância.

    Importante

    A instância intermediária gera custos. Libere a instância 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 Console ECS - Instâncias, 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 usando o Cloud Assistant

    O Cloud Assistant fornece o plug-in ecs_nvme_config para configurar rapidamente o driver NVMe. Este recurso 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, instale o 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. Execute 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 reiniciar a instância, verifique se a configuração foi bem-sucedida:

        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. Crie uma nova imagem personalizada a partir da instância onde você instalou o driver. Em seguida, modifique os atributos da nova imagem personalizada 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 com capacidade NVMe ao criar instâncias a partir dessa 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 Configuração pelo console.

      • 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

      Adicione o parâmetro io_timeout para NVMe no GRUB para evitar falhas de E/S causadas por tempos limite do 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. Prossiga para a próxima etapa.

        • Caso nenhuma saída apareça, 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. Insira :wq e pressione Enter para salvar e fechar o arquivo.

      4. Aplique a configuração do GRUB.

        Selecione o comando correspondente ao modo de inicialização da instância:

        • 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 config (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. Crie uma nova imagem personalizada a partir da instância onde você instalou o driver. Em seguida, modifique os atributos da nova imagem personalizada 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 com capacidade NVMe ao criar instâncias a partir dessa imagem.

    5. Verifique 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á completa. 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

      Adicione o parâmetro io_timeout para NVMe no GRUB para evitar falhas de E/S causadas por tempos limite do 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. Insira :wq e pressione Enter para salvar e fechar o arquivo.

    3. Aplique as configurações do GRUB.

      Com base no modo de inicialização 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. Crie uma nova imagem personalizada a partir da instância onde você instalou o driver. Em seguida, modifique os atributos da nova imagem personalizada 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 com capacidade NVMe ao criar instâncias a partir dessa imagem.

  3. (Opcional) Reimplante sua carga de trabalho com a nova imagem personalizada compatível com NVMe. Por exemplo, crie uma instância a partir de uma imagem personalizada ou compartilhada e selecione um tipo de instância compatível com NVMe.

Nota

Após verificar a implantação, exclua a imagem personalizada original para evitar custos com recursos ociosos.

Referências