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

Date de la dernière mise à jour : 19/03/2020

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 plus d'informations, 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 Vérification que la mise en réseau améliorée est activéeet suivez les instructions dans Instance Attribute (enaSupport) (Attribut d’instance).

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

Exécution du script NitroInstanceChecks

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

  • Il vérifie que le module NVMe est installé sur l’instance. Si tel est le cas, le script vérifie que le module est chargé dans l'image intiramfs.
  • Il 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

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 sur 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 si vous voulez 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 ?

Cette page peut-elle être améliorée ?


Vous avez besoin d’aide ?