EXT4 FS-Prüfung beim Start: Bedingungen für die Erklärung als sauber

EXT4 FS-Prüfung beim Start: Bedingungen für die Erklärung als sauber

1 Festplatte mit 4 EXT4-Dateisystemen, nennen wir sie A(1,2,3,4), jedes davon erhält einen Eintrag in meiner fstab, wird aber nur sehr selten gemountet, die Festplatte wird beim Initialisieren sogar über udiskctl ausgeschaltet.

1 Festplatte mit 8 EXT4-Dateisystemen, jedes davon erhält einen Eintrag in meiner fstab, 4 davon, sagen wir B(1,2,3,4), werden beim Initialisieren automatisch gemountet, die vier anderen, sagen wir C(1,2,3,4), werden gelegentlich bei Bedarf gemountet.

Unter diesen Bedingungen (A(1,2,3,4) nicht gemountet und zugehöriges Laufwerk ausgeschaltet; keines der C(1,2,3,4)-Dateisysteme gemountet) und aus irgendeinem Grund (Stromausfall, Kernel Panic, Hard Reset…) wird das System nicht normal heruntergefahren.
Beim nächsten Neustart wird jedes dieser Dateisysteme überprüft.

Alle Dateisysteme, die zum Zeitpunkt des abnormalen Herunterfahrens nicht gemountet waren, werden schnell als sauber bezeichnet:

F1:Ist diese Schlussfolgerung auf die alleinige Lektüre des Superblocks zurückzuführen?s_zustandFeld oder werden andere Prüfungen durchgeführt?

F2:Hängt es von den Gründen ab, die das abnormale Herunterfahren ausgelöst haben, und davon, ob das zugrunde liegende Laufwerk mit Strom versorgt wurde oder nicht?

F3:Werden diese Prüfungen fsck anweisen, das Dateisystem zu mounten?

F4:Obwohl diese sauberen Status auf der Konsole gemeldet werden, warum kann ich diese Berichte nicht in meinen Kernel-Protokollen (oder anderen Protokollen) finden, während Traces für die Dateisysteme, die tatsächlich repariert und schließlich aus dem Journal wiederhergestellt werden mussten, dort angezeigt werden?


Unter Linux-5.4 / e2fsck 1.46.5 /openrcals Init-System undMetallogfungiert als Syslog-Daemon, falls das wichtig ist. Die
wichtigsten Regeln von Metalog:

Kernel messages :
        facility        = "kern"
        logdir          = "/var/log/kernel"
        break=1
Fallback:
        facility        = "*"
        minimum         = 6
        logdir          = "/var/log/fallback"

Antwort1

Bitte stellen Sie nicht mehrere Fragen.

Wenn eine Partition mountbearbeitet wird, kopiert der Dateisystemcode die Blockzuordnungstabellen der Partition in den Speicher und kennzeichnet die Tabellen der Festplatte als „muss wiederhergestellt werden“.

Der Dateisystemcode verwaltet die Blockzuweisung mit Speichergeschwindigkeit, die VIEL schneller ist als die Festplattengeschwindigkeit.

In regelmäßigen Abständen werden die im Arbeitsspeicher befindlichen Tabellen auf die Festplatte zurückgeschrieben, um sie relativ aktuell zu halten und um zu vermeiden, dass sie alle gleichzeitig im Arbeitsspeicher behalten werden müssen.

Wenn die Partition umountbearbeitet wird, werden die Tabellen im Arbeitsspeicher auf die Festplatte geschrieben (wobei das Flag „muss wiederhergestellt werden“ gelöscht wird). Die Tabellen im Arbeitsspeicher werden verworfen.

Wenn das System abstürzt, gehen die aktuellen Tabellen im Arbeitsspeicher verloren und auf der Festplatte ist das Flag „Wiederherstellung erforderlich“ immer noch gesetzt.

Wenn das Dateisystem zum Booten benötigt wird ( /etc/fstabEintrag hat auto) und das Flag „muss wiederhergestellt werden“ auf der Festplatte gesetzt ist, wird ein dateisystemspezifischer Vorgang fsckausgeführt (z. B. fsck.ext4für ext4Dateisysteme), um das Dateisystem „wiederherzustellen“ – die Blockzuordnungstabellen „richtig“ zu machen (Datenverlust minimieren, sicherstellen, dass keine Blöcke weder frei noch verwendet sind, …), Blöcke beibehalten, die während „Wiederherstellung erforderlich“ geschrieben wurden, usw. Da der Vorgang fsckseine eigenen Tabellen erstellt, kann die Festplatte nicht mountbearbeitet werden, und außerdem ist für die Festplatte das Flag „muss wiederhergestellt werden“ gesetzt, bis der Vorgang fsckerfolgreich ist.

Diese vom System verursachte Pre-Mount- fsckAktivität findet statt, bevor der Bootvorgang hoch genug ist, um die Nachrichten wirklich zu protokollieren, aber versuchen Sie es dmesg.

Danke, LustreOne,

Beim Mounten prüft e2fsck sowohl das Journal-Flag „muss wiederhergestellt werden“ als auch eine grundlegende Prüfung der Superblock- und Gruppendeskriptorblöcke, die zum Mounten des Dateisystems erforderlich sind. Wenn „muss wiederhergestellt werden“ gesetzt ist, wird das Journal erneut abgespielt. Wenn andere Fehler gefunden werden, wird ein vollständiges e2fsck des Dateisystems ausgeführt. – LustreOne

verwandte Informationen