Pourquoi mon instance Linux ne démarre-t-elle pas après avoir changé son type en un type d'instance basé sur Nitro ?

Dernière mise à jour : 11-05-2022

J'ai remplacé mon instance Linux Amazon Elastic Compute Cloud (Amazon EC2) par un type d'instance basé sur Nitro, et maintenant elle ne démarre pas.

Brève description

Voici quelques raisons courantes pour lesquelles une instance Linux peut ne pas démarrer une fois que vous l'avez passée à un type basé sur Nitro :

  • L’attribut Elastic Network Adapter (ENA) enaSupport est désactivé pour l'instance.
  • Le module ENA n'est pas installé sur l'instance.
  • Le module NVMe n'est pas installé sur l'instance, ou s'il est installé, il n'est pas chargé dans l'image de l'instance.
  • Vous essayez de monter les systèmes de fichiers au moment du démarrage dans le fichier « /etc/fstab » en utilisant un nom de périphérique. Les volumes Amazon Elastic Block Store (Amazon EBS) sont présentés comme périphériques NVMe à ces types d'instances, et les noms de périphériques sont modifiés. Pour résoudre le problème, montez les systèmes de fichiers en utilisant UUID/Label. Pour en savoir plus, consultez la section Amazon EBS et NVMe sur les instances Linux.

Pour résoudre ces problèmes, vérifiez que ENA est activé et que votre instance Linux répond aux exigences de montage du module d'instance basé sur Nitro et du système de fichiers.

Résolution

Vérifier qu’ENA est activé

1.    Pour confirmer qu'ENA est activé, consultez Tester si la mise en réseau améliorée est activéeet suivez les instructions sous Attribut d’instance (enaSupport).

2.    Si ENA est désactivé, exécutez l'action modify-instance-attribute. Pour plus d'informations, consultez Activer la mise en réseau améliorée sur l'AMI Amazon Linux.

Exécuter le script NitroInstanceChecks

Le script NitroInstanceChecks vérifie votre instance et fournit un statut de réussite/d'échec de ces exigences :

  • Vérifie que le module NVMe est installé sur votre instance. S’il est installé, le script vérifie que le module est chargé dans l'image initramfs.
  • Vérifie que le module ENA est installé sur votre instance.
  • Il analyse le fichier /etc/fstab et recherche les périphériques de stockage en mode bloc montés à l'aide de noms de périphériques.

Ce script est pris en charge sur les systèmes d'exploitation suivants :

  • Dérivés de Red Hat : Red Hat Linux, Red Hat Enterprise Linux, CentOS
  • Amazon Linux, Amazon Linux 2
  • Dérivés de Debian : Debian, Ubuntu

Remarque : Pour plus d'informations sur le pilote ENA sur Red Hat, consultez Comment installer et activer le dernier pilote ENA pour une prise en charge réseau améliorée sur une instance Amazon EC2 exécutant Red Hat 6/7 ?

Pour exécuter le script NitroInstanceChecks :

1.    Prenez un instantané de votre volume ou créez une Amazon Machine Image (AMI) d'une instance avant d'apporter des modifications afin de disposer d'une sauvegarde.

2.    Rétablissez le type d’origine de l’instance.

3.    Téléchargez le script vers votre instance et rendez-le exécutable :

# chmod +x nitro_check_script.sh

4.    Exécutez le script en tant qu'utilisateur root ou sudo:

# sudo ./nitro_check_script.sh

5.    A l'invite, tapez y ou n (ou No) : tapez y pour que le script régénère et modifie le fichier /etc/fstab et remplacez le nom de périphérique de chaque partition par son UUID. Le fichier fstab d'origine est enregistré sous /etc/fstab.backup.$(date+%F-%H : %M : %S). Par exemple, /etc/fstab.backup.2019-09-01-22:06:05. Tapez n ou No pour imprimer le fichier /etc/fstab correct dans les résultats, mais pas le remplacer.

Exemple de résultat correct :

------------------------------------------------
OK  NVMe Module is installed and available on your instance
OK  ENA Module is installed and available on your instance
OK  fstab file looks fine and does not contain any device names.
------------------------------------------------

6.    Une fois que toutes les exigences sont satisfaites, remplacez l'instance par un type d'instance basé sur Nitro.


Cet article vous a-t-il été utile ?


Avez-vous besoin d'aide pour une question technique ou de facturation ?