Gewaltsamer Reset unter Linux

Ich stehe mitunter vor dem Problem, Linux-Systeme neu starten zu müssen, die aber absehbar in der Logik des Herunterfahrens fest stecken, wenn sich etwa eine noch gemountete Platte im laufenden Betrieb abgemeldet hat. Gibt es einen Trick, aus der Ferne einen Reset auszulösen?

In Pocket speichern vorlesen Druckansicht
Lesezeit: 2 Min.
Von
  • Peter Siering

Ich stehe mitunter vor dem Problem, Linux-Systeme neu starten zu müssen, die aber absehbar in der Logik des Herunterfahrens fest stecken, wenn sich etwa eine noch gemountete Platte im laufenden Betrieb abgemeldet hat. Gibt es einen Trick, aus der Ferne einen Reset auszulösen?

Wenn vor Ort niemand ist, der das durch einen beherzten Druck auf den Reset-Taster erledigen kann, oder ein solcher fehlt, Sie aber noch Zugang zum betroffenen System haben, bietet sich das in den Linux-Kernel integrierte sysrq-Interface an: Im /proc-Dateisystem existiert der Eintrag sysrq-trigger, wenn der Kernel mit UnterstĂĽtzung dafĂĽr ĂĽbersetzt worden ist (CONFIG_MAGIC_SYSRQ).

Wenn Sie Zugriff auf die Console des Systems haben, können Sie die zugehörige Taste betätigen. Sie ist über Alt-PrtScr beziehungsweise Alt-Druck oder S-Abf erreichbar. Anschließend können Sie per weiterer Taste einen Befehl ausführen. Die möglichen Befehle beschreibt die Datei sysrq.txt, die im Dokumentations-Verzeichnis der Linux-Kernelquellen liegt.

Aus der Ferne schicken Sie solche Befehle als Ausgabe an /proc/sysrq-trigger, wobei Sie als Benutzer root angemeldet sind. Mit echo s > /proc/sysrq-trigger sorgen Sie dafür, dass Linux seine Puffer auf die Platten zurückschreibt (als „sync“ bekannt). Wenig später können Sie dann mit echo b > /proc/sysrq-trigger einen brutalen Reset auslösen lassen. Das empfiehlt sich natürlich nur, wenn nichts anderes mehr hilft.

Damit über die sysctl-Schnittstelle kein Schindluder getrieben wird, gibt es einen Schutz: Erst wenn in /proc/sys/kernel/sysrq ein Wert größer als 0 eingetragen ist, reagiert das System überhaupt auf den Tastendruck oder die Ausgaben nach /proc/sysrq-trigger. Gegebenenfalls müssen Sie die Funktion also erst mit echo 1 > /proc/sys/kernel/sysrq einschalten. Alternativ lässt sich das mit dem Befehl sysctl erledigen: sysctl -w kernel.sysrq=“1“ sowie auch permanent beim Systemstart über einen Eintrag in der Konfigurationsdatei sysctl.conf, die meist in /etc/ zu finden sein dürfte. (ps) (ps)