Wie kann ich den Schlüssel „ Linux “ SysRq verwenden, um über die serielle Konsole Fehler bei einer nicht reagierenden virtuellen Serverinstanz zu beheben?
Ihre virtuelle Serverinstanz von „ Linux “ reagiert nicht, und Sie können weder über SSH noch direkt darauf zugreifen.
Eine nicht reagierende Instanz eines virtuellen „ Linux “-Servers kann aus verschiedenen Gründen auftreten, beispielsweise aufgrund von Systemabstürzen, Deadlock-Situationen oder Problemen im Zusammenhang mit dem Kernel. Wenn der virtuelle Server nicht reagiert, funktionieren Standardmethoden zur Fehlerbehebung wie SSH oder der direkte Zugriff möglicherweise nicht. In diesen Fällen bleibt die serielle Konsole weiterhin zugänglich, sodass Administratoren mithilfe des Systembefehls „ Linux “ ( SysRq ) mit dem Server interagieren können.
Systemausfälle, Kernel-Panics oder nicht reagierende Prozesse können dazu führen, dass ein „ Linux “-Server über die regulären Prozesse nicht mehr erreichbar ist. Diese Probleme können durch Softwarefehler, Hardwarefehler oder falsch konfigurierte Systemparameter verursacht werden. Der Schlüssel „ SysRq “ ermöglicht den Zugriff auf niedrigerer Ebene auf den Kernel „ Linux “ und umgeht Prozesse auf höherer Ebene, die eingefroren sind oder nicht mehr reagieren. Dieser Mechanismus ist als Sicherheitsvorkehrung in den Kernel „ Linux “ integriert, um Benutzern die Durchführung kritischer Systemvorgänge wie den Neustart des Servers oder die Ausgabe von Diagnoseinformationen zu ermöglichen, selbst wenn andere Eingabemöglichkeiten nicht verfügbar sind.
Um das Problem mithilfe des Befehls „ SysRq “ über die serielle Konsole zu diagnostizieren und zu beheben, führen Sie die folgenden Schritte aus:
-
Stellen Sie eine Verbindung zur seriellen Konsole her, um auf die Instanz des virtuellen Servers zuzugreifen. Weitere Informationen enthält der Abschnitt Über VNC-Konsolen oder serielle Konsolen auf Virtual Server-Instanzen zugreifen.
-
SysRq-Befehle aktivieren. Falls die Befehle „ SysRq “ bereits aktiviert sind, können Sie diesen Schritt überspringen. Um die Befehle „ SysRq “ zu aktivieren, setzen Sie den Parameter „
kernel.sysrq“.echo 1 > /proc/sys/kernel/sysrq -
Senden Sie den Befehl „ SysRq “ über die serielle Konsole. Das folgende Beispiel startet einen Kernel-Crash-Dump (kdump).
Um einen Crash-Dump auszulösen, stellen Sie sicher, dass der Dienst „
crashkernel“ auf der virtuellen Serverinstanz „ Linux “ konfiguriert ist. Eine Anleitung finden Sie unter „ Mechanismus zur Erstellung von Kernel-Absturz-Dumps “.-
Drücken Sie die Eingabetaste.
-
Drücken Sie die Taste „
~“ (Tilde).Bei AZERTY-Tastaturen: Drücken Sie die Alt-Gr- Taste zusammen mit der Taste „2“, um das Zeichen „
~“ einzugeben. -
Drücken Sie die Taste „
B“ (Großbuchstabe „B“). -
Drücken Sie „
c“ (kleines „c“), um einen Kernel-Crash-Dump (kdump) zu starten.
Beachten Sie bei der Verwendung von „ SysRq “-Befehlen Folgendes:
- Drücken Sie jede Taste einzeln und lassen Sie sie wieder los. Halten Sie keine der Tasten gedrückt.
- Führen Sie die gesamte Abfolge innerhalb von fünf Sekunden aus, da die Befehle „ SysRq “ andernfalls auf der seriellen Konsole nicht erkannt werden.
- Wenn Sie diese Zeichenfolge eingeben, werden die Zeichen nicht auf der seriellen Konsole angezeigt. Das System behandelt sie als Zeichen der Unterbrechungssequenz. Die normale Eingabe über die Konsole wird fortgesetzt, sobald die Sequenz abgeschlossen ist oder wenn die Zeitüberschreitung eintritt oder ein ungültiges Zeichen erkannt wird.
- Wenn die Zeit für die Sequenz abläuft (länger als fünf Sekunden dauert) oder ein ungültiges Unterbrechungszeichen eingegeben wird, starten Sie den Vorgang ab Schritt 1 neu.
Beispiel:
ENTER + ~ + B + c -
-
Analysieren Sie die Diagnoseausgabe. Der vorherige Kernel-Absturz-Dump „ SysRq “ generiert Diagnosedaten, die Sie analysieren können. Durch das Senden entsprechender Befehle an „ SysRq “ können Sie wertvolle Diagnosedaten sammeln, um Fehler zu beheben und die Kontrolle über das System wiederzuerlangen.
Um eine Liste der Befehlstasten für „ SysRq “ anzuzeigen, drücken Sie die Eingabetaste und anschließend „ ~Bh “ (Tilde, Großbuchstabe B, Kleinbuchstabe h). Weitere Informationen findest du unter Linux Magic System Request Key Hacks – Was sind die „Befehlstasten“?