Kürzlich habe ich gesehen, dass das Root-Dateisystem eines Computers in einem Remote-Rechenzentrum aufgrund von Konsistenzproblemen wieder schreibgeschützt 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 übernommen haben Y, wurden die Fehler behoben und das System ist nun in Ordnung.
Nun, ich denke, es wäre interessant, wenn fsck so konfiguriert wäre, dass es alles automatisch ausführt und repariert, da die einzige Alternative in einigen Fällen (wie dieser) darin besteht, persönlich zum entfernten Rechenzentrum zu gehen und eine Konsole an den betroffenen Computer anzuschließen.
Meine Frage ist: warum fragt fsck standardmäßig nach manuellen Eingriffen? Wie und wann wäre eine Korrektur durch ein solches Programm unsicher? In welchen Fällen möchte der Systemadministrator eine vorgeschlagene Korrektur für einige Zeit beiseite lassen (um andere Vorgänge auszuführen) oder sie insgesamt abbrechen?
quelle
Antworten:
fsck
Verursacht definitiv mehr Schaden als Nutzen, wenn die zugrunde liegende Hardware irgendwie beschädigt ist. Eine fehlerhafte CPU, ein fehlerhafter RAM, eine sterbende Festplatte, ein fehlerhafter Festplattencontroller ... in diesen Fällen ist mehr Korruption unvermeidlich.Im Zweifelsfall ist es eine gute Idee, ein Image der beschädigten Festplatte mit
dd_rescue
einem anderen Tool zu erstellen und dann zu prüfen, ob Sie das Image erfolgreich reparieren können. Auf diese Weise steht Ihnen immer noch das ursprüngliche Setup zur Verfügung.quelle
Sie haben ein Beispiel gesehen, in dem es
fsck
funktioniert hat, aber ich habe mehr als genug beschädigte Dateisysteme gesehen, in denen es überhaupt nicht erfolgreich funktioniert hat. Wenn dies vollautomatisch funktioniert, haben Sie möglicherweise keine Möglichkeit, einendd
Speicherauszug oder Ähnliches zu erstellen, was in vielen Fällen eine hervorragende Idee wäre, bevor Sie versuchen, eine Reparatur durchzuführen.Es ist niemals eine gute Idee , überhaupt so etwas Automatisches auszuprobieren.
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.
quelle
fsck -p /
undfsck -p /var
usw. einwandfrei funktionieren und der Server ohne manuelle Eingriffe hochgefahren wird, und das Risiko eingehen, dass die Partitionen, die ich bei Bedarf einfach neu erstellen kann, eine kleine Katastrophengefahr darstellen, die nicht bei null Prozent liegt .fsck
Lassen Sie jemanden putzen, und dann funktioniert alles einwandfrei. Dauert etwa 2 Minuten, wenn das so ist. Ausfallzeit bis dies passiert. C) Lassen Sie das Betriebssystem erneut installieren. Dauert 30+ Minuten. Sie wählen Option C? Möglicherweise besteht ein wesentlicher Unterschied darin, dass ich infsck
einem größeren Prozentsatz der Zeit gearbeitet habe, als Sie in Ihrer Antwort angegeben haben. Mein wichtigster Punkt war nicht das Systemdesign (dieses billige System verwendet keine Remote-Konsole), sondern nur der Satz " Nie, nie " war zu stark, um genau zu seinZuallererst 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 einem Systemreset zu 100% konsistent.
Nicht journalisierte FS wie ext2 oder vfat sind eine große NOGO für ein System-Rootfs.
Wenn Ihr System beim Booten ein fsck benötigt, sollten Sie sich fragen: Was war der Grund dafür?
Sie sollten anschließend Ihre Kernel-Protokolle untersuchen, um herauszufinden, wann und was passiert ist. Sie sollten auch in den Protokollen nach dem Zeitpunkt suchen, zu dem der Fehler aufgetreten ist. Sie sollten Ihre Festplatten mit smartctl überprüfen. Etc ... Wenn Sie ein Fsck für eine journalisierte Fs benötigen, ist es so gut wie sicher, dass Ihre Hardware ausfällt, vorausgesetzt, die Fs wurde nicht von einem Administrator (mit Tools auf Blockebene wie dd) oder durch einen Fehler beschädigt.
Daher ist es 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).
Einen Fsck zu machen, den Boot abzuschließen und glücklich zu sein, ist, gelinde gesagt, naiv. Ich frage mich, was Sie mit "fsck work" meinen, wenn ich sage, dass ich in einem größeren Prozentsatz der Zeit fsck work hatte, als Sie angegeben haben. Möglicherweise hat fsck Ihren fs durch den Verlust einiger Dateien und Daten wieder in einen konsistenten Zustand versetzt ... Haben Sie einen Vergleich mit einer Sicherung angestellt? Viele Leute verlieren Dateien oder bekommen Dateidatenkorruption, ohne es zu merken ...
quelle