Starten Sie Linux von der Konsole neu. Sanfter Neustart und sofortiges Herunterfahren des Computers in Ubuntu. Brechen Sie das geplante Herunterfahren ab

Dann kann SysRq in den scheinbar aussichtslosesten Situationen aushelfen, es sei denn natürlich, der Kernel befindet sich in "Panik", was normalerweise durch zufällig blinkende Tastatur-LEDs angezeigt wird. Interessant? Dann lesen wir weiter.

Den SysRq-Schlüssel gab es lange bevor Windows Screenshots machte. IBM beabsichtigte ursprünglich, mit der SysRq-Taste zwischen Anwendungen zu wechseln, ohne sie zu stoppen. Aber das ist Geschichte. Linuxoids haben SysRq angepasst, um dem Benutzer Notfallzugriff auf den Kernel zu geben. Aber auch hier ist nicht alles einfach. Tatsache ist, dass für die Kompatibilität mit Windows in grafischen Linux-Umgebungen eine einzelne SysRq-Taste wie PrintScreen funktioniert und die in Konsolen-Tutorials empfohlene Kombination Alt + SysRq, genau wie in Windows, dummerweise das aktive Fensterbild in den Puffer legt. Daher gibt es in Windows-Linux keinen SysRq-Schlüssel ... auch nicht! Anstelle dieser Taste wird in Linux-Grafikumgebungen die magische Kombination Alt + Strg + SysRq + lateinischer Buchstabe / Zahl verwendet, was Ihre Macht über die Maschine erheblich erhöht.

M - zeigt die Menge des verwendeten Speichers an. Unter Ubuntu funktioniert es, wenn Sie es vorinstallieren hohes Niveau Ausgabedetails.

N - zeigt eine Liste von Echtzeitaufgaben an. Funktioniert auch, wenn Sie zuvor den Ausgangspegel auf hoch eingestellt haben.

E - Bricht alle Prozesse außer init ab.

I - beendet alle Prozesse, einschließlich init.

T - druckt eine Aufgabenliste auf der Konsole.

S - synchronisiert alle Dateisysteme und schreibt alle gepufferten Daten auf die Festplatte.

R - bringt die Tastatur zwangsweise in einen Arbeitszustand zurück. In diesem Fall beginnt der Kernel direkt mit der Tastatur zu arbeiten, wobei der X-Server umgangen wird, und nur in ASCII-Codes.

T - zeigt eine Liste von Prozessen an. Funktioniert wiederum nur bei einer hohen Ausführlichkeit der Ausgabe.

P - Speicherauszug des Prozessors. Die Anforderung kann für diejenigen von Interesse sein, die sich mit Software-Debugging befassen.

Q - Zeigt Hardtimer-Ereignisse an. Funktioniert, wenn die Ausführlichkeit der Ausgabe auf hoch eingestellt ist.

O - schaltet den Computer sofort aus.

B - startet den Computer neu. Sie berichten zwar, dass es sich beim Kernel 3.8.0-25 nicht um einen Neustart, sondern um ein Herunterfahren handelt. Aber ich habe es nicht selbst überprüft.

U - Remountet alle Dateisysteme im Nur-Lese-Modus.

V - Stellt den Framebuffer der Konsole wieder her. Angenommen, Sie surfen darin virtuelle Konsole etwas Video (ja, Linux erlaubt das im Gegensatz zu Windows auch), und Sie müssen sich dringend daran erinnern, was Sie in der Konsole gemacht haben, bevor Sie das Video starten. Der Befehl stellt den Framebuffer der Konsole wieder her. Im Allgemeinen wäre es notwendig, mehr über diese interessante Sache zu erzählen - den Framebuffer, aber nicht in diesem Artikel.

W - Zeigt alle blockierten Aufgaben an, falls vorhanden.

Z - zeigt den Inhalt des Kernel-Trace-Puffers an.

Also, PLÖTZLICH friert Ihr Linux so ein, dass selbst ein Neustart des Xes mit den Tasten Alt + Entf + BS nicht hilft. Ruhig, einfach ruhig. Beeilen Sie sich auf keinen Fall, die Reset-Taste am Computergehäuse zu drücken. Mit sehr hoher Wahrscheinlichkeit werden Sie keine Daten verlieren, wenn Sie nacheinander drücken Tasten R-E-I-S-U-B(Halten Sie Alt+Strg+SysRq gedrückt!). Und weisst du was? Sie können einen normal funktionierenden Computer jederzeit sofort mit Alt + Strg + SysRq + O ausschalten. Es sei denn, Sie haben Ihre Programme geschlossen. :)

Ich halte es jedoch für gefährlich, die magische SysRq verfügbar zu machen, wenn Sie anderen Benutzern erlauben, remote auf Ihrer Maschine zu arbeiten, oder Sie selbst remote damit arbeiten. Der Punkt ist, dass das von der Remote-Konsole gesendete Break-Signal als Alt+SysRq interpretiert werden kann, mit allen daraus resultierenden Konsequenzen. Wenn Sie sich also entscheiden, Fernzugriff auf Ihren Computer zu gewähren, setzen Sie für alle Fälle zuerst die Variable kernel.sysrq in der Systemkonfiguration zurück. Sie können dafür auch ein einfaches Skript auf der Bash schreiben und sogar eine Schaltfläche auf dem Desktop daran anhängen, sodass Sie sich nicht jedes Mal die Mühe machen müssen, die Systemkonfigurations-Steuerdatei zu bearbeiten. Viel Glück!

Schnittstelle Ubuntu-Linux Es hat eine ziemlich gute Stabilität, aber manchmal muss es trotzdem neu gestartet werden. Dies kann auf mehrere Arten erfolgen. In diesem Artikel werde ich Möglichkeiten zum Neustarten mehrerer Desktopumgebungen bereitstellen.

Was tun, wenn die gesamte Ubuntu-Oberfläche einfriert?

BEI letzte Version Ubuntu-, Lubuntu- und Xubuntu-Systeme erfordern einen Neustart von LightDM. Dies geschieht durch den Befehl:

sudo service lightdm neustarten

Verwenden Sie für die Kubuntu-Umgebung den Befehl:

sudo /etc/init.d/kdm neu starten

Was tun, wenn das Programm einfriert

Was ist, wenn das Programmfenster nicht reagiert? Wenn beispielsweise nicht die gesamte Oberfläche neu gestartet werden muss, wenn eine bestimmte Grafikanwendung, dann können Sie in diesem Fall das praktische Dienstprogramm verwenden xkill.
Um dieses Dienstprogramm zum Schließen einer bestimmten Anwendung zu verwenden, müssen Sie die Tastenkombination drücken ALT+F2 und schreibe xkill, dann klick Eintreten auf Tastatur.
Nachdem der Vorgang abgeschlossen ist, verwandelt sich der Mauszeiger auf dem Bildschirm in ein Kreuz, und wenn Sie mit einem solchen Cursor auf ein ausgewähltes Fenster klicken, wird der darin ausgeführte Prozess (das hängende Programm selbst) beendet.

Was tun, wenn alles komplett einfriert

Wenn der Computer mit Ubuntu auf keine Benutzeraktionen reagiert, sollten Sie die folgenden Anweisungen verwenden:

Ubuntu steckte fest

Was wäre, wenn der Operationssaal Ubuntu-System hat sich komplett aufgehängt und reagiert nicht einmal auf die Tastenkombination zum Wechseln zum Terminal (ALT + F1-F7)?
In dieser Situation können Sie mit einem bestimmten Befehl eine sanfte (sichere) Neustartmethode anwenden.
Tasten müssen gleichzeitig gedrückt werden Alt + PrtScnSysRq und ohne sie nacheinander loszulassen, drücken Sie die folgende Kombination: R E I S U B
Danach wird der PC neu gestartet.
Was passiert bei dieser Kombination?

Erinnern Befehl gegeben Sie können sich an das Wort BUSIER erinnern Englische Sprache(Assoziation mit Geschäftigkeit, gleich Nichtverfügbarkeit des Systems).

Linux-Dateisystempuffer werden im Arbeitsspeicher gespeichert und nur gelegentlich auf die Festplatte geschrieben. Dies beschleunigt Festplatten-I/O-Vorgänge, erhöht jedoch das Risiko von Datenverlusten im Falle eines plötzlichen Ausfalls.

Herkömmliche UNIX- und Linux-Systeme waren beim Herunterfahren sehr wählerisch. Moderne Systeme sind toleranter (besonders wenn wir redenüber ein hochverfügbares Dateisystem wie ext3fs), aber es ist immer noch am besten, wenn möglich, ordnungsgemäß herunterzufahren. Ein falsches Herunterfahren des Computers kann zum Auftreten von schwer zu findenden, nicht offensichtlichen Fehlern und manchmal zu einem vollständigen Absturz des Systems führen.

Starten Sie das System neu persönlicher Computer- eine Lösung für fast alle Probleme. Aber wenn Sie unter Linux arbeiten, raten wir Ihnen, zuerst nachzudenken und erst dann neu zu starten. Probleme, die unter Linux auftreten, sind in der Regel subtil und komplex, sodass ein Neustart viel seltener zum erwarteten Ergebnis führt als auf anderen Systemen. Darüber hinaus dauert der Linux-Neustart lange, was für Benutzer unangenehm ist.

Ein Neustart ist erforderlich, wenn ein neues Gerät angeschlossen wird oder ein funktionierendes Gerät einfriert, sodass es nicht initialisiert werden kann. Wenn eine Konfigurationsdatei geändert wird, die nur beim Booten abgefragt wird, werden die Änderungen erst nach einem Neustart wirksam. Und schließlich, wenn es unmöglich ist, sich im System zu registrieren, gibt es einfach keinen anderen Ausweg als einen Neustart.

Wenn eines der Systemstartskripte geändert wird, müssen Sie zumindest einen Neustart durchführen, um zu überprüfen, ob das System nach den Änderungen erfolgreich funktioniert. Wenn ein Problem nicht innerhalb der nächsten Wochen auftaucht, werden Sie sich danach nicht mehr an die Details der letzten Änderungen erinnern.

Im Gegensatz zu Bootstrap, die auf die einzige Weise ausgeführt wird, können Sie das System auf verschiedene Arten stoppen und neu starten:

  • schalten Sie den Strom aus;
  • geben Sie den Shutdown-Befehl ein;
  • verwenden Sie Halt- und Reboot-Befehle;
  • Ändern Sie den Runlevel des Init-Daemons mit dem Befehl telinit;
  • Führen Sie den Befehl poweroff aus, um das System aufzufordern, den Strom auszuschalten.

Ausschalten unter Linux

Auch in Systemen Desktop-Computer Das Ausschalten des Stroms ist nicht die beste Methode, um das System herunterzufahren. Dies kann zu Datenverlust und Beschädigung des Dateisystems führen.

Einige Computer verfügen über eine Soft-Stopp-Taste, die beim Drücken eine Reihe von Befehlen ausführt, die das System ordnungsgemäß herunterfahren. Wenn Sie sich nicht sicher sind, ob Ihr Computer diese Funktion unterstützt, versuchen Sie nicht, dies durch Drücken des Netzschalters herauszufinden, während das System läuft! Es gibt viel weniger Probleme, wenn Sie das System manuell stoppen.

Natürlich ist Voraussicht im Rahmen des Zumutbaren gut. Bei Überschwemmungen oder Bränden ist es besser, den Strom abzuschalten, wenn einfach keine Zeit bleibt, das System ordnungsgemäß herunterzufahren. Es war einmal in den Maschinenräumen, dass es einen Notknopf gab, mit dem man alle Geräte gleichzeitig ausschalten konnte.

Mannschaft stilllegen: Der richtige Weg, um das System herunterzufahren

Der Shutdown-Befehl ist die sicherste und korrekteste Methode, um das System herunterzufahren oder neu zu starten oder in den Einzelbenutzermodus zurückzukehren.

Sie können den Befehl anweisen, vor dem Herunterfahren des Systems anzuhalten. Während des Wartens sendet das Team in immer kürzeren Abständen Nachrichten an registrierte Benutzer und warnt vor einem bevorstehenden Ereignis. Standardmäßig weisen die Meldungen darauf hin, dass das System heruntergefahren wird, und geben die verbleibende Zeit bis zum Herunterfahren an. Optional kann der Administrator eine eigene Kurznachricht hinzufügen, die erklärt, warum das System gestoppt wird und wie lange es ungefähr dauern wird, bis er sich wieder anmelden kann. Nachdem der Befehl zum Herunterfahren ausgegeben wurde, werden Benutzer daran gehindert, sich anzumelden, aber sie sehen die vom Administrator bereitgestellte Nachricht.

Mit dem Befehl shutdown können Sie festlegen, was das System nach Ausführung des Befehls tun soll: stoppen (-h) oder neu starten (-r). Außerdem können Sie einstellen, ob nach einem Neustart Zwangsprüfung Festplatten mit dem fsck-Befehl (-F) oder nicht (-f). Standardmäßig überspringt Linux diese Prüfung automatisch, wenn die Dateisysteme ordnungsgemäß ausgehängt wurden.

Der folgende Befehl erinnert Benutzer an eine geplante Wartungsprozedur und fährt das System um 9:30 Uhr herunter:

$ shutdown -h 09:30 "Wird wegen planmäßiger Wartung heruntergefahren. Voraussichtliche Ausfallzeit beträgt 1 Stunde"

Sie können auch eine relative Abschaltzeit einstellen. Beispielsweise startet der folgende Befehl den Herunterfahrvorgang nach 15 Minuten:

$ shutdown -h +15 "Wird wegen Notreparatur der Festplatte heruntergefahren."

Mannschaft Halt: eine einfachere Art zu stoppen

Der Befehl halt führt alle grundlegenden Operationen durch, die zum Anhalten des Systems erforderlich sind.

Es wird normalerweise mit dem Befehl shutdown -h aufgerufen, kann aber auch alleine verwendet werden. Der Befehl protokolliert die Tatsache des Herunterfahrens in der Protokolldatei, beendet unwesentliche Prozesse und wird ausgeführt Systemaufruf sync, wartet auf den Abschluss von Festplattenschreibvorgängen und beendet dann den Kernel.

Mit der Option -n wird der Systemaufruf sync unterdrückt. Der Befehl halt -n wird nach der Wiederherstellung der Root-Partition mit dem Befehl fsck verwendet, damit der Kernel keine Fixes mit alten Versionen der im Cache gespeicherten Partition überschreiben kann.

Mannschaft Neustart: schneller Neustart

Der Reboot-Befehl ist fast identisch mit dem Halt-Befehl. Der einzige Unterschied besteht darin, dass das System neu gestartet wird, anstatt anzuhalten. Der Neustartmodus wird auch durch den Befehl shutdown -r aufgerufen. Der Neustartbefehl unterstützt auch das Flag -n.

Mannschaft telinit: Daemon-Runlevel ändern drin

Sie können den Befehl telinit verwenden, um den Init-Daemon anzuweisen, zu einem bestimmten Runlevel zu springen. Zum Beispiel der Befehl

Zusammenfassung: Beschreibung von Neustarttypen, Geschichte über sysrq, ipt_SYSRQ, ipmi, psu.

Wie starte ich den Server neu?- Dies ist eine Frage, die häufig von Anfängern gestellt wird, die zwischen halt, shutdown -r, reboot, init 6 usw. verwirrt sind.

Ein erfahrener Administrator klärt die Frage: "Was ist mit dem Server los?" Verschiedene Arten von Serverausfällen erfordern verschiedene Typen reboot - und eine falsch gewählte Option führt zu schwerwiegenden Konsequenzen, von denen ein Besuch der IPMI / DRAC / iLO-Webseite zum "Neustarten" am einfachsten ist. Das Schwierigste in meiner persönlichen Praxis war die Dienstreise eines enikey-Mitarbeiters in eine Nachbarstadt. Um auf einem einsamen Server "Neustart zu drücken".

In diesem Artikel: Was den Server am Neustart hindert und wie man ihm hilft.

Beginnen wir mit der Neustart-Theorie.

Beim Herunterfahren oder Neustarten des Servers sendet der Initialisierungsmanager (in den meisten modernen Distributionen - systemd, im exzentrischen Ubuntu 14.04 noch Upstart, im archaischen Müll - sysv-init) in einer bestimmten Reihenfolge den "shut down"-Befehl an alle Daemons . Und die meisten Daemons (wie DBMS wie mysql) wissen, wie man richtig herunterfährt. Beenden Sie beispielsweise alle Transaktionen, speichern Sie alle nicht gespeicherten Daten auf der Festplatte usw. Für ein In-Memory-DBMS wie Redis kann dies überhaupt kritisch sein: Wenn Sie es nicht speichern, verlieren Sie es.

Die alten Init-Systeme warteten endlos auf jedes der Init-Skripte. Wenn beispielsweise ein „Joker“ einen „sleep 3600“-Zweig zu Ihrem „Stopp“ hinzufügt, wird Ihr Server anderthalb Stunden lang neu gestartet. Und wenn es eine größere Anzahl gibt oder nur ein Programm, das nicht beendet werden möchte, wird der Neustart niemals enden.

Neue Initialisierungssysteme (eigentlich scheuen wir uns nicht - es bleibt nur noch systemd) geben ein bestimmtes Timeout (normalerweise 120 oder 180 Sekunden) zum Speichern von Daten, wonach sie den Vorgang zwangsweise beenden. Neben dem Stoppen von Daemons werden Dateisysteme ausgehängt (d. h. alle Block-Caches werden gelöscht), iscsi-Ziele werden gestoppt (auch mit Cache-Dropping) usw. usw. Trotz der Tatsache, dass die Abschaltzeit unendlich lang ausfällt, Es ist alles Plus, es gibt zumindest eine gewisse Hoffnung auf die korrekte Beendigung aller Daemons, das Dumping von Datei-Caches usw.

Daher ist auf einem gesunden System die richtige Antwort auf die Frage „wie man neu startet“, die Ausführung des Neustartbefehls. Teilweise sogar die einzig Richtige (Korrektur: if in GUI"reboot" ausführen, dann wird die Desktop-Umgebung denken, dass dies ein Notfall-Neustart ist - um aus dem grafischen Modus neu zu starten, müssen Sie "reboot" in der DE-Oberfläche verwenden).

Was kann bei einem "normalen Neustart" schief gehen? Nun, erstens kann einer der Daemon-Prozesse "dumm" werden - siehe oben.

Zweitens kann es ein Problem beim Unmounten von Dateisystemen geben. Es wird angenommen, dass es ausreicht, alle Prozesse zu "beenden", und es wird einfach sein, die Festplatte zu deaktivieren - niemand verwendet sie. Aber, um es milde auszudrücken, das ist nicht so. Hier sind mögliche Methoden, um "fs festzunageln, damit es nicht ausgehängt wird:

  • fallocate /fs/swap -l 1G;mkswap /fs/swap; swapon /fs/swap
  • dd if=/dev/sda of=/fs/image; kpartx /fs/image
  • losetup --find --show /fs/image
usw. Kurz gesagt: Die Datei kann nicht nur beschäftigt werden Dateisystem, sondern auch der Kern. Und ein Modul im Kernel kann damit beschäftigt sein, nach Antworten auf den Sinn des Lebens zu suchen, ohne die Absicht zu haben, die Ressource freizugeben.

Was ist das Risiko? Ein nicht gemountetes Dateisystem. Systemd versucht in dieser Situation, versucht und wirft (ein nicht gemountetes Dateisystem). Das heißt, der Neustart in dieser Situation wird SEHR lange dauern, aber er wird trotzdem vergehen. Dies ist jedoch der Fall, wenn umount einen Fehler zurückgibt.

Und es kommt vor, dass umount den Vorgang nicht abschließen kann, weil etwas nicht verfügbar ist. Beispielsweise eine Datei auf einem NFS-Server. Wenn ein Prozess auf eine solche Datei zugreift, kann er nicht beendet werden (auch nicht mit kill -9). Und in dieser Situation wird "Neustart" den Server einfach aufhängen. Auch hier sind die typischsten Stellen von systemd „versteckt“, aber es ist immer noch möglich, auf TASK_UNINTERRUPTIBLE („D“ in ps aux) zu stoßen.
Was zu tun ist? Es ist möglich, neu zu starten, ohne die Dateisysteme zu synchronisieren und alles mit reboot -f abzuschließen. Aber er kann auch hängen. Zu den Gründen unten, aber vorerst zu den Konsequenzen: Alle Prozesse werden nicht gestoppt und sterben sofort, TCP-Sitzungen werden nicht geschlossen, Festplatten-Caches werden nicht zurückgesetzt. Der Kernel führt jedoch immer noch einige Bewegungen im Neustartbereich aus (und möglicherweise werden einige der Caches zurückgesetzt). Die Hauptsache ist, dass der größte Teil des Kernels am Neustartprozess beteiligt ist. Und das bedeutet, dass wir, wenn der Kern krank wird, möglicherweise nicht zurückgehen.

Die zweite, äußerst unangenehme Situation: Probleme mit dem Dateisystem auf / (an der Wurzel). Jeder Versuch, ls, grep und sogar "reboot" auszuführen, führt entweder zu einem Hängenbleiben der Konsole oder zu einem Fehler. Probleme mit libc (einschließlich ihrer Entfernung) fallen in die gleiche Kategorie, wenn ein "Neustart"-Versuch über ein Verbindungsproblem informiert wird und sich weigert, irgendetwas zu tun. Oder wir haben das Limit für die Anzahl der Pids erreicht und sie befinden sich alle im Zustand „D“ oder ein anderer Dreck des gleichen Kalibers, der in die Kategorie „Server schlecht“ geht.

Es kommt vor, dass nur eine Konsole auf dem Server geöffnet bleibt (und die zweite nicht mehr geöffnet wird). Wieso den? Weil jemand am Festplattentreiber herumgebastelt hat. Oder ein Raid-Controller. Oder etwas anderes, wonach nur noch Erinnerungen im Disk-Cache von "/" übrig bleiben. Das bedeutet, dass wir nur bash"a (eingebaute) Befehle haben, die ausgeführt werden, ohne neue Prozesse zu starten.

Es gibt eine Neustartmethode, für deren Ausführung keine ausführbaren Dateien erforderlich sind (dh vom fehlenden Laufwerk lesen). Dies ist (von root): echo b >/proc/sysrq-trigger . Die sysrq-trigger-Datei ermöglicht es Ihnen, eine beliebige Taste aus den SysRq-Kombinationen (Kernel-Notfalltasten) zu "drücken". Einschließlich SysRq-b, also ein Notfall-"Neustart". Es kommt oft vor, dass nach dem Drücken der Eingabetaste der Zeilenvorschub nicht einmal angezeigt wird - der Server befindet sich bereits im Neustart, bevor der Systemaufruf zurückkehrt. Dies ist die stärkste Software für den Neustart.
Hinweis: Was in dieser Situation richtig zu sein scheint, ist "sync, reboot", d.h. SysRq-s, SysRq-B ist ein Fehler, weil Nach SysRq-S kann der Kernel versuchen, mit dem leeren Satz zu kommunizieren, und möglicherweise Ihre letzte verfügbare Konsole in Panik versetzen oder zum Absturz bringen. Wenn ein Notfall-Neustart durchgeführt wird, muss es sich um einen Notfall handeln

ipt_sysrq

Es funktioniert alles, wenn Sie eine Konsole auf dem Server haben. Und wenn der Login hängt und es keine offene Konsole gibt? Es gibt ein ipt_SYSRQ-Modul, mit dem Sie Sysrq-Abfragen ausführen können, wenn Sie ein bestimmtes erhalten Netzwerkpaket(genauer gesagt nach der iptables-Regel). Läuft komplett im Kernel, d.h. hängt nicht von FS ab. Es kommt auch mit dem send_sysrq-Befehl.

Wächter für Wächter

Man könnte meinen, das sei „alles“, aber es gibt noch unangenehmere Freezes. Zum Beispiel stecken Netzwerkkarte. Und der übliche Neustart (auch über sysrq) hilft nicht. Das zweite Beispiel für eine solche schlechte Situation ist ein hängendes Gehäuse, das auf einer fehlerhaften Festplatte hängen bleibt und alle Bus-Resets ignoriert. Der Neustart scheint alles zurückzusetzen, aber auf die Festplatten kann nicht zugegriffen werden.

In diesem Fall benötigen wir einen Power-Cycle (aktivieren/deaktivieren). Das physische Ausführen des Servers ist nicht interessant, daher können Sie sich die Fähigkeiten moderner Server ansehen: IPMI. Dies ist ein eingebauter Mikrocomputer, mit dem Sie einen "großen" Computer steuern können. Es wird allgemein als IPMI, DRAC, iLO usw. bezeichnet.

Das Team, an dem wir interessiert sind: ipmitool Chassis Power Cycle. Es stellt höhere Anforderungen an die Systemleistung (Kernel-Module müssen geladen sein, ipmitool selbst muss erfolgreich gestartet werden, ipmi muss funktionieren usw.). Aber auf der anderen Seite erlaubt es Ihnen, die Ernährung aller zu verzerren. Genauer gesagt fast jeder - wenn der Server jbods hat, dann erreicht sie dieser Befehl nicht, aber trotzdem ist dies ein sehr solider und guter Neustart.

Wenn der Kernel vollständig krank ist, kann der Befehl remote ausgeführt werden (ipmitool -H ipmi.server.local chassis power cycle).

Eine weitere schwierige Situation ist, wenn ipmi hängt. Wenn das System mehr oder weniger aktiv ist, können Sie „ipmi neu starten“: ipmitool mc reboot hard . Danach ist es möglich, das Chassis aus- und wieder einzuschalten. Es klingt seltsam, aber mehrmals in meinem Leben habe ich den Server mit genau einer solchen Sequenz in einen normalen Neustart „herausgezogen“. ( Nach dem harten Neustart des mc müssen Sie einige Minuten warten, um den BMC zu laden).

Der nächste "Schmerzpunkt" ist das Einfrieren von Netzteilen. Ja, es passiert. Fehler in der Firmware von Netzteilen sind behoben, sie müssen geflasht werden. Natürlich funktionieren in dieser Situation keine Soft-Neustarts (z. B. ipmi Power Cycle). Sie müssen entweder das Kabel physisch stecken oder die Stromversorgung aus der Ferne jonglieren. Eine IP-Steckdose hilft in dieser Situation.

Es sieht in etwa so aus (ein Fragment des Control Panels für server.com/servers.ru):

Offensichtlich wird der Neustart unter diesen Bedingungen nach einem sehr schwierigen Szenario stattfinden, aber er wird definitiv bestehen.

Und manchmal müssen Sie beim Debuggen eines Problems oder Aktualisieren des Kernels möglicherweise neu starten Linux-System. Wenn Sie einen eigenständigen Server haben, müssen Sie wissen, wie Sie das System über die Befehlszeile neu starten.

In modernen Distributionen ersetzt das Dienstprogramm systemctl die meisten Energieverwaltungsbefehle, die in älteren Distributionen verwendet werden. Linux-Distributionen, auf sysvinit. Die alten reboot- und shutdown-Befehle sind systemctl-Aliasnamen und stehen aus Kompatibilitätsgründen auf dem System zur Verfügung.

In diesem Artikel zeigen wir Ihnen, wie Sie die Befehle systemctl und shutdown zum Neustarten verwenden Linux-Maschinen. Befehle müssen als root oder Benutzer mit ausgeführt werden.

So starten Sie Linux mit dem Befehl systemctl neu

Um ein Linux-System neu zu starten, führen Sie das Dienstprogramm systemctl mit dem Befehl reboot aus:

sudo systemctl reboot

Das System wird sofort neu gestartet.

Wenn ein Neustart eingeleitet wird, werden alle registrierten Benutzer und Prozesse benachrichtigt, dass das System heruntergefahren wird und keine weiteren Anmeldungen zulässig sind.

Um zu verhindern, dass der Neustartbefehl eine Nachricht sendet, führen Sie den Befehl mit der Option --no-wall aus:

sudo systemctl --no-wall reboot

Wenn Sie eine benutzerdefinierte Nachricht festlegen möchten, die den Grund für den Neustart erklärt, verwenden Sie die Option --message=:

sudo systemctl --message="Hardware aktualisieren" neu starten

Die Nachricht wird in den Protokollen angezeigt:

System wird neu gestartet (Hardware-Update)

So starten Sie Linux mit dem Shutdown-Befehl neu

Verwenden Sie zum Neustarten eines Linux-Systems den Befehl shutdown mit der Option -r:

sudo shutdown -r

Standardmäßig wird das System nach 1 Minute neu gestartet, Sie können dies jedoch festlegen genaue Uhrzeit wann das System neu gestartet werden soll.

Das Zeitargument kann zwei verschiedene Formate annehmen. Es kann eine absolute Zeit im Format hh:mm und eine relative Zeit im Format +m sein, wobei m die Anzahl der Minuten seit jetzt ist.

Das folgende Beispiel plant einen Systemneustart um 10:00 Uhr:

sudo shutdown -r 10:00

Um Ihr System sofort herunterzufahren, verwenden Sie +0 für seinen now-Alias:

sudo shutdown -r now

Um Ihre eigene Nachricht zusammen mit der Standardbenachrichtigung zum Herunterfahren zu senden, geben Sie Ihre Nachricht nach dem Zeitargument ein.

Der folgende Befehl fährt das System nach 10 Minuten herunter und benachrichtigt die Benutzer, dass ein Hardware-Update durchgeführt wird.