Je n'arrive pas à me connecter à mon instance Linux Amazon Elastic Compute Cloud (Amazon EC2) ou j'ai des problèmes de démarrage. Je souhaite utiliser EC2Rescue pour diagnostiquer et résoudre des problèmes liés au système d'exploitation (OS).
Brève description
Vous pouvez utiliser EC2Rescue pour Linux pour effectuer les actions suivantes :
- Collecter des rapports d'utilisation du système, tels que vmstat, iostat et mpstat.
- Collecter des journaux et des informations, tels que syslog, dmesg, les journaux d'erreurs des applications et les journaux AWS Systems Manager.
- Détecter des problèmes système, tels que le routage asymétrique ou les étiquettes dupliquées du périphérique racine.
- Résoudre automatiquement des problèmes système, tels que les problèmes d'autorisation de fichier OpenSSH ou d'activation des paramètres du noyau.
Remarque : Si vous avez accès à l’EC2 Serial Console, vous pouvez l’utiliser pour résoudre les problèmes liés aux types d’instances basées sur Nitro pris en charge. Pour en savoir plus, consultez la section Connexion à l’EC2 Serial Console. Vous pouvez également utiliser le dossier d’exploitation AWSSupport-ExecuteEC2Rescue pour identifier et résoudre automatiquement les problèmes de connexion. Pour plus d'informations, consultez la section Exécuter l'outil EC2Rescue sur des instances inaccessibles.
Résolution
Prérequis : Assurez-vous que votre système est conforme à la configuration logicielle et au système d'exploitation requis pour EC2Rescue.
Utiliser EC2Rescue pour résoudre les problèmes de connexion
Procédez comme suit :
-
Utilisez l'Amazon Machine Image (AMI) de l'instance présentant des problèmes pour lancer une instance de secours dans votre cloud privé virtuel (VPC).
Remarque : Assurez-vous que la nouvelle instance se trouve dans la même zone de disponibilité que l'instance défaillante. Vous pouvez également utiliser une instance existante qui se trouve dans la même zone de disponibilité que l’instance défaillante.
-
Détachez le volume racine Amazon Elastic Block Storage (Amazon EBS) de l'instance défaillante. Notez le nom du périphérique, par exemple /dev/xvda et /dev/sda1.
-
Associez le volume Amazon EBS à l'instance de secours en tant que périphérique secondaire, tel que /dev/sdf.
Remarque : Si le périphérique racine de votre instance est un volume basé sur Amazon EBS, arrêtez et redémarrez l'instance.
-
Utilisez SSH pour vous connecter à votre instance de secours.
-
En tant qu'utilisateur racine, exécutez les commandes suivantes pour identifier le nom de périphérique correct :
$ sudo -i
# lsblk
# rescuedev=/dev/xvdf1
Remarque : Lorsque vous exécutez lsblk, notez le nom du périphérique dans la sortie. Remplacez xvsf1 par le nom du périphérique qui est associé à votre instance de secours.
-
Pour sélectionner un point de montage temporaire existant qui n'est pas encore utilisé, exécutez les commandes suivantes :
# rescuemnt=/mnt
# mkdir -p $rescuemnt
Remarque : Il est recommandé d'utiliser /mnt comme point de montage.
-
Pour monter le système de fichiers racine à partir du volume attaché, exécutez la commande suivante :
# mount $rescuedev $rescuemnt
Si le montage du volume échoue, exécutez la commande suivante :
dmesg | tail
Si les journaux affichent un identifiant unique universel (UUID) conflictuel, réexécutez la commande précédente avec l'option -o nouuid. Exemple :
mount -o nouuid $rescuedev $rescuemnt
-
Pour monter des systèmes de fichiers spéciaux et remplacer le répertoire racine par le nouveau système de fichiers, exécutez la commande suivante :
# for i in proc sys dev run; do mount --bind /$i $rescuemnt/$i ; done
# chroot $rescuemnt
-
Téléchargez et installez l'outil EC2Rescue pour Linux sur un volume racine Linux hors ligne.
-
Exécutez EC2Rescue pour Linux sans aucune option permettant d'exécuter tous les modules.
-
En fonction des résultats, exécutez la commande suivante pour activer la correction pour les modules pris en charge :
# ./ec2rl run --remediate
- Pour quitter chroot et démonter le périphérique secondaire, exécutez la commande suivante :
# exit
# umount $rescuemnt/{proc,sys,dev,run,}
Remarque : Si l'opération de démontage échoue, arrêtez ou redémarrez l'instance de secours avant de démonter le périphérique secondaire.
Détachez le volume secondaire de l'instance EC2 de secours.
Attachez le volume secondaire /dev/sdf à l'instance d'origine en tant que volume racine /dev/xvda ou /dev/sda1.
Démarrez l'instance, puis vérifiez qu'elle fonctionne comme prévu.
Utiliser une autre méthode de résolution des problèmes
Pour peaufiner la résolution des problèmes au niveau du système d’exploitation, procédez comme suit :
Informations connexes
Restaurer vos instances dégradées à l'aide d'EC2Rescue et d'Amazon EC2 Systems Manager Automation
Résoudre les problèmes liés aux instances Windows Amazon EC2