it-swarm.com.de

Wann ist fsck gefährlich?

Kürzlich habe ich gesehen, dass das Root-Dateisystem eines Computers in einem Remote-Datencenter aufgrund von Konsistenzproblemen schreibgeschützt erneut bereitgestellt wird.

Beim Neustart wurde dieser Fehler angezeigt:

UNEXPECTED INCONSISTENCY: RUN fsck MANUALLY (i.e., without -a or -p options)

Nachdem Sie fsck wie vorgeschlagen ausgeführt und die Korrekturen manuell mit akzeptiert haben Ywurden die Fehler behoben und das System ist jetzt in Ordnung.

Ich denke, es wäre interessant, wenn fsck so konfiguriert wäre, dass alles automatisch ausgeführt und repariert wird, da die einzige Alternative in einigen Fällen (wie dieser) darin besteht, persönlich zum Remote-Rechenzentrum zu gehen und eine Konsole an den betroffenen Computer anzuschließen.

Meine Frage ist: Warum fordert fsck standardmäßig einen manuellen Eingriff an? Wie und wann wäre eine von einem solchen Programm durchgeführte Korrektur unsicher? In welchen Fällen möchte der Systemadministrator eine vorgeschlagene Korrektur möglicherweise für einige Zeit beiseite lassen (um andere Vorgänge auszuführen) oder sie insgesamt abbrechen?

37
scristalli

fsck verursacht definitiv mehr Schaden als Nutzen, wenn die zugrunde liegende Hardware irgendwie beschädigt ist; schlechte CPU, schlechter RAM, eine aussterbende Festplatte, fehlerhafter Festplattencontroller ... in diesen Fällen ist mehr Korruption unvermeidlich.

Im Zweifelsfall ist es eine gute Idee, nur ein Image der beschädigten Festplatte mit dd_rescue oder ein anderes Tool, und prüfen Sie dann, ob Sie das Image erfolgreich reparieren können. Auf diese Weise steht Ihnen noch das ursprüngliche Setup zur Verfügung.

41

Sie haben ein Beispiel gesehen, in dem fsck funktioniert hat, aber ich habe mehr als genug beschädigte Dateisysteme gesehen, in denen es nicht erfolgreich funktioniert hat alle. Wenn es vollautomatisch funktioniert, haben Sie möglicherweise keine Möglichkeit, Dinge wie einen dd-Festplattenspeicherauszug oder ähnliches auszuführen, was in vielen Fällen eine hervorragende Idee wäre, bevor Sie eine Reparatur versuchen.

Es ist niemals, niemals eine gute Idee, so etwas automatisch zu versuchen.

Oh, und moderne Server sollten über Remote-Konsolen oder zumindest unabhängige Rettungssysteme verfügen, um sich von so etwas zu erholen, ohne ein KVM Rack) an den Server zu schleppen.

20
Sven

Zunächst müssen Sie verstehen, dass bei modernen (journalisierten) Dateisystemen ein Systemabsturz das Dateisystem nicht beschädigt und beim Booten kein fsck erforderlich ist.

Ext3, Ext4, ZFS, btrfs, xfs und alle modernen FS sind nach einem Absturz oder Systemreset zu 100% konsistent.

Nicht journalisiert FS wie ext2 oder vfat sind ein großer NOGO für ein System rootfs.

Wenn Ihr System beim Booten einen fsck benötigt, sollten Sie sich fragen: Was war der Grund dafür überhaupt?

Sie sollten anschließend Ihre Kernel-Protokolle untersuchen, um herauszufinden, wann und was passiert ist. Sie sollten auch in den Protokollen in der Zeit zurückgehen, um festzustellen, seit wann der Fehler aufgetreten ist. Sie sollten Ihre Festplatten mit smartctl überprüfen. Usw. ... Wenn Sie einen fsck für einen journalisierten fs benötigen, ist es praktisch sicher, dass Ihre Hardware ausfällt, vorausgesetzt, der fs wurde nicht von einem Administrator (mit Tools auf Blockebene wie dd) oder durch einen Fehler beschädigt.

Es ist also albern, fsck zu verwenden, um das Problem zu "beheben", ohne die Grundursache zu untersuchen und zu beheben (durch Ersetzen/Aktualisieren der fehlerhaften Hardware/Firmware/Software).

Ein fsck zu machen, den Boot zu beenden und glücklich zu sein ist gelinde gesagt naiv. Wenn ich sage "Ich habe fsck in einem größeren Prozentsatz der Zeit arbeiten lassen als Sie zitieren", frage ich mich, was Sie mit "fsck Arbeit" meinen. fsck hat möglicherweise Ihre fs wieder in einen konsistenten Zustand gebracht, indem einige Dateien und Daten verloren gegangen sind ... Haben Sie mit einem Backup verglichen? Viele Leute verlieren Dateien oder bekommen Dateidatenbeschädigung, ohne es zu merken ...

0