Résoudre les échecs de démarrage après la modification de la forme sur les instances Linux OCI

Présentation

Ce tutoriel explique comment résoudre les échecs de démarrage sur des images Oracle Cloud Infrastructure (OCI) personnalisées, qui peuvent survenir après une modification de forme ou même un simple redémarrage en raison de modifications des mappages d'appareil sous-jacents.

Avant de plonger dans la solution, comprenons d'abord ce qu'est une image personnalisée.

Une image personnalisée dans OCI est un instantané du volume de démarrage d'une instance qui saisit la configuration du système d'exploitation, les logiciels installés et les paramètres d'environnement. Les images personnalisées sont généralement utilisées pour répliquer des environnements préconfigurés sur plusieurs instances ou régions, afin d'assurer la cohérence au niveau de l'échelle.

Ces images peuvent toutefois présenter des risques, en particulier si elles sont étroitement associées au matériel d'origine de l'instance. Si la portabilité n'est pas prise en compte, des problèmes peuvent survenir lors de la modification des formes (par exemple, le passage d'une instance VM.Standard3 à une instance VM.Standard4), car les modifications matérielles sous-jacentes peuvent affecter la façon dont les appareils sont mappés.

Ce blogue décrit un scénario d'échec de démarrage réel rencontré par un client à l'aide d'une image Rocky Linux d'Oracle Cloud Marketplace. Bien que cet exemple soit spécifique à Rocky Linux, la cause première et la résolution s'appliquent généralement à toute image personnalisée basée sur Linux qui utilise des noms de périphériques statiques dans sa configuration.

Objectifs

Ce guide aide les utilisateurs d'OCI à identifier et à résoudre les échecs de démarrage sur les images Linux personnalisées causés par des modifications ou des redémarrages de forme, en corrigeant les configurations de montage et en améliorant la portabilité des images.

Conditions requises

Tâche 1 : Comprendre le problème

  1. Vérifiez l'incidence des modifications de forme OCI sur l'attribution de nom au matériel et aux appareils sous-jacents.
  2. Reconnaissez que les noms de périphériques statiques dans /etc/fstab (par exemple /dev/sdX) peuvent devenir non valides après une modification de forme ou même après un redémarrage.
    • Lorsque la forme change, le système d'exploitation peut affecter de nouveaux noms aux volumes par blocs attachés. Par exemple, un disque qui était /dev/sdb peut maintenant s'afficher comme /dev/sdc.
    • Si /etc/fstab s'appuie sur ces noms statiques, le montage des volumes peut échouer au démarrage.
    • Pour éviter cette situation, utilisez des identificateurs persistants tels que les chemins UUID ou /dev/disk/by-uuid/ du volume dans /etc/fstab.

Tâche 2 : Identifier les symptômes et les erreurs

  1. Vérifiez les journaux de la console série ou du système (journalctl -xb) pour connaître les erreurs suivantes :

    • Welcome to emergency mode! After logging in, type “journalctl -xb”...
    • Failed to mount /mnt/data: No such device
    • Duplicate mount point /mnt/data detected
    • Cannot mount /dev/sdX: No such file or directory
    • systemd[1]: Failed to mount /mnt/data.
    • systemd[1]: Dependency failed for Local File Systems.
    • systemd[1]: Job local-fs.target/start failed with result ‘dependency’.

Tâche 3 : Démarrer en mode secours/urgence

  1. Accédez à la console série de l'instance.
  2. Démarrez en mode secours ou d'urgence pour effectuer des diagnostics et des actions correctives.

Tâche 4 : Identifier les noms d'appareil corrects

  1. Exécutez les commandes blkid ou lsblk pour lister les appareils par blocs courants et leurs UUID.

Tâche 5 : Monter manuellement le volume de démarrage

  1. Montez le volume de démarrage à l'aide du nom de périphérique approprié :

    • mount /dev/sdXn /mnt
    • chroot /mnt

Tâche 6 : Modifier /etc/fstab

  1. Ouvrez /etc/fstab à l'aide d'un éditeur (par exemple vi /etc/fstab)

    • Remplacez toutes les entrées /dev/sdX par les valeurs UUID persistantes correspondantes trouvées dans blkid.
    • Supprimez toutes les entrées de montage en double. Note : Il s'agit d'un correctif ponctuel une fois les identificateurs persistants utilisés, les modifications de forme futures ne devraient pas entraîner ce problème.

Tâche 7 : Quitter et redémarrer

  1. Quittez l'environnement chroot : exit.
  2. Démontez les volumes si nécessaire.
  3. Redémarrez l'instance.

Conseils de prévention pour éviter les échecs de démarrage après les modifications de forme OCI

  1. Utiliser des identificateurs persistants : Spécifiez toujours les disques dans /etc/fstab à l'aide de UUID= ou LABEL= au lieu de noms d'appareil tels que /dev/sdX. Cela garantit que les points de montage restent cohérents malgré les modifications matérielles.
  2. Effectuer des vérifications des ID utilisateur : Exécutez blkid avant et après une modification de forme pour vérifier que les mappages appareil-UUID restent corrects.
  3. Sauvegarde avant les modifications : Sauvegardez toujours votre instance ou votre volume de démarrage avant toute modification de forme pour permettre la récupération en cas de problème.
  4. Tester les modifications de forme dans l'environnement hors production : En particulier lors de l'utilisation du marché des applications ou d'images personnalisées qui peuvent avoir des montages codés en dur, testez d'abord les modifications de forme dans un environnement hors production.

Conclusion

Bien que ce problème ait été observé sur Rocky Linux, il peut potentiellement affecter toute image personnalisée basée sur Linux si les meilleures pratiques en matière de montage sur disque ne sont pas respectées. La bonne nouvelle est qu'il s'agit d'une correction ponctuelle. Une fois /etc/fstab mis à jour pour utiliser des identificateurs persistants tels que les UUID ou les LABEL, les modifications de forme OCI futures ou même les redémarrages ne doivent pas entraîner d'échecs de démarrage. La validation proactive de votre configuration garantit des transitions fluides et fiables entre les formes.

Remerciements

Ressources d'apprentissage supplémentaires

Explorez d'autres laboratoires sur le site docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal Oracle Learning YouTube. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir la documentation sur le produit, visitez Oracle Help Center.