Neustarten Magic Way

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.