Résoudre les problèmes de démarrage de la machine virtuelle Linux en raison d’erreurs fstab
S’applique à : ✔️ Machines virtuelles Linux
Remarque
CentOS référencé dans cet article est une distribution Linux et atteint la fin de vie (EOL). Faites le point sur votre utilisation et organisez-vous en conséquence. Pour plus d’informations, consultez les conseils sur la fin de vie centOS.
La table du système de fichiers Linux, fstab, est une table de configuration conçue pour configurer des règles où des systèmes de fichiers spécifiques sont détectés et montés de manière ordonnée pendant le processus de démarrage du système.
Cet article décrit plusieurs conditions dans lesquelles une configuration fstab incorrecte peut entraîner des problèmes de démarrage et fournit des conseils de dépannage.
Voici quelques raisons courantes qui peuvent entraîner des problèmes de démarrage de machine virtuelle en raison d’une configuration incorrecte de fstab :
- Le nom du système de fichiers traditionnel est utilisé à la place de l’identificateur unique universel (UUID) du système de fichiers.
- Un UUID incorrect est utilisé.
- Une entrée existe pour un appareil non attaché sans option
nofail
dans la configuration fstab. - Entrée incorrecte dans la configuration fstab.
Identifier les problèmes de fstab
Vérifiez l’état de démarrage actuel de la machine virtuelle dans le journal série dans le panneau Diagnostics de démarrage dans le Portail Azure. La machine virtuelle sera en mode Urgence. Vous voyez des entrées de journal qui ressemblent à l’exemple suivant conduisant à l’état du mode d’urgence :
[K[[1;31m TIME [0m] Timed out waiting for device dev-incorrect.device.
[[1;33mDEPEND[0m] Dependency failed for /data.
[[1;33mDEPEND[0m] Dependency failed for Local File Systems.
…
Welcome to emergency mode! After logging in, type "journalctl -xb" to viewsystem logs, "systemctl reboot" to reboot, "systemctl default" to try again to boot into default mode.
Give root password for maintenance
(or type Control-D to continue)
Remarque
/data
est un exemple de point de montage utilisé. L’échec de la dépendance pour le point de montage du système de fichiers diffère en fonction des noms utilisés.
Solution
Il existe deux façons de résoudre le problème :
- Réparer la machine virtuelle en ligne
- Réparer la machine virtuelle hors connexion
Réparer la machine virtuelle en mode en ligne
Utiliser la console série
- Connectez-vous à la console série de la machine virtuelle à partir du Portail Azure.
- L’accès manuel au mode mono-utilisateur est nécessaire pour reconfigurer fstab. Les étapes peuvent varier en fonction du type de système d’exploitation Linux utilisé et de l’accès au compte racine. Suivez la documentation en mode mono-utilisateur pour accéder au mode mono-utilisateur pour chaque image partenaire Linux prise en charge.
Étapes de dépannage de Fstab
Une fois la machine virtuelle démarrée en mode mono-utilisateur. Utilisez votre éditeur de texte préféré pour ouvrir le fichier fstab.
vi /etc/fstab
Passez en revue les systèmes de fichiers répertoriés dans
/etc/fstab
. Chaque ligne du fichier fstab indique un système de fichiers monté au démarrage de la machine virtuelle. Pour plus d’informations sur la syntaxe du fichier fstab, exécutez la commandeman fstab
. Pour résoudre un échec de démarrage, passez en revue l’entrée du système de fichiers qui n’a pas pu être monté. Il est recommandé de passer en revue chaque ligne pour vous assurer qu’elle est correcte à la fois dans la structure et le contenu. Voici quelques points à prendre en compte pour administrer correctement un fichier fstab :Les champs de chaque ligne sont séparés par des tabulations ou des espaces. Les lignes vides sont ignorées. Les lignes dont le premier caractère est un signe dièse (#) sont des commentaires. Les lignes commentées peuvent rester dans le fichier fstab, mais elles ne seront pas traitées. Quand vous avez un doute au sujet d’une ligne fstab, nous vous recommandons de la mettre en commentaire plutôt que de la supprimer.
Montez les disques de données sur des machines virtuelles Azure à l’aide de l’UUID de la partition du système de fichiers. Pour déterminer l’UUID du système de fichiers, exécutez la
blkid
commande. Pour afficher des informations sur la syntaxe, exécutez la commandeman blkid
. Exemple d’entrée UUID dans le fichier fstab :UUID=<UUID number here> /data xfs defaults,nofail 0 0
Utilisez l’option
nofail
dans les entrées du système de fichiers (disques de données) pour permettre au démarrage de continuer même après que des erreurs se soient produites dans les partitions pour les entrées correspondantes. L’optionnofail
permet de s’assurer que la machine virtuelle démarre même si le système de fichiers est corrompu ou s’il n’existe pas au démarrage.
Enregistrez les modifications apportées au fichier fstab.
Utilisez
mount -a
comme bonne pratique après avoir apporté des modifications aux entrées fstab. Cela réexécutera la configuration de fstab et informera les utilisateurs de toute erreur de syntaxe ou d’entrée existante.Une fois la syntaxe et les entrées vérifiées, redémarrez la machine virtuelle à l’aide de la commande suivante :
reboot -f
Si le commentaire ou le correctif des entrées a réussi, le système doit atteindre une invite bash dans le portail. Vérifiez si vous pouvez vous connecter à la machine virtuelle.
Remarque
Vous pouvez également utiliser la
ctrl+x
commande qui redémarre également la machine virtuelle.
Réparer la machine virtuelle en mode hors connexion
Si l’accès à la console série de la machine virtuelle n’est pas disponible, une autre solution consiste à réparer la machine virtuelle hors connexion. Il existe deux façons d’adopter une approche hors ligne :
Utiliser Azure Linux Auto Repair (ALAR)
Les scripts ALAR (Azure Linux Auto Repair) font partie de l’extension de réparation de machine virtuelle décrite dans Utiliser Azure Linux Auto Repair (ALAR) pour corriger une machine virtuelle Linux. ALAR couvre l’automatisation de plusieurs scénarios de réparation, y compris /etc/fstab
les problèmes.
Les scripts ALAR utilisent l’extension repair-button
de réparation pour résoudre les problèmes fstab en spécifiant --button-command fstab
. Ce paramètre déclenche la récupération automatisée. Implémentez les étapes suivantes pour automatiser les erreurs fstab via l’approche ALAR hors connexion :
az extension add -n vm-repair
az extension update -n vm-repair
az vm repair repair-button --button-command 'fstab' --verbose --resource-group $RGNAME --name $VMNAME
Remarque
Remplacez le nom $RGTEST
du groupe de ressources et le nom $VMNAME
de la machine virtuelle en conséquence.
- Le script de machine virtuelle de réparation, conjointement avec le script ALAR, crée temporairement un groupe de ressources, une machine virtuelle de réparation et une copie du disque du système d’exploitation de la machine virtuelle concernée. Il sauvegarde le fichier d’origine
/etc/fstab
et le modifie en supprimant ou en commentant les entrées du système de fichiers de données qui ne sont pas nécessaires pour démarrer le système. - Une fois le système d’exploitation démarré, passez en revue et modifiez le
/etc/fstab
fichier pour corriger les erreurs susceptibles d’avoir empêché un redémarrage approprié. - Enfin, le
repair-button
script supprime automatiquement le groupe de ressources contenant la machine virtuelle de réparation.
Utiliser la méthode manuelle
Si la console série et les approches ALAR ne sont pas possibles ou échouent, la réparation doit être effectuée manuellement. Suivez les étapes ici pour attacher manuellement le disque du système d’exploitation à une machine virtuelle de récupération et remplacer le disque du système d’exploitation par la machine virtuelle d’origine :
- {r}}Connecter le disque du système d’exploitation à une machine virtuelle de récupération à l’aide du portail Azure
- Attacher le disque du système d’exploitation à une machine virtuelle de récupération à l’aide d’Azure CLI
Une fois le disque du système d’exploitation correctement connecté à la machine virtuelle de récupération, suivez les instructions chroot détaillées pour monter et chrooter les systèmes de fichiers du disque du système d’exploitation connecté. Ensuite, implémentez les étapes de résolution des problèmes fstab pour apporter les modifications appropriées au fichier fstab du disque de système d’exploitation problématique.
Contactez-nous pour obtenir de l’aide
Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.