Connect with us

Wie man

Wie können unerwartete Herunterfahren einem Linux-Computer schaden?

Wie können unerwartete Herunterfahren einem Linux-Computer schaden?

Sind unerwartete Herunterfahren für Linux genauso schädlich wie für andere Betriebssysteme? Lesen Sie weiter, während wir die Auswirkungen katastrophaler Systemabschaltungen auf Linux-Dateisysteme untersuchen.

Die Frage

SuperUser Reader User208554 ist neugierig auf Linux-Dateistrukturen und besorgt über eine App / Installation, an der er arbeitet:

Ich entwickle eine Anwendung auf einem Linux Embedded Board (unter Debian), z. B. Raspberry Pi, Beagle Board / Bone oder Olimex. Die Platinen arbeiten in einer Umgebung, in der der Strom unerwartet unterbrochen wird (es ist viel zu kompliziert, ein Netzteil usw. zu platzieren), und dies würde jeden Tag ein paar Mal vorkommen. Ich frage mich, ob die unerwarteten Stromausfälle Probleme auf dem Linux-Betriebssystem verursachen würden. Wenn es etwas ist, über das ich mir Sorgen machen sollte, was würden Sie vorschlagen, um die Schäden am Betriebssystem gegen unerwartete Stromausfälle zu verhindern?

PS. Die Anwendung muss einige Daten auf das Speichermedium (SD-Karte) schreiben. Ich denke, es wäre nicht geeignet, sie schreibgeschützt zu mounten.

Wie lautet das Urteil?

Die Antwort

Der SuperUser-Beitrag l0b0 bietet einige Einblicke in Journaling- / Nicht-Journaling-Dateisysteme:

Dies würde davon abhängen

  1. ob Sie eine verwenden Journaling-Dateisystem und
  2. wie gut die Anwendungen mit abgebrochener Verarbeitung umgehen können.

Stellen Sie sich zum Beispiel eine Anwendung vor, die eine Datei verarbeitet und die berechneten Ergebnisse (eine Ausgabezeile pro Eingabezeile) in eine andere Datei schreibt. Wenn die Stromversorgung während der Verarbeitung unterbrochen wird und dieselbe Anwendung nach dem Neustart ausgeführt wird, kann die Verarbeitung nicht einfach vom Anfang der Eingabedatei aus neu gestartet werden. Dies würde bedeuten, dass die Ausgabedatei doppelte Informationen enthält.

Es könnte sehr schwierig sein, etwas Bestimmtes über ein hypothetisch komplexes System zu sagen, aber die stabilste Linux-Software scheint in der Lage zu sein, Abstürze recht gut zu bewältigen.

Stu schlägt vor, das Betriebssystem und die Daten zu trennen und ein Batterie-Backup hinzuzufügen:

Um die Möglichkeit einer Beschädigung des Betriebssystems zu minimieren, ist es wahrscheinlich am besten, separate „System“ – und „Daten“ -Partitionen auf der SD-Karte zu haben. Auf diese Weise können Sie die „System“ -Partition schreibgeschützt bereitstellen und einen hoch belastbaren FS für die „Daten“ -Partition verwenden.

Darüber hinaus haben die meisten dieser Karten einen sehr geringen Strombedarf, sodass eine Batterieunterstützung möglich ist. Das „LiPo Rider“ -Board für den Raspberry Pi kann als Basis-USV verwendet werden, um ein sauberes Herunterfahren bei Stromausfall zu gewährleisten.

Schließlich erweitert Jenny D den Vorschlag für ein Journaling-Dateisystem:

Unerwartete Stromausfälle können zu einer Beschädigung der Dateisystemdaten führen. Wenn beispielsweise ein Prozess mit dem Schreiben in eine Datei begonnen hat, diese jedoch noch nicht abgeschlossen hat, wird die Datei möglicherweise nur zur Hälfte geschrieben. Stellen Sie sich nun vor, der Stromausfall tritt auf, wenn Sie sich in der Mitte eines Kernel-Upgrades befinden.

Wie l0b0 schrieb, hilft die Verwendung eines Journaling-Dateisystems, da es in der Lage ist, den Überblick darüber zu behalten, was tatsächlich getan wurde. Zusätzlich zu den Wikipedia-Informationen, die l0b0 verlinkt hat, könnten Sie interessiert sein Führen Sie eine Journaling-Dateisystemgarantie gegen Beschädigung nach einem Stromausfall durch auch.

Als Programmierer müssen Sie natürlich sorgfältig überlegen, wie Sie mit dem Schreiben in Dateien umgehen sollen, damit es zu einem atomaren Prozess wird (dh es ist entweder vollständig oder gar nicht erledigt, aber niemals zur Hälfte erledigt). Es ist ein ziemlich komplexes Thema.

Haben Sie der Erklärung etwas hinzuzufügen? Ton aus in den Kommentaren. Möchten Sie weitere Antworten von anderen technisch versierten Stack Exchange-Benutzern lesen? Den vollständigen Diskussionsthread finden Sie hier.

Continue Reading
Click to comment

Leave a Reply

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Tendencia