Ein paar Dinge fallen mir ein:
-
Wiederherstellung nach einer Kernel-Panik
Eine Kernel-Panic kann per Definition nicht behoben werden, ohne den Kernel neu zu starten.
-
Wiederherstellung von Hängern, die Sie ohne Terminalzugriff zurücklassen
Wenn das System nicht reagiert und Sie keine Möglichkeit haben, Befehle zur Wiederherstellung zu erteilen, bleibt Ihnen möglicherweise nur ein Neustart. Normalerweise möchten Sie manuelles Aus- und Einschalten vermeiden. Für solche Situationen hat der Linux-Kernel Magic SysRq-Unterstützung, die verwendet werden kann, um die Maschine im Notfall neu zu starten.
Solange
CONFIG_MAGIC_SYSRQ
Option in der Kernelkonfiguration aktiviert wurde und diekernel.sysrq
sysctl
Option aktiviert ist, können Sie mit magischen SysRq-Tastenkombinationen Befehle direkt an den Kernel senden:Beachten Sie, dass Alt +SysRq unten bedeutet gedrückt halten Alt , dann gedrückt halten SysRq (normalerweise die PrintScrn Schlüssel).
- Alt +SysRq +r :Steuerung der Tastatur wiedererlangen
- Alt +SysRq +e :sende
SIGTERM
für alle Prozesse außerinit
, um ihnen die Möglichkeit zu geben, ordnungsgemäß zu beenden - Alt +SysRq +ich :sende
SIGKILL
für alle Prozesse außerinit
, wodurch sie zum Beenden gezwungen werden - Alt +SysRq +s :versuchen, alle gemounteten Dateisysteme zu synchronisieren
- Alt +SysRq +u :Alle Dateisysteme schreibgeschützt remounten
-
Alt +SysRq +b :Neustart oder
Alt +SysRq +o :Herunterfahren
Eine Mnemonik für die magischen SysRq-Tastenkombinationen, um einen ordnungsgemäßen Neustart zu versuchen, lautet:
"R eboot E ven Ich f S System Du ganz B Ruck "
Für Headless-Server gibt es sogar ein iptables-Target, das Remote-SysRq-Sequenzen über ein Netzwerk ermöglicht.
-
Aus nicht bootfähigem Zustand wiederherstellen
Wenn das System bereits in einen Zustand gebracht wurde, in dem ein normaler Start nicht möglich ist (z. B. aufgrund eines fehlgeschlagenen System-Upgrades, eines beschädigten Dateisystems usw.), besteht die einzige Möglichkeit, auf eine Wiederherstellungskonsole auf dem System zuzugreifen, möglicherweise darin, neu zu starten mit geeigneten Boot-Optionen.
-
Ändern Sie die Boot-Time-Kernel-Parameter
Einige Kernelparameter (z.B.
audit
zum Aktivieren/Deaktivieren des Kernel-Auditing) kann nur gesetzt werden, wenn der Kernel beim Booten geladen wird.
Es gibt zwei Fälle, in denen ich mir vorstellen kann, wo ich neu starten möchte:
-
Wenn ich sicherstellen muss, dass das System im richtigen Zustand hochfahren kann.
Ich habe einmal an einem System gearbeitet, auf dem während der Ausführung ein Daemon konfiguriert war. Nachdem es ein paar Jahre lief, verursachte ein Stromausfall einen Neustart, aber der Daemon war nicht Teil des Startvorgangs und niemand hatte eine Ahnung, wie er vor Jahren konfiguriert worden war. Das System war tagelang ausgefallen, während wir herausfanden, wie wir es neu konfigurieren können.
Tatsächlich ist ein Neustart die einzige Möglichkeit, um sicherzugehen, dass Ihr System nach einem Stromausfall ordnungsgemäß neu gestartet wird.
-
Wenn eine Systembibliothek aktualisiert wurde.
Nehmen wir an, dass eine größere Sicherheitslücke in einer Bibliothek entdeckt wurde, die mit vielen Apps/Servern auf dem System geteilt wird. Sie können die Bibliothek ohne Neustart aktualisieren, aber wie viele Prozesse werden noch ausgeführt, wenn die unsichere Bibliothek geladen ist? Sie können alles mit der alten Bibliothek mühsam neu starten (wenn Sie es herausfinden können), aber das ist fehleranfällig und kann länger dauern als nur ein Neustart.
Ein Neustart ist der beste Weg, um sicherzustellen, dass alle laufenden Prozesse nicht noch immer die alte, fehlerhafte Bibliothek verwenden.