Tous les produits
Search
Centre de documentation

:Installer le pilote NVMe sur une image personnalisée

Dernière mise à jour :Aug 31, 2026

Ajoutez la prise en charge du pilote NVMe à une image personnalisée pour permettre son démarrage sur des types d'instances ECS basés sur NVMe et bénéficier de performances de stockage améliorées.

Le protocole NVMe est conçu pour le stockage à état solide haute vitesse, tel que les SSD flash. Comparé aux protocoles SCSI et virtio-blk, NVMe offre une vitesse supérieure et une bande passante plus importante.

Cas d'utilisation

Suivez cette procédure si :

  • Vous importez une image personnalisée vers Alibaba Cloud et l'Image Check signale l'absence du pilote NVMe.

  • Vous ne pouvez pas sélectionner une image personnalisée lors de la création d'un type d'instance ECS compatible NVMe, car l'attribut NVMe de l'image ne correspond pas aux exigences du type d'instance.

    Remarque
    • Pour consulter les familles d'instances compatibles NVMe, reportez-vous à la rubrique Instance family overview. Vérifiez également le paramètre NvmeSupport dans l'opération d'API DescribeInstanceTypes.

    • Pour déterminer si une image personnalisée prend en charge NVMe, examinez le paramètre NvmeSupport via l'opération d'API DescribeImages.

    • Si certaines images n'apparaissent pas lors de la création d'instances ECS, consultez la rubrique Unable to find specific images.

Procédure

  1. Lancez une instance ECS à partir de votre image personnalisée existante. Cette instance sert d'environnement intermédiaire pour mettre à jour l'image. Connectez-vous à l'instance.

    Important

    L'instance intermédiaire entraîne des frais. Libérez l'instance après avoir créé la nouvelle image personnalisée afin d'éviter des coûts inutiles.

  2. Selon le système d'exploitation de votre instance, choisissez une méthode pour vérifier et installer le pilote NVMe.

    Configuration via la console

    1. Dans la ECS console - Instances, localisez l'instance cible et accédez à sa page de détails. Dans le coin supérieur droit, cliquez sur All actions puis sélectionnez Configure NVMe Driver Status.

    2. Cliquez sur Install pour installer le pilote NVMe. Le système définit automatiquement l'état du pilote NVMe sur Installed.image

    Configuration automatique via Cloud Assistant

    Cloud Assistant fournit le plug-in ecs_nvme_config pour configurer rapidement le pilote NVMe. Ce plug-in ne prend en charge que certains systèmes d'exploitation.

    Systèmes d'exploitation pris en charge par ecs_nvme_config

    • Le plug-in ecs_nvme_config est compatible avec les systèmes d'exploitation suivants :

      • Alibaba Cloud Linux

      • Anolis OS

      • CentOS 6.6 et versions ultérieures

      • CentOS Stream

      • Debian 9 et versions ultérieures

      • Ubuntu 16 et versions ultérieures

      • OpenSUSE 42 et versions ultérieures

      • SUSE Linux Enterprise Server 11.4 et versions ultérieures

      • Red Hat Enterprise Linux

      • Fedora

      • Rocky Linux

      • AlmaLinux

    1. Vérifiez si Cloud Assistant Agent est installé et si le plug-in ecs_nvme_config est disponible :

      acs-plugin-manager --list

      image

    2. Utilisez le plug-in ecs_nvme_config pour configurer le pilote NVMe.

      1. Vérifiez la présence et la configurabilité du module NVMe à l'aide du plug-in ecs_nvme_config :

        sudo acs-plugin-manager --exec --plugin ecs_nvme_config --params --check
        • Si la sortie contient le message suivant, le pilote NVMe est déjà installé. Passez directement à la création d'une image personnalisée.

          [SUCCESS]  Summary: Your image can Runnig on nvme instance
        • Si la sortie affiche un message [ERROR] similaire à celui-ci, poursuivez avec l'étape suivante.

          [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. Configurez le pilote NVMe selon le résultat de la vérification :

        sudo acs-plugin-manager --exec --plugin ecs_nvme_config --params --fix
      3. Redémarrez l'instance une fois la configuration terminée.

        sudo reboot
      4. Après le redémarrage de l'instance, vérifiez que la configuration a réussi :

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

        Exemple de sortie indiquant un succès :

        [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. Créez une nouvelle image personnalisée à partir de l'instance où vous avez installé le pilote. Ensuite, modifiez les attributs de cette nouvelle image personnalisée et définissez l'attribut NVMe driver sur Supported.

        Important

        Si vous ne définissez pas l'attribut du pilote NVMe sur Supported, le système ne reconnaîtra pas l'image comme compatible NVMe. Vous ne pourrez alors pas sélectionner de types d'instances compatibles NVMe lors de la création d'instances à partir de cette image.

    Configuration manuelle (CentOS/Alibaba Cloud Linux)

    1. Vérifiez si le noyau a chargé le pilote NVMe :

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

      image

      • Si la sortie contient CONFIG_BLK_DEV_NVME=y, le système d'exploitation peut démarrer directement sur les familles d'instances compatibles NVMe. Passez à la section Configuration via la console.

      • Si la sortie contient CONFIG_BLK_DEV_NVME=m, effectuez les étapes suivantes.

    2. Vérifiez si l'initramfs contient le pilote NVMe :

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

      image

      • Si la sortie correspond à la figure, le système d'exploitation peut démarrer sur les familles d'instances compatibles NVMe. Passez à l'étape d.

      • En l'absence de sortie, exécutez l'étape c.

    3. Ajoutez le pilote NVMe à l'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
      Remarque

      Si l'outil dracut n'est pas installé, exécutez la commande sudo yum -y install dracut pour l'installer.

    4. Ajoutez le paramètre io_timeout pour NVMe dans GRUB.

      Remarque

      L'ajout du paramètre io_timeout pour NVMe dans GRUB permet d'éviter les échecs d'E/S dus à des délais d'attente de périphérique. Définir cette valeur à la limite maximale prise en charge garantit que le système continue de traiter les requêtes d'E/S sans interruption prématurée.

      Dans la plupart des distributions Linux, le paramètre io_timeout est défini par défaut à 30 secondes. Avant d'ajouter une valeur pour le paramètre io_timeout, exécutez echo 4294967295 > /sys/module/nvme_core/parameters/io_timeout ou echo 4294967295 > /sys/module/nvme/parameters/io_timeout afin de vérifier si io_timeout peut être réglé à la valeur maximale de 4 294 967 295 secondes. Si la commande renvoie -bash: echo: write error: Invalid argument, cela signifie que la version Linux ne prend en charge que 255 secondes.

      Méthode 1 : Ajouter des paramètres à l'aide de grubby
      1. Vérifiez la disponibilité de grubby :

        which grubby
        • Si la sortie inclut le chemin vers grubby (par exemple, /usr/sbin/grubby), le système prend en charge grubby. Passez à l'étape suivante.

        • En l'absence de sortie, votre système ne prend pas en charge grubby. Utilisez plutôt la Méthode 2.

      2. Ajoutez les paramètres du noyau avec grubby :

        sudo grubby --update-kernel=ALL --args="nvme_core.io_timeout=4294967295 nvme_core.admin_timeout=4294967295"
      Méthode 2 : Ajouter des paramètres en modifiant le fichier de configuration GRUB
      1. Ouvrez le fichier grub :

        sudo vi /etc/default/grub
      2. Appuyez sur i pour entrer en mode insertion. Repérez la ligne GRUB_CMDLINE_LINUX= et ajoutez les paramètres nvme_core.io_timeout=4294967295 nvme_core.admin_timeout=4294967295.

        Contenu du fichier après l'ajout des paramètres :

        image

        Remarque

        Si ces paramètres existent déjà dans le fichier de configuration, ne les ajoutez pas une seconde fois.

      3. Appuyez sur Échap pour quitter le mode insertion. Saisissez :wq puis appuyez sur Entrée pour enregistrer et fermer le fichier.

      4. Appliquez la configuration GRUB.

        Choisissez la commande correspondant au mode de démarrage de l'instance :

        • Mode de démarrage BIOS Legacy

          sudo grub2-mkconfig -o /boot/grub2/grub.cfg
        • Mode de démarrage UEFI

          1. Consultez le fichier de configuration GRUB :

            # For CentOS, run:
            cat /boot/efi/EFI/centos/grub.cfg
            # For Alibaba Cloud Linux, run:
            cat /boot/efi/EFI/alinux/grub.cfg
          2. Exécutez la commande appropriée selon la sortie obtenue :

            • Si le fichier de configuration pointe vers un autre fichier (par exemple, /boot/grub/grub.cfg), exécutez :image

              sudo grub2-mkconfig -o /boot/grub2/grub.cfg
            • Dans le cas contraire, exécutez la commande adaptée à votre système :

              # 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. Créez une nouvelle image personnalisée à partir de l'instance où vous avez installé le pilote. Ensuite, modifiez les attributs de cette nouvelle image personnalisée et définissez l'attribut NVMe driver sur Supported.

        Important

        Si vous ne définissez pas l'attribut du pilote NVMe sur Supported, le système ne reconnaîtra pas l'image comme compatible NVMe. Vous ne pourrez alors pas sélectionner de types d'instances compatibles NVMe lors de la création d'instances à partir de cette image.

    5. Vérifiez la sortie relative à NVMe :

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

      Si la commande renvoie des noms de fichiers de pilotes (par exemple, nvme.ko), la configuration est terminée. Le système d'exploitation peut désormais démarrer sur les types d'instances ECS compatibles NVMe.

      image

    Configuration manuelle (Ubuntu/Debian)

    1. (Facultatif) Vérifiez si l'initrd contient le pilote NVMe :

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

      La sortie suivante indique qu'Ubuntu charge le pilote NVMe dans l'initrd par défaut.image

    2. Ajoutez le paramètre io_timeout pour NVMe dans GRUB.

      Remarque

      L'ajout du paramètre io_timeout pour NVMe dans GRUB permet d'éviter les échecs d'E/S dus à des délais d'attente de périphérique. Définir cette valeur à la limite maximale prise en charge garantit que le système continue de traiter les requêtes d'E/S sans interruption prématurée.

      Dans la plupart des distributions Linux, le paramètre io_timeout est défini par défaut à 30 secondes. Avant d'ajouter une valeur pour le paramètre io_timeout, exécutez echo 4294967295 > /sys/module/nvme_core/parameters/io_timeout ou echo 4294967295 > /sys/module/nvme/parameters/io_timeout afin de vérifier si io_timeout peut être réglé à la valeur maximale de 4 294 967 295 secondes. Si la commande renvoie -bash: echo: write error: Invalid argument, cela signifie que la distribution Linux ne prend en charge que 255 secondes.

      1. Ouvrez le fichier /etc/default/grub :

        sudo vi /etc/default/grub
      2. Appuyez sur i pour entrer en mode édition. Ajoutez les paramètres suivants à la ligne GRUB_CMDLINE_LINUX= : nvme_core.multipath=n nvme_core.io_timeout=4294967295 nvme_core.admin_timeout=4294967295.

        Contenu du fichier après l'ajout des paramètres :image

        Remarque

        Si ces paramètres existent déjà dans le fichier de configuration, ne les ajoutez pas une seconde fois.

      3. Appuyez sur Échap pour quitter le mode insertion. Saisissez :wq puis appuyez sur Entrée pour enregistrer et fermer le fichier.

    3. Appliquez les paramètres GRUB.

      Selon le mode de démarrage de l'instance ECS, sélectionnez l'une des commandes suivantes :

      • Cette commande fonctionne pour Ubuntu et Debian quel que soit le mode de démarrage :

        sudo update-grub2
      • Mode de démarrage BIOS Legacy

        sudo grub-mkconfig -o /boot/grub/grub.cfg
      • Mode de démarrage UEFI

        sudo grub-mkconfig -o /boot/efi/EFI/debian/grub.cfg
    4. Créez une nouvelle image personnalisée à partir de l'instance où vous avez installé le pilote. Ensuite, modifiez les attributs de cette nouvelle image personnalisée et définissez l'attribut NVMe driver sur Supported.

      Important

      Si vous ne définissez pas l'attribut du pilote NVMe sur Supported, le système ne reconnaîtra pas l'image comme compatible NVMe. Vous ne pourrez alors pas sélectionner de types d'instances compatibles NVMe lors de la création d'instances à partir de cette image.

  3. (Facultatif) Redéployez votre charge de travail avec la nouvelle image personnalisée compatible NVMe. Par exemple, créez une instance à partir d'une image personnalisée ou partagée et sélectionnez un type d'instance compatible NVMe.

Remarque

Une fois le déploiement vérifié, supprimez l'image personnalisée d'origine afin d'éviter de payer pour des ressources inutilisées.

Références