Wie kann ich ext4 auf Zuverlässigkeit optimieren?

11

Gibt es eine Chance, anzunehmen, dass ext4 zu 100% zuverlässig ist, da ext4 mit Blockjournalen als zuverlässiger als ext3 eingeführt wurde? Was ist, wenn das Blockjournal aktiviert ist, das standardmäßig deaktiviert ist?

Als Leitfaden für Freunde, um meinen Fall genauer zu erläutern: Ich habe ein eingebettetes Linux-Gerät, nach der Installation sind Tastatur und Monitor abgenommen und es funktioniert eigenständig.

Meine Aufgabe ist es, sicherzustellen, dass es ein zuverlässiges Dateisystem hat, damit bei Fehlern keine Möglichkeit besteht, Fehler am Gerät manuell zu korrigieren. Ich kann meinen Kunden nicht zwingen, mit jedem Gerät ein Ups zu verwenden, um sicherzustellen, dass kein Fehler durch Stromausfall auftritt.

Was kann ext4 mir außer Block Journaling noch bieten?

Danke im Voraus.

Amin
quelle
Ich weiß, dass ich einige Kompromisse bei der Aktivierung von Funktionen wie
Blockjournal habe
Siehe auch: serverfault.com/questions/244095/how-to-make-ext4-more-reliable , geschlossen, weil es zu mehrdeutig ist.
Olli
Ja, ich habe dort meine Frage gestellt und es gab keine Hilfe, die gerade geschlossen wurde! Mein Linux-System ist ein eingebettetes System ohne Monitor oder Tastatur. Ich möchte, dass es bei Stromausfall usw. zuverlässiger ist. Ich weiß, dass Blockjournaling eine Möglichkeit ist, aber ich möchte wissen, ob es weitere Optionen gibt. Ich kann meinem Kunden nicht anbieten, für jedes Gerät ein Ups zu haben.
Amin
1
@amin Die Informationen zu Ihrem Anwendungsfall wären in Ihrer Frage nützlicher. Deshalb wurde sie wahrscheinlich geschlossen, weil sie zu vieldeutig sind. Fügen Sie Ihrer Frage weitere Informationen hinzu!
Jorge Castro
2
Die Frage ist zu vage. Was bedeutet "100% zuverlässig"? Angenommen, mit "Blockjournalisierung" meinen Sie Daten = Journal, dann ist das nur eine riesige Zeitverschwendung. Der FS ist von Natur aus zuverlässig. Ein Tagebuch stellt nur sicher, dass Sie nach einem Absturz nicht lange warten müssen.
Psusi

Antworten:

11

Nein. Sie können niemals davon ausgehen, dass etwas 100% zuverlässig ist.

Journaling-Dateisysteme minimieren den Datenverlust bei einem unerwarteten Ausfall. Ausmaße und Hindernisse helfen noch mehr, können aber nicht alle damit verbundenen Probleme beseitigen. Persönlich habe ich noch nie einen Datenverlust aufgrund einer Beschädigung des Dateisystems bei der Verwendung von Journal-Dateisystemen erlebt.

Außerdem ist das Journaling standardmäßig nicht deaktiviert.

Hier ist ein guter Überblick über ext4 und seine Verbesserungen: http://kernelnewbies.org/Ext4

djeikyb
quelle
1
+1 für "Sie können nie annehmen, dass etwas 100% zuverlässig ist"
Lekensteyn
als Comparison_of_file_systems Block Journaling ausgeschaltet ist , während Metadata Journaling ist, dass die zwischen Zuverlässigkeit und Geschwindigkeit abwägen
amin
Ich hatte gerade einen Neustart des Servers, um eine massive Datenbeschädigung in ext4 zu finden, wo Dateien ungültige Daten enthalten. Dies konnte auf zfs oder btrfs nicht geschehen sein, da Daten Prüfsummen enthalten.
user239558
5

Eine neue Funktion, die ext4 hinzugefügt und mit Kernel 3.5 eingeführt wurde, ist die sogenannte Metadatenprüfsumme. Dies ist eine weitere Funktion von ext4, die die Zuverlässigkeit und Integrität der Struktur des Dateisystems verbessern soll.

Die Gesamtimplementierung wird bei Kernel-Neulingen gut erklärt :

Moderne Dateisysteme wie ZFS und Btrfs haben bewiesen, dass die Gewährleistung der Integrität des Dateisystems mithilfe von Prüfsummen eine wertvolle Funktion ist. Ext4 hat die Möglichkeit hinzugefügt, Prüfsummen verschiedener Metadatenfelder zu speichern. Jedes Mal, wenn ein Metadatenfeld gelesen wird, wird die Prüfsumme der gelesenen Daten mit den gespeicherten Prüfsummen verglichen. Wenn sie unterschiedlich sind, bedeutet dies, dass die Medaten beschädigt sind (beachten Sie, dass diese Funktion keine Daten abdeckt, sondern nur die internen Metadatenstrukturen und es hat keine "Selbstheilungskräfte").

Jedes ext4-Dateisystem kann mit dem Befehl "tune2fs -O metadata_csum" oder "mkfs -O metadata_csum" zur Erstellungszeit aktualisiert werden, um Prüfsummen zu verwenden. Sobald diese Funktion in einem Dateisystem aktiviert ist, können ältere Kernel ohne Prüfsummenunterstützung sie nur im schreibgeschützten Modus bereitstellen.

Artikel wie dieser auf kernel.org erläutern ausführlich, wie die Verwendung von Metadatenprüfsummen verhindern kann, dass beschädigte Metadaten die Dateisystemstruktur beschädigen.

Der Artikel warnt jedoch auch davor:

Der Metadaten-Prüfsummencode wurde unter Linux 3.5 in die Hauptzeile aufgenommen und ab 3.7-rc1 werden einige Benutzertests durchgeführt. Dieser Code ist noch nicht ganz solide.

Es ist in Ubuntu 12.10 nicht standardmäßig aktiviert, und es ist wahrscheinlich am besten, es für den Moment nach den jüngsten Problemen mit dem ext4-Dateisystem nicht zu aktivieren, wie hier angegeben .


quelle
1

Sie könnten die verzögerte Zuweisung unter ext4 (nodelalloc) deaktivieren. Dies würde die Wahrscheinlichkeit erheblich erhöhen, dass Sie mehr Daten wiederherstellen, wenn Sie während eines Schreibvorgangs einen Stromausfall erleiden. Dies würde jedoch zu einer stärkeren Fragmentierung der Datei führen System im Laufe der Zeit.

user3495444
quelle