Linux anfällig für Korruption bei Stromausfall?


10

Die Systemadministratoren in meiner Firma sagen, dass Linux durch einen Stromausfall leicht in Mitleidenschaft gezogen wird. Sie sagen, dass Windows-Computer Stromausfälle immer überleben, Linux-Boxen jedoch häufig nicht mehr wiederherstellbar sind (dh Sie können die Computer nicht mehr starten). Dies geschah, weil sie mir sagten, dass das Energieversorgungsunternehmen unsere Büros für einen langen Zeitraum abschaltet. Die Administratoren wollten, dass ich alle Linux-Boxen herunterfahre, auf die ich allein vor dem Ausfall Zugriff habe.

Ich dachte, Linux sollte robust sein?
Meine Frage: Gibt es einen Prozess, den ich ausführen sollte, um zu verhindern, dass meine Linux-Boxen durch einen Stromausfall zerstört werden?


2
Abgesehen von verschiedenen Betriebssystemproblemen wirken sich Stromausfälle auf jeden Computer aus, einfach weil jeder laufende Prozess anhält. Es ist immer vorzuziehen, die Maschine selbst abschalten zu lassen, da dann alle Prozesse normal anhalten dürfen.
Doktoro Reichard

Doh, ich weiß das. Die Frage ist, ob Linux aus irgendeinem Grund spröder als Windows ist, und wenn ja, kann ich etwas tun, um seine Robustheit zu erhöhen (wie zum Beispiel, dass es gezwungen wird, seinen Festplatten-Cache irgendwie häufiger zu leeren).
Tyler Durden

2
Meine Antwort sollte allgemein und umfassend sein: Egal was Sie tun, es besteht immer die Gefahr, dass irgendwo etwas ausfällt. Wenn Linux spröder ist, überlasse ich es denen, die spezifisch antworten können. Meine persönlichen Erfahrungen (mit Windows und OSX) haben mir gezeigt, dass sie sich leicht erholten, wenn ich nicht etwas tat, das mir wichtig war (z. B. Simulationen). Vielleicht sollten Sie hinzufügen, wie die Maschinen verwendet werden.
Doktoro Reichard

"Gibt es einen Prozess, den ich ausführen sollte, um zu verhindern, dass meine Linux-Boxen durch einen Stromausfall zerstört werden?" Das Problem ist auf Hardware - Ebene, der Befehl nur können Sie hier laufen , dass würde helfen , „shutdown Computer“ ist Wenn Sie darüber besorgt sind, empfehle ich eine USV (obwohl dies teuer schnell geht , wenn Sie eine große Anzahl von Computern haben)
David

7
Immer ist ein großes Wort, es ist auch falsch. Windows kann während eines Stromausfalls beschädigt werden. Warum haben Sie keine Batterie-Backups und konfigurieren Ihr System so, dass es heruntergefahren wird? Ich kann mit Sicherheit sagen, dass jeder, der "immer" sagt, in 99,99999% der Fälle falsch liegt.
Ramhound

Antworten:


14

Ist Linux spröder als Windows?
Die Antwort lautet: Es kommt darauf an .

Wenn jemand in dieser Situation "Boot nicht möglich" sagt, übersetze ich es in "Dateisystembeschädigung" und die Antwort "Ja" oder "Nein" auf die ursprüngliche Frage hängt davon ab, welches Dateisystem Sie verwenden.

Windows bietet Ihnen nicht die gesamte Auswahl an Dateisystemen, die eine Linux-Box zulässt. Sie sehen fast nie ein Nicht-NTFS-Windows-System. In NTFS sind Dinge integriert, die bei Stromausfall helfen, z. B. Journaling und Dateitransaktionen , die im Falle eines Fehlers zurückgesetzt werden können.

Eine Linux-Box könnte dies haben und könnte es nicht. Es hängt alles davon ab, wie der Server eingerichtet wurde. Wenn der Server ext2 1 verwendet, können Sie im Falle eines Stromausfalls sehr anfällig für Dateibeschädigungen sein. Vergleichen Sie dies mit einem System, das so etwas wie Btrfs verwendet, das mehr Datenintegritätsfunktionen als NTFS bietet.

Wenn der Systemadministrator, mit dem Sie gesprochen haben, jemals nur mit ext2-Systemen gearbeitet hat, könnte er sehr gut Recht haben, aber wenn Sie ein anderes Dateisystem verwenden, könnte er sich irren.


1: Ext2 war sehr lange die Standardeinstellung für Debian und Red Hat Linux. Es wurde jetzt größtenteils durch Ext3 ersetzt, das in Bezug auf Funktionen für die Datenintegrität eher mit NTFS vergleichbar ist.


Was ist mit den Dateisystemen mit Journaling und Dateitransaktionen, die nicht NTFS sind? Ich bestreite nicht, dass der Mangel an vollständiger und vollständiger Stromversorgung in Windows zu einer besseren Stabilität führen kann, wenn etwas unterbrochen wird.
Ramhound

3
Ich erwähne, dass Ext3 in meinem Hinweis unten die gleiche Stufe wie NTFS hat. Ich glaube, dass der Systemadministrator möglicherweise nur Ext2-Dateisysteme erlebt hat, und aus seiner Sicht hätte er Recht. Es ist, als ob Sie nur Fat32-Dateisystemen ausgesetzt wären und NTFS noch nie gesehen hätten. Sie würden Windows ähnlich sehen (Versionen von Windows unter Fat32 hatten eine schreckliche Geschichte der Dateibeschädigung bei Stromausfall)
Scott Chamberlain

Ich habe die Fußnote völlig verpasst :-(
Ramhound

+1 für den Verweis auf die verschiedenen verwendeten Dateisysteme und das Journaling.
Doktoro Reichard

Beste Antwort hier +1
Pimp Juice IT

3

Nein, Linux ist bei plötzlichen Stromausfällen nicht weniger robust als Windows. Was bei beiden Betriebssystemen passieren kann, ist, dass Daten genau in dem Moment in das Dateisystem auf der Festplatte geschrieben werden, in dem die Stromversorgung unterbrochen wird, und (historisch) könnte dies das Dateisystem beschädigen.

Die Lösung für dieses Problem besteht darin, ein Journal-Dateisystem zu verwenden, das aufgrund der Art und Weise, wie Informationen geschrieben werden, gegen dieses Problem immun ist. Die meisten neuen Dateisysteme - einschließlich Ext3 und ExT4 (die gängigsten Dateisysteme für Linux), wie ich glaube, auch NTFS. Solange Sie ein Journaling-Dateisystem verwenden, tritt dieses Problem nicht auf.

Wenn Sie später im Startvorgang eine Datenbank haben (ich sehe MYSQL, Postgres leidet nicht darunter), haben Sie möglicherweise analoge Probleme mit der MYSQL-Datenbank - MYSQL ist häufig nicht besonders robust (Google ACID-Konformität MYSQL für dieses Thema). Sie können dieses Problem umgehen, indem Sie beim Neustart eine Überprüfung der Indizes erzwingen, wenn Ihr MySQL-Setup nicht ACID-kompatibel ist.

Eine andere (etwas abgestumpfte und möglicherweise für Windows ungerechte) Ansicht könnte folgende sein: Linux-Boxen sind zuverlässiger als Windows-Boxen (gemessen an der Verfügbarkeit und der Notwendigkeit eines Neustarts). Daher ist es möglich, dass Linux-Boxen beim Neustart fehlschlagen, wenn sie fehlschlagen Hardwareproblem aufgrund des Alters und nicht aufgrund eines Softwareproblems - während eine fehlerhafte Windows-Box aufgrund häufigerer Neustarts möglicherweise früher erkannt wird)


1

Abhängig von der Distribution und dem Dateisystem, das Sie haben, kann es mehr oder weniger anfällig sein. Wenn Sie über einen geplanten Stromausfall Bescheid wissen, sollten Sie das System auf jeden Fall manuell herunterfahren (und die Zeit für Wartungsarbeiten wie das Staubsaugen der Systeme oder möglicherweise die Neuverkabelung nutzen ... Bei außerplanmäßigen Stromausfällen sollten Sie USV-Systeme mit Linux-Software zum Herunterfahren verwenden, damit Sie dies nicht tun Sie sollten sich trotzdem Sorgen machen. Sie sollten dies trotzdem ausführen. Für die meisten Linux-Distributionen ist eine APCUPSD-Datei verfügbar. Wenn dies nicht der Fall ist, überprüfen Sie mit Ihrer Distribution, was bereits darin enthalten oder verfügbar ist. Stellen Sie sicher, dass sie heruntergefahren wird Ihre Systeme sauber, bevor Sie sich darauf verlassen.


-9

Ich habe einige Nachforschungen zu dieser Frage angestellt und festgestellt, dass das, was meiner IT-Abteilung gesagt wird, im Wesentlichen korrekt ist. Linux ist für einen Stromausfall weitaus anfälliger als Windows. Der Grund dafür ist, wie die Inode-Tabelle unter Linux / Unix funktioniert. Da es sich um eine ungeordnete Liste handelt, die ständig geändert wird, gibt es keine Trennung zwischen wichtigen statischen Dateien wie Kernel-Binärdateien und wertlosen Dateien wie temporären Dateien. Dies bedeutet, dass die Inode-Einträge in kritische Systemdateien ständig neu geschrieben werden, was offensichtlich ein sehr schlechtes Design ist. Bei kritischen Systemdateien ist es tatsächlich wahrscheinlicher, dass ihre Inode-Einträge zu einem bestimmten Zeitpunkt geschrieben werden, als bei nicht wesentlichen Dateien. Wenn der Strom ausfällt, wird der Teil der Inode-Tabelle, der gerade geschrieben wurde, weggeblasen, der wahrscheinlich keine Zeiger auf Systemdateien enthält. Die Systemdateien selbst sind in Ordnung und intakt, aber das Verzeichnis, in dem sie gefunden werden, ist beschädigt. Die Situation wird durch das Zwischenspeichern von Datenträgern verschlimmert, wodurch die beschädigten Bereiche der Inode-Tabelle vergrößert werden.

In Windows ist sogar das alte FAT-Dateisystem wesentlich robuster. FAT hat auch eine Tabelle, aber es ist eine geordnete Tabelle, so dass keine Systemdateien mit temporären Dateien verwechselt werden. Normalerweise befinden sich die Systemdateien insgesamt in einem Bereich des Verzeichnisses, und es ist unwahrscheinlich, dass dieser Bereich sehr oft geschrieben wird. Außerdem verfügt FAT über ein Sicherungsverzeichnis. Selbst wenn das Verzeichnis beschädigt ist, wird nur auf die Sicherung zurückgegriffen. Dies bedeutet, dass der Benutzer mit FAT bei einem Stromausfall wahrscheinlich keine Dateilinks verliert, auch keine temporären Dateien. Unter Linux ist es jedoch praktisch garantiert, dass der Benutzer bei einem Stromausfall den Zugriff auf Dateien verliert, da die Inode-Tabelle ständig geschrieben wird.

Das einzige, was Sie tun können, um dies zu mildern, ist das Deaktivieren des Festplatten-Caching.


2
-1. Bitte unterstützen Sie Ihre Ansprüche mit Links, Artikeln, Quellen usw. und ich werde meine Ablehnung widerrufen. Auf welche Linux-Dateisysteme beziehen Sie sich?
Kamil Maciorowski

Tyler - Sie haben die Antwort von Scott Chamberlain auf Ihre Frage gelesen, richtig? Sind Sie zu 100% sicher, dass die Art und Weise, wie Sie diese Inode-Tabelle zum Speichern von Zeigern für Linux-Dateien einschließlich Betriebssystemdateien erläutern, für alle aktuellen Linux-Dateisysteme funktioniert, da Sie mehr als nur eines auswählen können, wie erläutert, und einige haben diese mehr robuste Datei-Metadaten Inode / Journaling / Transaktionskontrollen als andere, einschließlich einiger, die leistungsfähiger sind als sogar NTFS, wie erläutert? Vielleicht sind Sie Systeme oder das, über das Sie geschrieben haben, liegt an der Verwendung eines älteren Linux-Dateisystems und wählen Sie daher mit Bedacht aus?
Pimp Juice IT

Der Hauptgrund, warum ich diese Antwort - und die ganze Frage - als Witz empfinde, ist, dass Linux / Unix das Internet und nicht Windows antreibt. Wenn Ausfälle Linux / Unix-Systeme so leicht wegblasen können, kann das Internet nicht funktionieren. Außerdem wären Router, die Linux verwenden, dann nutzlos, wenn sie routinemäßig schnell ein- und ausgeschaltet werden.
JakeGould

Diese Antwort ist nicht nur schlecht; Es ist einfach Unsinn. Keine der in dieser Antwort genannten Tatsachen ist auch nur annähernd zutreffend.
Abenddämmerung -inaktiv-
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.