Wenn Sie schon einmal eine Festplatte auf einem Remote-Server fehlschlagen hatte man das Gefühl erinnern sich vielleicht hatten Sie nach dem Versuch, die folgenden Befehle zu erteilen:
# rebooten heftiger schlag: /sbin / reboot: Eingabe / Ausgabe-Fehler # shutdown -r now heftiger schlag: /sbin / shutdown: Eingabe / Ausgabe-Fehler
Offensichtlich, gibt es ein Problem mit dem Laufwerk. Diese Befehle werden scheitern, weil der Kernel ist nicht in der Lage das zu laden /sbin/reboot
und /sbin/shutdown
so Binärdateien von der Platte, dass es sie ausführen kann.
Ein fsck beim nächsten Systemstart könnte in der Lage sein, zu korrigieren, was auch immer mit der Scheibe ist falsch, aber zuerst müssen Sie das System zu bekommen, um einen Neustart. Wenn Ihre Maschine in einem Managed-Hosting-Provider befinden, dann könnten Sie einen Neustart Ticket einreichen, aber Sie müssen warten, bis jemand die Verantwortung übernehmen.
Wäre es nicht schön, wenn es eine Möglichkeit gäbe, den Kernel zu fragen, ohne neu zu starten, um die fehlerhafte Laufwerk zugreifen? Gut, da ist ein Weg, und es ist bemerkenswert einfach.
Das „Magie SysRq Schlüssel“ bietet eine Möglichkeit, Befehle direkt an den Kernel durch das / proc-Dateisystem zu senden. Es wird über einen Kernel-Kompilierung-Option aktiviert, CONFIG_MAGIC_SYSRQ, die scheint auf den meisten Distributionen Standard zu sein. Zuerst müssen Sie die Magie SysRq Option aktivieren:
Echo 1 > / Proc / sys / kernel / sysrq
Wenn Sie bereit sind, starten Sie das Gerät neu zu starten Sie einfach die folgenden:
echo b> / proc / sysrq-Trigger
Dies wird nicht versucht, auszuhängen oder Sync-Dateisysteme, so sollte es nur verwendet werden, wenn es absolut notwendig, aber wenn Ihr Antrieb bereits dann versagt das kann nicht ein Anliegen sein.
Neben dem System die sysrq Trick, um einen Neustart kann verwendet werden, um Speicherinformationen an die Konsole zu entleeren, Synchronisieren Sie alle Dateisysteme, remount alle Dateisysteme im Read-Only-Modus, senden SIGTERM oder SIGKILL an alle Prozesse außer init, oder Ausschalten der Maschine vollständig, unter anderem.
Ebenfalls, anstelle von Echo in /proc/sys/kernel/sysrq
jedes Mal, können Sie die Magie SysRq Taste beim Booten des Systems unter Verwendung von sysctl aktivieren, wo unterstützt:
Echo "kernel.sysrq = 1" >> /etc/sysctl.conf
Wenn Sie möchten mehr über Magie SysRq zu lernen, können Sie das lesen sysrq.txt Datei in der Kernel-Dokumentation.