Partager via


Utiliser la console série Azure pour les appels SysRq et NMI

S’applique à : ✔️ Machines virtuelles Linux

Requête système (SysRq)

Une SysRq est une séquence de clés comprise par le noyau du système d’exploitation Linux et pouvant déclencher un ensemble d’actions prédéfinies. Ces commandes sont souvent utilisées lorsque la résolution des problèmes ou la récupération des machines virtuelles ne peuvent pas être effectuées par le biais de l’administration traditionnelle. Par exemple, si la machine virtuelle ne répond pas. L’utilisation de la fonctionnalité SysRq de la console série Azure imite l’appui sur la touche SysRq et les caractères entrés sur un clavier physique.

Une fois la séquence SysRq remise, la configuration du noyau contrôle la façon dont le système répond. Pour plus d’informations sur l’activation et la désactivation de SysRq, consultez le SysRq Admin Guide (Guide administrateur SysRq) texte | markdown.

La console série Azure peut être utilisée pour envoyer un SysRq à une machine virtuelle Azure à l’aide de l’icône du clavier dans la barre de commandes suivante.

Capture d’écran de la console série Azure. L’icône de clavier est mise en surbrillance et son menu est visible. Ce menu contient un élément Envoyer une commande SysRq.

Le choix de « Envoyer une commande SysRq » ouvre une boîte de dialogue, qui fournit des options SysRq courantes ou accepte une séquence de commandes SysRq entrées dans la boîte de dialogue. Cette commande « Envoyer SysRq permet à la série de SysRq d’effectuer une opération de haut niveau, telle qu’un redémarrage sécurisé à l’aide de : REISUB.

Capture d’écran de la boîte de dialogue Envoyer la commande SysRq à l’invité lorsque l’option de saisie de clé est sélectionnée et REISUB est saisie dans le champ suivant.

La commande SysRq ne peut pas être utilisée sur les machines virtuelles arrêtées ou dont le noyau n’est pas en état réactif. Par exemple, une panique de noyau.

Activer SysRq

Comme décrit dans le Guide d’administration SysRq, SysRq peut être configuré de telle sorte que tous, aucun ou seulement certaines commandes soient disponibles. Vous pouvez activer toutes les commandes SysRq à l’aide de l’étape suivante, mais elle ne survive pas à un redémarrage :

echo "1" >/proc/sys/kernel/sysrq

Pour conserver la configuration de SysReq, vous pouvez procéder comme suit pour activer toutes les commandes SysRq.

  1. Ajout de cette ligne à /etc/sysctl.conf
    kernel.sysrq = 1
  2. Redémarrage ou mise à jour de sysctl en exécutant
    sysctl -p

Touches de commande

À partir du Guide d’administration SysRq :

Commande Fonction
b Redémarre immédiatement le système sans synchroniser ni démonter vos disques.
c Effectue un incident système en déréférençant un pointeur NULL. Une copie de sauvegarde sera effectuée si elle est configurée.
d Affiche tous les verrous maintenus.
e Envoie un SIGTERM à tous les processus, sauf init.
f Appellera l'oom killer pour terminer un processus gourmand en mémoire, mais ne paniquez pas si rien ne peut être terminé.
g Utilisé par kgdb (débogueur de noyau)
h Affiche l’aide (toute autre clé que celles répertoriées ici affiche également l’aide, mais h est facile à mémoriser :-)
i Envoie un SIGKILL à tous les processus, sauf init.
j Forçage de « Just thaw it » (simple libération) - systèmes de fichiers gelés par l’ioctl FIFREEZE.
k La clé d’accès sécurisée (SAK) arrête tous les programmes de la console virtuelle en cours. REMARQUE : consultez les commentaires importants dans la section SAK suivante.
l Affiche un historique des piles de tous les processeurs actifs.
m Sauvegarde les informations de la mémoire actuelle sur votre console.
n Utilisé pour que les tâches RT soient agréables
o Ferme votre système (si configuré et pris en charge).
p Sauvegarde les registres et les indicateurs actuels sur votre console.
q Sauvegarde par listes de processeur de tous les minuteurs haute résolution armés (mais PAS les minuteurs timer_list classiques) et informations détaillées de tous les périphériques clockevent.
r Désactive le mode brut du clavier et le définit à XLATE.
s Tente de synchroniser tous les systèmes de fichiers montés.
t Sauvegarde une liste des tâches actuelles et leurs informations sur votre console.
u Tente de remonter tous les systèmes de fichiers montés en lecture seule.
v Force la restauration de la console framebuffer
v Lance la copie de sauvegarde de la mémoire tampon ETM [spécifique à l’ARM]
w Vide les tâches dont l’état est ininterrompu (bloqué).
x Utilisé par l’interface xmon sur les plateformes ppc/powerpc. Affiche les registres PMU globaux sur sparc64. Sauvegarde toutes les entrées TLB sur MIPS.
y Affiche les registres CPU globaux [spécifique à SPARC-64]
z Sauvegarde la mémoire tampon ftrace
0-9 Définit le niveau de log de la console et contrôle les messages du noyau imprimés dans votre console. (0, par exemple, permet de n’afficher que les messages d’urgence comme PANIC ou OOPS sur votre console.)

Documentation propre à la distribution

Pour obtenir une documentation spécifique à la distribution et les étapes de configuration de Linux pour la création d'un dump mémoire lorsqu’il reçoit une commande SysRq « Crash », consultez les liens suivants :

Ubuntu

Red Hat

SUSE

CoreOS

Interruption non masquable (NMI)

Une interruption non masquable (NMI) crée un signal que le logiciel sur une machine virtuelle n’ignore pas. Historiquement, les NMIs sont utilisés pour surveiller les problèmes matériels sur les systèmes qui ont nécessité des temps de réponse spécifiques. Aujourd’hui, les programmeurs et les administrateurs système utilisent souvent NMI comme mécanisme pour déboguer ou dépanner les systèmes qui ne répondent pas.

La console série peut être utilisée pour envoyer une NMI à une machine virtuelle Azure à l’aide de l’icône du clavier dans la barre de commandes suivante. Une fois la NMI remise, la configuration de la machine virtuelle contrôle la façon dont le système répond. Les systèmes d’exploitation Linux peuvent être configurés de façon à provoquer un incident et à créer une image mémoire lorsque le système d’exploitation reçoit une NMI.

Capture d’écran de la console série. L’icône de clavier est mise en surbrillance et son menu est visible. Ce menu contient un élément Envoyer une interruption non masquable.

Activer une NMI

Pour les systèmes Linux qui prennent en charge sysctl pour la configuration des paramètres du noyau, vous pouvez activer une panique lors de la réception de cette NMI à l’aide des commandes suivantes :

  1. Ajout de cette ligne à /etc/sysctl.conf
    kernel.panic_on_unrecovered_nmi=1
  2. Redémarrage ou mise à jour de sysctl en exécutant
    sysctl -p

Pour plus d’informations sur les configurations de noyau Linux, notamment unknown_nmi_panic, panic_on_io_nmi et panic_on_unrecovered_nmi, consultez : Documentation de /proc/sys/kernel/*. Pour obtenir une documentation spécifique à la distribution sur NMI et les étapes de configuration de Linux pour créer un fichier de vidage lorsqu’il reçoit un NMI, consultez les liens suivants :

Ubuntu

Red Hat

SUSE

CoreOS

Prochaines étapes

Contactez-nous pour obtenir de l’aide

Si vous avez des questions, vous pouvez demander le support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.