Partager via


Utiliser Azure Linux Auto Repair (ALAR) pour corriger une machine virtuelle Linux

S’applique à : ✔️ Machines virtuelles Linux

La prochaine fois que vous devez exécuter une réparation sur votre machine virtuelle Linux Azure, vous pouvez automatiser le travail en plaçant les scripts ALAR (Azure Linux Auto Repair) pour vous. Vous n’avez plus besoin d’exécuter le travail manuellement. Ces scripts simplifient le processus de récupération et permettent aux utilisateurs même inexpérimentés de récupérer facilement leur machine virtuelle Linux.

ALAR utilise l’extension de réparation de machine virtuelle décrite dans Réparer une machine virtuelle Linux à l’aide des commandes de réparation de machine virtuelle Azure.

ALAR couvre les scénarios de réparation suivants :

  • Erreur de syntaxe /etc/fstab incorrecte du disque manquant
  • Initrd endommagé ou ligne d’initrd manquante dans le /boot/grub/grub.cfg
  • Le dernier noyau installé n’est pas démarrable
  • La console série et la série GRUB sont incorrectement configurées ou sont manquantes
  • Installation ou configuration GRUB/EFI endommagée

Actions ALAR

fstab

Cette action supprime toutes les lignes du fichier /etc/fstab qui ne sont pas nécessaires pour démarrer un système. Tout d’abord, une copie du fichier d’origine est faite pour référence. Au démarrage du système d’exploitation, l’administrateur peut modifier le contrôle fstab pour corriger les erreurs qui n’ont pas autorisé le redémarrage du système avant.

Pour plus d’informations sur les problèmes liés à un fichier /etc/fstab mal formé, consultez Résoudre les problèmes de démarrage de machine virtuelle Linux en raison des erreurs fstab.

kernel

Cette action modifie le noyau par défaut. Le script remplace le noyau rompu par la version précédemment installée.

Pour plus d’informations sur les messages qui peuvent être connectés à la console série pour les événements de démarrage liés au noyau, consultez Comment récupérer une machine virtuelle Linux Azure à partir de problèmes de démarrage liés au noyau.

initrd

Cette action peut être utilisée pour corriger un initrd ou initramfs endommagé ou créé de manière incorrecte.

Pour obtenir l’initrd ou initramfs créé correctement, ajoutez les modules hv_vmbus, hv_netvscet hv_storvsc à l’image.

Les problèmes de démarrage liés à l’initrd peuvent apparaître comme les symptômes consignés suivants.

Ne pas synchroniser VFSAucun init de travail trouvé

Dans les deux cas, les informations suivantes sont enregistrées avant la journalisation des entrées d’erreur.

Échec du déballage

serialconsole

Cette action corrige une configuration incorrecte ou incorrecte de la console série pour le noyau Linux ou GRUB. Nous vous recommandons d’exécuter cette action dans les cas suivants :

  • Aucun menu GRUB n’est affiché au démarrage de la machine virtuelle.
  • Aucune information associée au système d’exploitation n’est écrite dans la console série.

grubfix

Cette action peut être utilisée pour réinstaller GRUB et régénérer le fichier grub.cfg .

efifix

Cette action peut être utilisée pour réinstaller le logiciel requis pour démarrer à partir d’une machine virtuelle GEN2. Le fichier grub.cfg est également régénéré.

audité

Si votre machine virtuelle s’arrête immédiatement au démarrage en raison de la configuration du démon d’audit, utilisez cette action. Cette action modifie la configuration du démon d’audit (dans le fichier /etc/audit/auditd.conf ) en modifiant la HALT valeur configurée pour tous action les paramètres SYSLOG, ce qui ne force pas l’arrêt du système. Dans un environnement LVM (Logical Volume Manager), si le volume logique qui contient les journaux d’audit est plein et qu’il y a de l’espace disponible dans le groupe de volumes, le volume logique est également étendu de 10 % de la taille actuelle. Toutefois, si vous n’utilisez pas d’environnement LVM ou qu’il n’y a pas d’espace disponible, seul le fichier de configuration est modifié.

Important

Cette action modifie la posture de sécurité de la machine virtuelle en modifiant la configuration du démon d’audit afin que le problème d’arrêt de la machine virtuelle puisse être résolu. Une fois la machine virtuelle en cours d’exécution et accessible, vous devez rétablir la configuration du démon d’audit à l’état d’origine. À cet effet, une sauvegarde du fichier auditd.conf est créée dans /etc/audit par l’action ALAR.

Comment utiliser ALAR

Les scripts ALAR utilisent la commande d’extension de réparation run et son option --run-id. La valeur de l’option --run-id pour la récupération automatisée est linux-alar2. Pour corriger une machine virtuelle Linux à l’aide d’un script ALAR, procédez comme suit :

  1. Créez une machine virtuelle de secours :

    az vm repair create --verbose -g RG-NAME -n VM-NAME --repair-username RESCUE-UID --repair-password RESCUE-PASS --copy-disk-name DISK-COPY
    
  2. Exécutez un script avec l’une des actions ALAR sur la machine virtuelle de secours :

    az vm repair run --verbose -g RG-NAME -n VM-NAME --run-id linux-alar2 --parameters ACTION --run-on-repair
    
  3. Échangez les disques du système d’exploitation et supprimez les ressources temporaires :

    az vm repair restore --verbose -g RG-NAME -n VM-NAME 
    

    Note

    Les disques d’origine et les nouveaux disques ne seront pas supprimés.

Voici des explications sur les paramètres dans les commandes ci-dessus :

  • RG-NAME: nom du groupe de ressources contenant la machine virtuelle interrompue.

  • VM-NAME: nom de la machine virtuelle rompue.

  • RESCUE-UID: utilisateur créé sur la machine virtuelle de réparation pour la connexion. Il s’agit de l’équivalent de l’utilisateur créé sur une nouvelle machine virtuelle dans le Portail Azure.

  • RESCUE-PASS: mot de passe pour RESCUE-UID, placé entre guillemets simples. Par exemple : 'password!234'.

  • DISK-COPY: nom de la copie du disque du système d’exploitation qui sera créée à partir de la machine virtuelle interrompue.

  • ACTION: tâche scriptée à exécuter, telle que initrd ou fstab.

    Note

    Vous pouvez passer des opérations de récupération uniques ou multiples. Pour plusieurs opérations, délimitez-les à l’aide de virgules sans espaces, comme fstab,initrd.

Limitation

Les machines virtuelles classiques ne sont pas prises en charge.

Prochaines étapes

Si vous rencontrez un bogue ou souhaitez demander une amélioration à l’outil ALAR, publiez un commentaire sur GitHub.

Vous trouverez également les dernières informations sur l’outil ALAR sur GitHub.

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.