Comment puis-je utiliser la commande « Linux SysRq » pour dépanner une instance de serveur virtuel qui ne répond plus depuis la console série?

Votre instance de serveur virtuel Linux ne répond plus et vous ne pouvez pas y accéder via SSH ni par connexion directe.

Une instance de serveur virtuel Linux peut cesser de répondre pour diverses raisons, telles que des pannes du système, des situations de blocage ou des problèmes liés au noyau. Lorsque le serveur virtuel ne répond plus, les méthodes de dépannage habituelles, telles que SSH ou l'accès direct, peuvent ne pas fonctionner. Dans ces cas-là, la console série reste accessible, ce qui permet aux administrateurs d'interagir avec le serveur à l'aide de la clé « Linux System Request » ( SysRq ).

Les pannes système, les « kernel panics » ou les processus qui ne répondent plus peuvent rendre un serveur Linux indisponible par le biais des procédures habituelles. Ces problèmes peuvent être dus à des bogues logiciels, à des défaillances matérielles ou à des paramètres système mal configurés. La clé « SysRq » permet un accès de bas niveau au noyau « Linux » et contourne les processus de niveau supérieur qui sont bloqués ou ne répondent plus. Ce mécanisme est intégré au noyau Linux en tant que dispositif de sécurité permettant aux utilisateurs d'effectuer des opérations système critiques, telles que le redémarrage du serveur ou la génération d'un rapport de diagnostic, même lorsque les autres méthodes de saisie ne sont pas disponibles.

Pour diagnostiquer et résoudre le problème à l'aide de la commande « SysRq » depuis la console série, procédez comme suit :

  1. Accédez à l'instance du serveur virtuel en vous connectant à une console série. Pour plus d'informations, voir Accès aux instances de serveur virtuel à l'aide d'une console VNC ou en série.

  2. Activer les commandes « SysRq ». Si les commandes « SysRq » sont déjà activées, vous pouvez ignorer cette étape. Pour activer les commandes « SysRq », définissez le paramètre « kernel.sysrq ».

    echo 1 > /proc/sys/kernel/sysrq
    
  3. Envoyez la commande « SysRq » depuis la console série. L'exemple suivant lance une sauvegarde de mémoire en cas de plantage du noyau (kdump).

    Pour déclencher la génération d'un fichier de vidage mémoire, assurez-vous que le service « crashkernel » est configuré sur l'instance du serveur virtuel « Linux ». Pour plus d'informations, consultez la section consacrée au mécanisme de création de fichiers de vidage en cas de plantage du noyau.

    1. Appuyez sur la touche Entrée.

    2. Appuyez sur la touche « ~ » (tilde).

      Pour les claviers AZERTY : appuyez sur la touche Alt Gr + la touche 2 pour saisir la touche « ~ ».

    3. Appuyez sur la touche « B » (touche B majuscule).

    4. Appuyez sur « c » (avec un « c » minuscule) pour lancer la création d'un dossier de vidage du noyau (kdump).

    Veuillez tenir compte des points suivants lorsque vous utilisez les commandes « SysRq » :

    • Appuyez sur chaque touche l'une après l'autre, puis relâchez-les. Ne maintenez aucune touche enfoncée.
    • Effectuez l'intégralité de la séquence en moins de cinq secondes, sinon les commandes « SysRq » ne seront pas détectées sur la console série.
    • Lorsque vous saisissez cette séquence, les caractères n'apparaissent pas sur la console série. Le système les considère comme des caractères de séquence de rupture. La saisie normale sur la console reprend une fois la séquence terminée, ou si celle-ci expire ou rencontre un caractère non valide.
    • Si la séquence expire (dure plus de cinq secondes) ou si un caractère de séquence d'interruption non valide est saisi, recommencez la procédure à partir de l'étape 1.

    Exemple :

    ENTER + ~ + B + c
    
  4. Analysez les résultats du diagnostic. Le dossier de plantage du noyau de la version SysRq génère des données de diagnostic que vous pouvez analyser. En envoyant les commandes SysRq appropriées, vous pouvez recueillir des données de diagnostic précieuses pour résoudre les problèmes et reprendre le contrôle du système.

Pour afficher la liste des raccourcis clavier d' SysRq, appuyez sur Entrée, puis sur ~Bh (tilde, B majuscule, h minuscule). Pour plus d'informations, consultez Linux Astuces pour les touches de requête du Magic System - Que sont les touches « commande »?